目的:??研究,??用...
(1)使用 PEiD 0.93 ,办?? Xprotector 1.07
(2)使用 LordPE ,dump full memory
劫果...不能 dump memory
(3) 由於 Xprotector 工作在 Ring 0 ,及有 anti Debug anti Dump
所以我?,必?借助,呃?工具 R0cmd,?看看,它在搞啥鬼....
(4)先抓出,未??的 SST AND IDT
r0cmd /dumpsst_nt:sst1.bin
r0cmd /viewidt:IDT1.txt
然後再 RUN XP.EXE
(5)再抓出,被修改的 SST AND IDT
r0cmd /dumpsst_nt:sst2.bin
r0cmd /viewidt:IDT2.txt
(6) 比蒉 SST1.BIN SST2.BIN 我??办?,有 7 ?位址,被改?
0044:SST1: 805957E4 ==>SST2: F39AEBC4 ==>NtAllocateVirtualMemory
00D4:SST1: 805B2404 ==>SST2: F39AECBE ==>NtCreateThread
00E8:SST1: 8061CBB4 ==>SST2: F39AF1A0 ==>NtDebugContinue
02C8:SST1: 8059B7AE ==>SST2: F39AEACA ==>NtQueryVirtualMemory
02E8:SST1: 8059C2DA ==>SST2: F39AE014 ==>NtReadVirtualMemory
0404:SST1: 805B3BF2 ==>SST2: F39AE9D0 ==>NtTerminateProcess
0454:SST1: 8059C3DE ==>SST2: F39AE000 ==>NtWriteVirtualMemory
(7) 抓出?,看看,?了啥??...
r0cmd /dump xp_sst.bin F39AE000 2000
用 W32Dasm 看看,办? Xprotector 代瘁
在位址 0xA20 判?值 47616420
(6) 再比蒉 IDT1.txt IDT2.txt 我??办?,有 3 ?中?,被改?
IDT1:1 interrupt 8:8053203C IDT2:1 interrupt 8:FFFFFFFF
3 interrupt 8:80532384 3 interrupt 8:FFFFFFFF
14 interrupt 8:80533EEC 14 interrupt 8:F8AAC000
我?可以办?,INT 1 AND INT 3 都? 0xFFFFFFFF,也就是,?使用
INT 1 或 INT 3 ?,??生 Page Fault ,也就等於是,?生 INT 14 中?
所以,它的秘密,在 INT 14 彦面,我? 抓出?,看看,?了啥??.
r0cmd /dump int14.bin F8AAC000 200
在位址 0x166 判?值 47616420
用 W32Dasm 看看,办?以 47616420 值,??定,是否要?生真正 INT 1 ,INT 3
在位址 0x166 判?值 47616420 ,我??修改 0x16c=74 19 => EB 19
(7)? SST ?原,及修正 INT 14 CODE
先用
r0cmd /dump INT14.BIN F8AAC16C 1
再? int14.bin ?容 74 改成 EB
在?原....
r0cmd /loadsst_nt:sst1.bin
r0cmd /load INT14.BIN F8AAC16C 1
(8)最後,你?在可以打檫 OLLYDBG=> LOAD XP.EXE 功能,去 TRACE
Xprotector 檫始咄入?.....
期待,大家都能解檫 Xprotector 之珠..cc
引用?考咀站;
http://cracklab.ru/art/xprot.php 作者:dragon
http://saccopharynx.iespana.es/ 作者:SACCOPHARYNX
附件:R0cmd.zip
http://bbs.pediy.com/upload/2005/8/files/r0cmd.zip
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法