WEB开发网
开发学院网络安全黑客技术 AZPR3.0的脱壳教程 阅读

AZPR3.0的脱壳教程

 2006-07-03 20:26:51 来源:WEB开发网   
核心提示:版权声明: 本文没有版权,允许任意转贴和修改. 但如果只引用文中部分内容时,请最好注明原文出处,以表示对一位Cracker同行的劳动的尊重.使用工具:TRW2000 1.03ProcDump 1.6.2Hexworkshop 3.02比起其Beta版来,AZPR 3.0正式版的保护更为加强. 1. 对Softice的多

版权声明: 本文没有版权,允许任意转贴和修改. 但如果只引用文中部分内容时,请最好注明原文出处,以表示对一位Cracker同行的劳动的尊重.

使用工具:

TRW2000 1.03

ProcDump 1.6.2

Hexworkshop 3.02

比起其Beta版来,AZPR 3.0正式版的保护更为加强. 1. 对Softice的多处Check,用FrogsICE不能完全骗过; 2. CRC的校验; 3. 动态地址(好象是这个名吧?); 4.对Loader的防范,这回用Process Patch不行了.

用Softice跟踪它会是一种痛苦 (当然完全可以用Softice,只是你要了解程序的Anti-debugger技巧,在关键的Check后改变跳转方向). 这次祭出我们中国人的骄傲TRW2000来对付它.

先用Procdump的PE Editor查看一下程序的.idata section记下数值. Virtual size=2000, Virtual offset=21000. 另外,记下程序的Image Base: 400000.

1. 运行TRW, Load程序. 程序中断在入口处. 但接下来无论是否BPX设断只要G继续运行程序,便会出错. 下Faults off, G, OK程序退出.

2. 试BPM 421000 (.idata的offset), 再Load程序. G, 程序可以被正常中断, COOL!

3. G,当程序第三次(? 记不清了. 原则是d 421000显示的data区见到XXXX0200 000000字样)中断时,BD*,F10直到下面的语句

*********************************

注意: 程序每次Load时Offset都不一样,你的机器中的XXXX:YYYYYYYY肯定和下面的不同. 下Code on指令,这样才好参照下面的代码. 另外,下面所摘的几段代码是引用高手tiamath的.因为我不清楚在TRW下如何dump屏幕 (谁能指教一下:);而用ICEDump的pagein n命令来Dump Softice的屏幕,我的机器会死机. :(

*********************************

0167:004F34CD 50     PUSH EAX
0167:004F34CE B890274F00   MOV EAX,004F2790
0167:004F34D3 50     PUSH EAX
0167:004F34D4 B8A4274F00   MOV EAX,004F27A4
0167:004F34D9 50     PUSH EAX
0167:004F34DA B8A0284F00   MOV EAX,004F28A0
0167:004F34DF 50     PUSH EAX
0167:004F34E0 B8AC274F00   MOV EAX,004F27AC
0167:004F34E5 50     PUSH EAX
0167:004F34E6 B8646C4E00   MOV EAX,004E6C64
0167:004F34EB 50     PUSH EAX
0167:004F34EC 8B4508     MOV EAX,[EBP+08]
0167:004F34EF 8D4824     LEA ECX,[EAX+24]
0167:004F34F2 8B4508     MOV EAX,[EBP+08]
0167:004F34F5 8B500C     MOV EDX,[EAX+0C]
0167:004F34F8 8B4508     MOV EAX,[EBP+08]
0167:004F34FB 8B4008     MOV EAX,[EAX+08]
0167:004F34FE E899F4FFFF   CALL 004F299C
0167:004F3503 33C0     XOR EAX,EAX <--在这里Dump .idata

下指令 W 421000 L 2000 azprdata.bin

1 2  下一页

Tags:AZPR 脱壳 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接