
Themida / Code Virtualizer / WinLicense(v3.0-v4) 자동 언패커 및 덤프 수정 도구
Themida로 보호된 바이너리를 위한 범용 언패커이자 런타임 보호 제거 도구입니다. Unthemidator는 바이너리를 실행하지 않으며, 호스트 머신에서 대상 바이너리가 사용하는 어떤 API도 호출하거나 syscall도 실행하지 않습니다.
Unthemidator는 x86(32비트)과 x86_64 / amd64(64비트) 변형 모두에서 모든 종류의 Windows 바이너리(dll, exe, sys 등)와 함께 동작합니다.
언패킹 후에는 전체 PE 재빌드가 수행되어, 언패킹된 바이너리를 실행 및 디버깅할 수 있게 됩니다.
언패킹과 PE 재빌드 외에도, Unthemidator는 바이너리에 사용된 Themida / Code Virtualizer 가상 머신의 버전을 식별할 수 있습니다.
패킹된 바이너리를 unthemidator로 끌어다 놓기만 하면 되며, 또는 Windows에서 다음 CLI 명령을 사용하십시오:
unthemidator.exe [options] {path_to_bin.exe|.dll|.sys|.bin}
Unix 기반 시스템에서 다음 CLI 명령을 실행합니다:
./unthemidator [options] {path_to_bin.exe|.dll|.sys|.bin}
PE는 파일 확장자가 .sys인 경우에만 커널 드라이버로 간주됩니다. 이는 기본적으로 모든 확장자를 가진 파일을 사용자 모드 애플리케이션으로 올바르게 파싱하기 위해 수행됩니다. 패킹된 커널 드라이버는 극히 드물며 안전하지 않은 시스템에서만 실행될 수 있다는 점도 언급할 필요가 없습니다.
아래는 모든 unthemidator 옵션에 대한 전체 개요입니다.
--out-file - 출력 파일 이름 / 경로. 기본값은 {program_name}.unpacked.{program_extension}입니다.--license-file - 라이선스 파일 이름 / 경로. WinLicense로 보호된 바이너리를 성공적으로 언패킹하려면 필요합니다.--imports-file - 임포트 정보를 저장할 파일의 이름(또는 경로). JSON이어야 합니다. 기본값은 {program_name}.imports.json입니다.--vms-file - VM 진입점 정보를 저장할 파일의 이름(또는 경로). JSON이어야 합니다. 기본값은 {program_name}.vms.json입니다.--vm-depth - 가상 머신 연구 및 가상 명령어 트레이싱을 위해, 몇 개의 가상화 계층을 단일 스텝으로 실행할지 지정합니다. 기본값은 0이며, VM 탐색을 수행하지 않습니다.--no-imp - 임포트 조회를 건너뜁니다.--no-startup - 런타임 시작 처리를 건너뜁니다. 이는 초기 부트 단계를 제외한 모든 언패킹을 방지합니다.--no-vm-lookup - 가상 머신 조회를 건너뜁니다.--no-loader - 안티 덤프 픽서 로더 생성을 건너뜁니다. OEP가 가상화되었거나 매크로별 보안 검사가 있는 경우 바이너리가 실행되지 않을 수 있습니다.일부 바이너리는 프로그램과 함께 제공되는 사용자 정의 모듈에 의존합니다. 이러한 바이너리를 언패킹하기 전에 모든 사용자 정의 모듈을
modules 디렉터리에 넣기만 하면 됩니다. 누락된 시스템 모듈에 대해서도 동일하게 수행할 수 있으며,
이는 Unix 시스템에서 unthemidator를 실행하는 경우 유용합니다.
문제가 있거나 의도한 대로 작동하지 않는(또는 전혀 작동하지 않는) 경우 이 저장소에 이슈를 생성하세요.
미리 컴파일된 unthemidator를 찾으려면 Releases 페이지를 확인하세요. 현재 다음 변형이 제공됩니다:
가상 머신을 포함한 Themida 난독화 내부 구조에 대해 자세히 알아보려면 다음 문서를 참조하세요: