• 标 题:用天意+Procdump脱PE Compact 1.4 beta6!只是简单介绍! (2千字)
  • 作 者:wind[CCG]
  • 时 间:2000-8-28 19:53:08
  • 链 接:http://bbs.pediy.com

用天意+Procdump脱PE Compact 1.4 beta6

本人对PE的文件结构也不是很了解!
1、如果你和我一样使用s3的早期显卡,那么你需要安装sdd v6.53或者
sdd v7.0 alpha3

2、运行天意的test程序,如果你的显卡支持的话,会生成一个Trackit.dat的
文件!

3、我们这次脱PE Compact 1.4 beta6的壳,用天意脱这个软件的壳,
用天意似乎比trw2000更快来到关键处!

4、此篇文章由于我的水平有限无法涉及让他脱壳后跨平台运行的问题!
不过在本机应该可以使用!主要是介绍天意为cracker们特设的suspend命令!

好开始,首先用load载入pecompact.exe文件!
来到如下程序段:
015F:00419800  JMP      SHORT 00419808 -->中断与此,按f10继续
015F:00419802  PUSH    DWORD 00019000
015F:00419807  RET   
015F:00419808  PUSHF  -->按一下f10来到了这里,继续用f10单步执行!   
015F:00419809  PUSHA 
015F:0041980A  CALL    00419811 -->来到这里,不要用f10,改用f8,f10继续!
015F:0041980F  XOR      EAX,EAX
015F:00419811  MOV      EAX,ESP
015F:00419813  ADD      EAX,BYTE +04
015F:00419816  XCHG    EAX,EBX
015F:00419817  MOV      ESP,EBX
015F:00419819  MOV      EBX,[EBX-04]
015F:0041981C  SUB      EBX,0040A00F
015F:00419822  XCHG    EBX,EBP
    .
    .
    .
    .
    .
    .
..过不了多久就来到这里!
015F:00419850  PUSH    EBX
015F:00419851  PUSH    EBX
015F:00419852  PUSH    EBX
015F:00419853  PUSH    EBX
015F:00419854  POP      EAX
015F:00419855  SUB      EAX,0040A070
015F:0041985A  MOV      [EBP+0040A071],EAX
015F:00419860  POP      EDI
015F:00419861  LEA      ESI,[EBP+0040A070]
015F:00419867  MOV      ECX,0447
015F:0041986C  REP MOVSD -->看见这条指令了吧!在天意里不管用f10或f8都是
                            要运行很长时间的(在trw2000里可以用f10带过)
                            其实,在这里,我们可以用天意的g命令跳过!
                            马上会来到这里...
      .
      .
015F:0041B40B  NOP   
015F:0041B40C  MOV      ESI,[EBP+0040A5DC]
015F:0041B412  MOV      EDI,[EBP+0040A5E0]
015F:0041B418  CALL    0041C0A4
015F:0041B41D  POPA   
015F:0041B41E  POPF   
015F:0041B41F  PUSH    EAX
015F:0041B420  PUSH    DWORD 00419000 -->在41986c处,使用g命令后来到了这里
                                          在按f10
015F:0041B425  RET      04  -->来到这里用f10带过,就来到程序脱壳的
                              关键处!
..关键处代码:
015F:00419000  PUSHF  -->来到这里,用f10跑到419002处
015F:00419001  PUSHA 
015F:00419002  CALL    00419009 -->来到这里就可以脱壳了,这里我们用
                                    suspend命令回到windows环境,启动
                                    procdump,然后在就可以脱壳了!
在procdump里可以选种我们刚才准备脱壳文件的那个进程!点鼠标右键,选择
dump(full)


注:本人昨天和人打架,眼睛伤了,这篇文章只是简单介绍一下它是如何脱壳的!希望大家
能看明白,天意的功能十分强大,我无法说的清楚!希望大家关注这款国产的调试器!

                                                      wind[CCG]