
제가 작업 중인 몇 가지 PE 핵 기법(셸코드 로더, 패커, 모두 작업 중)
이 저장소에는 제가 PE(portable executable) 파일 수정 작업에 사용하는 일종의 놀이터가 있습니다. 이 코드는 Windows용 LLVM으로 컴파일해야 합니다. 왜냐하면 일반 Win32 CRT의 사용을 대체하기 위해 일부 내장 함수(예: memset)를 교체/재정의하기 때문입니다.
shellcode 프로젝트에는 .exe 파일로 컴파일될 셸코드가 포함되어 있습니다. extract.py 스크립트는 컴파일된 코드를
.exe 파일에서 추출하여 shellcode.bin 파일로 만들며, 이는 네이티브 Win32 애플리케이션에서 셸코드로 로드할 준비가 된 상태입니다.
shellcode_test는 이를 테스트하기 위한 기본 셸코드 로더를 구현합니다.
이 파일들에는 Win32 API 관련 작업에 사용되는 몇 가지 기본 지원 헤더와 기본 CRT 대체 기능이 추가되어 있습니다.
로깅 및 디버그 콘솔(실행 가능한 명령 포함)을 위한 몇 가지 도우미 함수가 포함되어 있습니다. 아직 특별한 용도는 없지만, 분명히 이에 대한 목적을 찾게 될 것입니다.
나중에 .exe 파일 패커(이것이 로더가 될 것입니다)를 작성하는 데 사용될 스텁 PE 파일입니다.
제 PE 패커를 테스트하는 데 사용할 기본 C/C++ 애플리케이션이 포함되어 있습니다.