
Unicorn Framework로 작성된 셸코드 에뮬레이터, 프로세스 덤프 에뮬레이션 환경 포함
ShellcodeEmulator는 windbg 프로세스 메모리 덤프를 사용하여 Windows 셸코드를 에뮬레이션합니다. 분석할 셸코드를 모든 Windows 프로세스 덤프 이미지와 함께 제공할 수 있습니다. 이 도구는 셸코드 바이트와 제공된 덤프 이미지를 사용하여 사용자 영역 코드를 최대한 에뮬레이션합니다.
셸코드가 사용하는 API 호출과 커널 계층 사이에 사용자 정의 시스템 호출 핸들러나 모든 핸들러를 추가할 수 있습니다. 이를 통해 사용자 스택의 전체 뷰를 제공할 수 있습니다. 이는 더 높은 호출 스택 수준에서 느슨한 API 후크를 우회하는 셸코드를 조사할 수 있게 해줍니다.
WinDbg 설치
ShellcodeEmulator 설치
pip install git+https://github.com/ohjeongwook/ShellcodeEmulator --upgrade
python -m pykdfix.fix_windbg_files
> python -m shellcode_emulator.run
Usage: run.py [options] args
Options:
-h, --help show this help message and exit
-b IMAGE_BASE, --image_base=IMAGE_BASE
Image base to load the shellcode inside process memory
-d DUMP_FILENAME, --dump_filename=DUMP_FILENAME
A process dump file from normal Windows process
-l LIST_FILENAME, --list_filename=LIST_FILENAME
A list filename generated by IDA (this can be used
instead of shellcode filename)
python -m shellcode_emulator.run wincalc.bin -d notepad.dmp