WEB开发网
开发学院网络安全黑客技术 用OllyDbg脱ASPR 1.3x的壳 阅读

用OllyDbg脱ASPR 1.3x的壳

 2007-01-13 20:12:43 来源:WEB开发网   
核心提示: Stolen_Bytes_1Stolen_Bytes_2Stolen_Bytes_3PUSH EBXPUSH ESIPUSH EDI..................REPZ STOSB 〈-还原字节POPFDPOPADJMP_TO_OEP3. 没有抽掉的字节时,只执行PopAD指令和跳
 Stolen_Bytes_1 
 Stolen_Bytes_2 
 Stolen_Bytes_3 
 PUSH EBX 
 PUSH ESI 
 PUSH EDI 
 ...... 
 ...... 
 ...... 
 REPZ STOSB 〈-还原字节 
   POPFD 
   POPAD 
 JMP_TO_OEP

3. 没有抽掉的字节时,只执行PopAD指令和跳转到OEP。

那么我们怎么处理它呢?

看看ASPR在跳转到OEP前的最后几步是什么。这需要查看跟踪日记。 

太好了!Olly可以使用"Run Trace"功能来得到一个 跟踪日记。

这样…选择菜单: View->Run trace 

现在我们看见一个新窗口…跳转到最后一行的前一行,你会看到CPU窗口也变为同样的地址,象下面这样:

 017F5779 F3:AA      REP STOS BYTE PTR ES:[EDI] 
 017F577B 9D       POPFD 
 017F577C 61       POPAD 
 017F577D -E9 D992D8FE   JMP SYSTEMCL.0057EA5B 〈-OEP的地址

我们用第二种方法对付它!!

上面的内容我是在 winXP下发现的,不是 win98:: 

在CPU窗口里按 Ctrl+S(搜索命令的次序) 

写入下面的:

 PUSH EBX 
 PUSH ESI 
 PUSH EDI

你会发现:

 01029227 0055 8B     ADD BYTE PTR SS:[EBP-75],DL 
 0102922A EC       IN AL,DX                           ; I/O命令
 0102922B 83EC 54     SUB ESP,54 
 0102922E 53       PUSH EBX 
 0102922F 56       PUSH ESI 
 01029230 57       PUSH EDI 
 01029231 6A 11      PUSH 11

忽略 "00",你会找到抽掉的字节:55,8b,ec,83,ec,54 

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

Tags:OllyDbg ASPR

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