이 저장소에는 리버스 엔지니어링 및 악성 코드 분석을 학습하는 데 도움이 되도록 설계된 여러 프로그램이 포함되어 있습니다. 프로그램의 종류는 컨셉별로 정리되어 있는데, 루트 폴더 구조를 통해 확인할 수 있습니다. 컴파일된 바이너리와 함께 소스 코드가 각 디렉터리에 제공됩니다.
저는 온라인 비디오와 강좌를 통해 이러한 많은 프로그램에 대해 논의하고 있으며 다음과 같은 내용이 도움이 될 수 있습니다.
x86 어셈블리 시작하기 - YouTube 재생 목록
리버스 엔지니어링 시작하기 - YouTube 재생 목록 및 Pluralsight의 전체 과정
Ghidra에서 C++ 개체 분석 - YouTube 재생 목록
IDA Pro에서 C 구조 분석 - YouTube 재생 목록
PE(Portable Executable) 파일의 필수 요소 - YouTube 재생 목록
이러한 프로그램은 Microsoft의 C/C++ 컴파일러로 컴파일되도록 만들어졌습니다. 무료/커뮤니티 버전을 설치한 후 Developer Command Prompt
사용하여 cl
사용하여 컴파일할 수 있습니다. 이 명령의 예는 다음과 같습니다.
cl <path/to/source_code>
그러면 입력 파일 이름을 사용하여 .obj
및 .exe
라는 두 개의 파일이 생성됩니다. 일반적으로 .obj
파일은 무시할 수 있으며 .exe
가 분석 대상입니다. 결과 바이너리에서 원하는 효과를 얻기 위해 때때로 특정 컴파일러 플래그가 사용된다는 점에 유의하십시오. 이러한 컴파일러 플래그는 관련 비디오에서 식별되거나 특정 폴더의 README에 기록됩니다.