WEB开发网
开发学院网络安全黑客技术 新版aspr脱壳方法(完全版) 阅读

新版aspr脱壳方法(完全版)

 2007-01-13 20:14:35 来源:WEB开发网   
核心提示: 1.拿出LOADPE,把这个东东从内存DUMP出来DUMPED.EXE.2,记下EBX的值560d08.3,先修复好引入表,修复方法如下:看看内存区在56f32c一块(别不记得为什么在这里了,上下找找,很快就可发现IAT的位置:56F21C--->56FBA4,大小为56FBA4-5

1.拿出LOADPE,把这个东东从内存DUMP出来DUMPED.EXE. 

2,记下EBX的值560d08. 

3,先修复好引入表,修复方法如下: 

看看内存区在56f32c一块(别不记得为什么在这里了,上下找找,很快就可发现IAT的位置:56F21C--->56FBA4,大小为56FBA4-56F21C=988, 

打开importREC,选中程序IAT的RVA填入16F21C,size:988,按下"获得输入信息",这时可找到一些指针,但还用很多无效,按"显示无效--->追踪层次1(分解),可修复大部分指针,还有一些得手动了,不过我发现用新版的ASPR插件竞可以全部修复(试了几个都可以,所以也就偷懒了,用ASPR插件修复,还有几个无效的指针其实是垃圾把它们CUT了(看看它们的值就知道是不是垃圾了).然后FIX DUMPED.EXE为DUMPED_.EXE. 

下面就是修复入口处了. 

回到原程序.按几下F8,过了RETN我们就来到程序入口了. 

005613DF  0000      ADD  BYTE PTR DS:[EAX], AL 
005613E1  0000      ADD  BYTE PTR DS:[EAX], AL 
005613E3  0000      ADD  BYTE PTR DS:[EAX], AL 
005613E5  0000      ADD  BYTE PTR DS:[EAX], AL 
005613E7  0000      ADD  BYTE PTR DS:[EAX], AL 
005613E9  0000      ADD  BYTE PTR DS:[EAX], AL 
005613EB  E8 4C5FEAFF  CALL  SystemCl.0040733C 
005613F0  FF15 84A15600 CALL  DWORD PTR DS:[56A184]      ; SystemCl.005608F0 
005613F6  E8 BD39EAFF  CALL  SystemCl.00404DB8 
005613FB  90       NOP

程序是停在5613F0,可以断定前面的CALL已运行过了.而且入口处和以前一样被 

改成了0,我们要把它补回,但是新版入口的代码似乎不好找(如果谁发现更好的方法告诉我一声:-),不过看这个特点 

是用D7写的,D7的代码特征是 

PUSH EBP 
MOV EBP,ESP 
ADD ESP -10(也可能是ADD ESP -0C) 
MOV EAX,******

所以只要找出最后这一句MOV,EAX,******,中的*****值就可以补回去了,还记得开始要大家记做的EBX的值560D08吗,它就是这里的值.这样我们就可以打开DUMP出并已经修复引入表的程序DUMPED_.EXE,把这一段代码补回去了,补完后是这样 

005613E0 > $ 55      PUSH  EBP 
005613E1 . 8BEC     MOV  EBP, ESP 
005613E3 . 83C4 F0   ADD  ESP, -10 
005613E6 . B8 080D5600 MOV  EAX, jjjj_.00560D08 
005613EB . E8 4C5FEAFF CALL  jjjj_.0040733C 
005613F0 . FF15 84A15600 CALL  DWORD PTR DS:[56A184]      ; jjjj_.005608F0 
005613F6 . E8 BD39EAFF CALL  jjjj_.00404DB8

保存后用LOADPE把入口点改成1613e0,OK,程序可以运行了.脱壳完成.

上一页  1 2 3 

Tags: aspr 脱壳

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