본문 바로가기

프로젝트4

키로그, 뷰어 프로그램 전체 코드 공유 ### 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.
뷰어 프로그램 기능구현, 드래그 앤 드롭 사용 # 뷰어 프로그램 UI구축 class viewer(QtWidgets.QWidget): def __init__(self): super().__init__() self.tb = QtWidgets.QTextBrowser(self) self.setAcceptDrops(True) layout = QtWidgets.QGridLayout() layout.addWidget(self.tb) self.setLayout(layout) # 드래그 한 무언가가 올라왔을때 작동 # 무언가에 주소값이 없다면 거절 def dragEnterEvent(self, e): if e.mimeData().urls() == []: e.ignore() else: e.accept() # 드래그한 무언가가 놓아졌을때(드래그이벤트가 거절되지 않아야 작.. 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.