분류 전체보기172 랜덤 비밀번호 찾기 프로그램 랜덤한 비밀번호를 생성하고 그 랜덤생성한 비밀번호를 맞추기위해 랜덤한 비밀번호를 때려박는(?) 프로그램을 만들어보았다. 비밀번호 길이가 길면 길수록 맞추는데 시간이 너무 오래걸려서 3자리수로 진행해보았다. 랜덤하게 생성된 비밀번호는 "wR>" 이였으며 비밀번호 찾기버튼을 클릭하면 자동으로 생성된 비밀번호와 일치할떄까지 계속해서 찾는다. 3자리 비밀번호를 찾는데 29초가 걸렸다.(출력하지 않으면 더 빠른 속도로 해결 가능) 파이썬으로 개발했으며 코드는 아래와 같다. import sys import time import random from PySide6.QtWidgets import QMainWindow, QApplication from PySide6.QtCore import Slot, Signal, QO.. 2023. 5. 13. 디지털 포렌식이란 ? 디지털 포렌식은 digital과 '법의학의, 범죄 과학수사의' 라는 뜻의 forensic이 합쳐진 것이다. 말 그대로 디지털 범죄 과학 수사를 의미하는 것이다. 디지털 포렌식 수사란 PC, 노트북, 스마트폰 등 각종 저장장치나 인터넷에 남아있는 디지털 정보를 분석하여 범죄 단서를 찾는 수사 기법을 말한다. 진정한 의미의 디지털 포렌식은 단순히 데이터 복구로 끝나는 것이 아닌 복구한 데이터를 민형사 사건의 증거 자료로 사용할수 있어야함. 증거 자료로 사용하려면 마구잡이로 복구해서는 안되고 데이터 무결성 원칙을 지켜서 복구 해야합니다. 무결성을 지키기 위해서 디스크 이미징 기술을 사용하고, 또 데이터의 위변조가 일어나지 않았다는 것을 입증하는 포렌식 증거 감정서를 발행하는데 이 포렌식 증거 감정서는 법정효력.. 2023. 4. 25. 조건부 점프 명령어 플래그 설명 JZ / JE ZF = 1 0이면 점프 / 같으면 점프 JNZ / JNE ZF = 0 0이 아니면 점프 / 같지 않으면 점프 JS SF = 1 부호인 경우 점프 JNS SF = 0 부호가 아닌 경우 점프 JC / JB / JNAE CF = 1 캐리 시 점프 / 미만(below)이면 점프 / 이상(above or equal)이 아니면 점프 JNC / JNB / JAE CF = 0 캐리가 아닌 경우 점프 / 미만이 아닌 경우 점프 / 이상이면 점프 JO OF = 1 오버플로 되면 점프 JNO OF = 0 오버플로 되지 않으면 점프 JA / JNBE CF = 0 및 ZF = 0 초과(above)하면 점프 / 이하(below or equal)가 아니면 점프 JNA / JBE CF = 1 또는.. 2023. 4. 17. PE parsing - IMAGE_NT_HEADER IMAGE_NT_HEADER 는 ImageBase로 부터 IMAGE_DOS_HEADER->e_lfanew 만큼 떨어져있습니다. int main(void) { HMODULE module_base = GetModuleHandle(NULL); LPVOID base_addr = (LPVOID)module_base; PIMAGE_DOS_HEADER dos_header = (PIMAGE_DOS_HEADER)base_addr; PIMAGE_NT_HEADERS nt_header = (PIMAGE_NT_HEADERS)((UINT_PTR)base_addr + dos_header->e_lfanew); std::cout 2023. 4. 8. PE parsing - IMAGE_DOS_HEADER PE 헤더의 IMAGE_DOS_HEADER 구조체를 파싱합니다 int main(void) { HMODULE module_base = GetModuleHandle(NULL); LPVOID base_addr = (LPVOID)module_base; PIMAGE_DOS_HEADER dos_header = (PIMAGE_DOS_HEADER)base_addr; std::cout 2023. 4. 8. 디버깅 관련 API API 이름 설명 CheckRemoteDebuggerPresent 프로세스가 디버깅 되고 있는 지 확인 ContinueDebugEvent 디버거가 디버깅 이벤트를 보고한 쓰레드를 계속 수행함 DebugActiveProcess 디버거가 동작 중인 프로세스에 연결하여 디버깅할 수 있게 함 DebugActiveProcessStop 특정 프로세스의 디버깅을 멈춤 DebugBreak 현재 프로세스에 중단점 예외 처리를 발생시킴 DebugBreakProcess 특정 프로세스에 중단점 예외 처리를 발생시킴 DebugSetProcessKillOnExit 쓰레드가 종료될 때 수행할 행위를 설정함 FatalExit 실행 제어를 디버거로 전달함 FlushInstructionCahce 특정 프로세스에 대한 명령어 캐시를 비움.. 2023. 4. 1. 이전 1 ··· 6 7 8 9 10 11 12 ··· 29 다음 반응형