WEB开发网
开发学院网络安全黑客技术 压缩与脱壳-脱壳高级篇 下 阅读

压缩与脱壳-脱壳高级篇 下

 2007-01-12 20:11:44 来源:WEB开发网   
核心提示: 0137:00C10E968BC0MOVEAX,EAX0137:00C10E9889C4MOVESP,EAX0137:00C10E9A89D0MOVEAX,EDX0137:00C10E9C8B1D6C66C100MOVEBX,[00C1666C]0137:00C10EA289041CMOV
0137:00C10E96 8BC0        MOV   EAX,EAX            
0137:00C10E98 89C4        MOV   ESP,EAX            
0137:00C10E9A 89D0        MOV   EAX,EDX             
0137:00C10E9C 8B1D6C66C100    MOV   EBX,[00C1666C]         
0137:00C10EA2 89041C       MOV   [EBX+ESP],EAX          
0137:00C10EA5 61         POPAD                   
0137:00C10EA6 50         PUSH   EAX ;push 442b98 即为入口点           
0137:00C10EA7 C3         RET   ;返回到己完全解压的代码处,即入口点处。                
0137:00C10EA8 C3         RET

来到入口点:

0167:00442B98 55 PUSH EBP ←此处为入口点
0167:00442B99 8BEC MOV EBP,ESP
0167:00442B9B 83C4F4 ADD ESP,-0C

在0167:00442B98 处就可dump整个内存数据了,此时程序己完全解压准备运行了。记下程序入口点:00442B98

在dump前,清除所有的断点:bc *.

./dump 400000 79000 c:aspack.dumped.exe

(如你是用Icedump 6.016以前版本用此命令:pagein d 400000 79000 c:aspack.dumped.exe)

2、替换正确的import表

用Hexworkshop打开aspack.dumped.exe和aspack.idata.bin. Goto到exe文件的46000偏移处,Select Block大小为2000. 拷贝aspack.idata.bin文件的同样大小(2000)的Block,粘贴到exe文件中以替换掉不正确的.idata section,然后存盘。(注意:以上所有数据都是十六进制)

上一页  1 2 3 4 5 6 7 8  下一页

Tags:压缩 脱壳 脱壳

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