본문 바로가기

프로그램6

키로그, 뷰어 프로그램 전체 코드 공유 ### co.la@kakao.com ### ### Pig_Cola ### from PyQt5 import QtWidgets, QtCore import sys,pickle,keyboard,time # 메인 프로그램 UI 및 슬롯 구축 class main(QtWidgets.QWidget): def __init__(self): super().__init__() self.setWindowFlag(QtCore.Qt.WindowMinimizeButtonHint,False) self.setWindowFlag(QtCore.Qt.WindowMaximizeButtonHint,False) self.setMinimumSize(178,45) self.pbt1 = QtWidgets.QPushButton('키로거', self) s.. 2020. 5. 20.
keyboard라이브러리 수정 키입력시 기록되는 부분을 확인해보면 _keyboard_event 모듈이었습니다. keyboard의 라이브러리 폴더에 있네요. 기본상태의 모듈입니다. win_title이란 변수를 만들어주고 전에 준비한 구문을 def로 둘러 전달할 내용을 return해줍니다. 새로 기록후 다시한번 디버깅을 해서 데이터를 확인해보니 오브젝트 들에게 win_title이라는 변수가 존재함을 확인할수 있었습니다. 이것을 뷰어에서 활요하면 좋을듯합니다. 2020. 5. 20.
활성화된 창이름,프로세스 이름 얻어오기 활성화 된 창의 핸들을 얻어와 창 이름과 프로세스 이름을 출력하는 간단한 구문. 이것을 키보드이벤트의 초기화 함수에 변형후 넣어주면 될거같다. import win32gui, win32process, psutil handle = win32gui.GetForegroundWindow() wintitle = win32gui.GetWindowText(handle) tid, pid = win32process.GetWindowThreadProcessId(handle) process_name = psutil.Process(pid).name() print(wintitle,process_name) 현재 활성화된 창의 handle값을 얻어온후 창이름과 프로세스 이름을 가져온다. 창이름은 핸들로 접근이 가능하며 프로세스 이름.. 2020. 5. 20.
키 기록부분 구현 및 자동저장 - 쓰레드 생성 # 백그라운드 쓰레드 구축(레코딩 프로그램에 들어감) class _record(QtCore.QThread): def __init__(self,selfs): super().__init__(selfs) self._state = False self.record = [] self.mutex = QtCore.QMutex() self._time = None def run(self): # 쓰레드에서 실행될 구문 while True: self.mutex.lock() if not self._state: self.recording() else: if time.time() - self._time >= 60: # 60초마다 저장한다 self.recording() self.mutex.unlock() def recording(s.. 2020. 5. 20.
기획 키보드 입력을 기록하는 keyloger만들기 1. gui는 qt를 이용 2. 키입력 레코딩은 keyboard 모듈 사용 3. 메인 프로그램 - 레코딩 프로그램 - 뷰어 프로그램 4. 키 입력시 활성화 되어있는 창 이름과 프로세스 이름 얻어오기 및 저장 5. pickle 모듈로 레코딩 데이터 이진파일로 저장 [메인 프로그램] 레코딩 프로그램과 뷰어 프로그램을 선택하여 실행할수 있도록 제작. (필수아님. 각각 프로그램으로 만들어도 될듯) [레코딩 프로그램] gui가 필요없지만 종료등의 편의를 위해 gui제작. 프로그램 실행시 자동으로 레코딩 시작. 일정 시간마다 레코딩 종료후 pickle모듈로 저장 및 레코딩 재실행 프로그램 종료시 진행중인 레코딩종료 및 저장 [뷰어 프로그램] pickle모듈로 저장된 이진.. 2020. 5. 20.
머신러닝 용어 및 개념 - 텐서플로우(tensorflow) 머신러닝이란? 직역 - 기계학습. 즉 기계 스스로 학습하는것. 알고리즘과 머신러닝의 차이 입력값이 순서대로 2, 3, 4일때. 알고리즘 3x+2와 같이 알고리즘이 정해져있음. [출력] 8, 11, 14 이때에 5를 입력시 17을 출력 머신러닝 Wx + b로 가설함수 수립. 입력값에 대한 출력값(데이터 표본)을 통한 학습 W = 3, b = 2와같이 학습이 완료됨 5입력시 17출력. Supervised learning 레이블을 사전에 정의해 줄수 있고 추후에 입력되는 데이터가 어떠한 레이블에 속하는지 예) 고양이, 개, 토끼 등이 학습된 상태에서 사진 입력시 어떤 동물인지 출력. Unsupervised learning 레이블을 사전에 정의해 줄수 없고 그때그때 판단해야 하는것 예) 연관된 뉴스 (비슷한 뉴.. 2020. 5. 18.