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

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

 2007-01-13 20:14:35 来源:WEB开发网   
核心提示:新版ASPR的加壳方法有了一些变化,用工具是脱不了了,所以写了这个,给大家一个简单的解决方案.用OD载入,BP IsDebuggerPresent,F9,停了下来:77E52740 >64:A1 18000000MOVEAX, DWORD PTR FS:[18]77E527468B40 30MOVEAX, DWO

新版ASPR的加壳方法有了一些变化,用工具是脱不了了,所以写了这个,给大家一个简单的解决方案. 

用OD载入,BP IsDebuggerPresent,F9,停了下来: 

77E52740 > 64:A1 18000000 MOV  EAX, DWORD PTR FS:[18] 
77E52746  8B40 30    MOV  EAX, DWORD PTR DS:[EAX+30] 
77E52749  0FB640 02   MOVZX EAX, BYTE PTR DS:[EAX+2] 
77E5274D  C3       RETN

F8,到RETN之前这一行,看看[EAX+2],我是7FFDF002=01, 

重新载入,把7FFDF002值改为0(这样可跳过ASPR对程序级调试的检查),F9,这时有异常会停下来,这时就用SHIFT+F9过,大约30次左右,你可看到这样的代码 

00C23D5F  3100      XOR  DWORD PTR DS:[EAX], EAX 
00C23D61  64:8F05 0000000>POP  DWORD PTR FS:[0] 
00C23D68  58       POP  EAX 
00C23D69  833D BC7EC200 0>CMP  DWORD PTR DS:[C27EBC], 0 
00C23D70  74 14     JE   SHORT 00C23D86 
00C23D72  6A 0C     PUSH  0C 
00C23D74  B9 BC7EC200  MOV  ECX, 0C27EBC 
00C23D79  8D45 F8    LEA  EAX, DWORD PTR SS:[EBP-8] 
00C23D7C  BA 04000000  MOV  EDX, 4 
00C23D81  E8 8ED2FFFF  CALL  00C21014 
00C23D86  FF75 FC    PUSH  DWORD PTR SS:[EBP-4] 
00C23D89  FF75 F8    PUSH  DWORD PTR SS:[EBP-8] 
00C23D8C  8B45 F4    MOV  EAX, DWORD PTR SS:[EBP-C] 
00C23D8F  8338 00    CMP  DWORD PTR DS:[EAX], 0 
00C23D92  74 02     JE   SHORT 00C23D96 
00C23D94  FF30      PUSH  DWORD PTR DS:[EAX] 
00C23D96  FF75 F0    PUSH  DWORD PTR SS:[EBP-10] 
00C23D99  FF75 EC    PUSH  DWORD PTR SS:[EBP-14] 
00C23D9C  C3       RETN

这是典型的ASPR的最后一个异常。(两个JE加个RETN),这时不要SHIFT+F9了,不然程序会运行的。要用SHIFT+F7进入。这时会停在系统空间。用ALT+M打开MEMORY MAP,找到SYSTEM CLEAN所在的位置,第一个SECTION如下. 

1 2 3  下一页

Tags: aspr 脱壳

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