
ACE .qvm0로 보호된 PE 이미지를 위한 정적 분석 및 구조 복구 툴킷
이들은 README와 사례 노트에 인용된 측정값을 산출하는 데 사용된 분석 드라이버입니다. 이들은 인자 기반이며 재사용 가능합니다: 각각은 명령줄에서 PE 경로(및 출력 경로)를 받습니다.
저장소 루트에서 실행하십시오. 예:
python scripts/extended_census.py <pe> <dynamic_edges.tsv>
| 스크립트 | 목적 |
|---|---|
verify_target_decodability.py | 대조군 모집단에 대한 네이티브->VM 대상의 디코드 밀도 검증 |
verify_dynamic_coverage.py | 실행된 코드가 분기 사이트와 겹치는지 증명하는 페이지 수준 집합 교집합 |
verify_dynamic_edges.py | 동적 vs 정적 엣지 집합의 상호 참조 및 경계 검증 |
opaque_coverage.py | 동적 패스가 도달한 정적으로 불투명한 사이트 집합의 비율 |
extended_census.py | 전체 간접 분기 센서스를 관측된 사이트와 대조 |
external_decryptor_scan.py | 형제 모듈에서 페이지 보호/매핑/쓰기 기능 스캔 |
task1_slice_all.py | 전체 정적 슬라이스: 관용구 해석 후 역방향 슬라이싱, 엣지 출력 포함 |
task1b_dynamic_codelike.py | 코드 유사 VM 항목으로 제한된 동적 엣지 복구 |
task2_realctx.py | 실제 호출 컨텍스트에서 에뮬레이션; 스택 프레임 슬롯 레이아웃 복구 |
task4_patch.py | 길이 보존 난독화 해제 패치 및 포함 검증 |
그중 몇 가지는 주장을 반증하기 위해 존재하며, 그래서 유지됩니다:
verify_target_decodability.py — 디코드 밀도 지표를 대조군 모집단과 비교합니다. 세 대상에 대한 표본 점검이 대표성이 없음을 보여준 스크립트입니다.verify_dynamic_coverage.py — 트레이서가 3M 명령어에 걸쳐 간접 분기를 0으로 보고했을 때, 그것이 아키텍처적 사실이 아니라 트레이서 버그임을 증명한 페이지 수준 집합 교집합입니다.extended_census.py — 원래의 간접 분기 센서스가 레지스터 형태만 일치시켰기 때문에 실제 모집단의 35%만 열거했음을 보여주었습니다.external_decryptor_scan.py — 형제 모듈에 걸친 기능 스캔; 그것이 세워진 가설은 이후 동적 무쓰기 관찰에 의해 반증되었고, 그 부정적 결과가 함께 기록되어 있습니다.정직하게 유지하십시오: 항상 확인만 하는 드라이버는 유지할 가치가 없습니다.