首页
社区
课程
招聘
PesPin 1.1外壳简略分析-----第一篇
发表于: 2005-1-8 22:14 6081

PesPin 1.1外壳简略分析-----第一篇

2005-1-8 22:14
6081

【目    标】: PeSpin 1.1主程序
【工    具】: Olydbg1.1
【任    务】: unpack
【操作平台】: WINXP pro sp1
【作    者】: randomizer
【相关链接】: http://pespin.w.interia.pl/(作者的官方站点)

第一步:修复 iat

od加载后,隐藏od, 异常选项全部选中,执行程序,出现来自400000段中的异常,点确定。在004135AA进行如下修改

004135AA   9C               PUSHFD                        ;原来
004135AB   F71424           NOT DWORD PTR SS:[ESP]
004135AE   832424 01        AND DWORD PTR SS:[ESP],1
->
004135AA   6A 01            PUSH 1                        ;修改成这样然后在这里下断点
004135AC   90               NOP
004135AD   90               NOP
004135AE   90               NOP
004135AF   90               NOP
004135B0   90               NOP
004135B1   90               NOP
shit+f9,停在004135AA
把00412D44开始的五个字节改成 JMP PESpin.00416D6D
00412D44   3917             CMP DWORD PTR DS:[EDI],EDX               ; 原来
00412D46   EB 07            JMP SHORT PESpin.00412D4F
00412D48   FA               CLI
->
00412D44   E9 FA410000      JMP PESpin.00416D6D                      ;修改成这样

再转到00416D6D输入如下一小段程序

00416D6D   3917             CMP DWORD PTR DS:[EDI],EDX
00416D6F   74 05            JE SHORT PESpin.00416D76
00416D71   47               INC EDI                              
00416D72  ^E2 F9            LOOPD SHORT PESpin.00416D6D
00416D74   EB 16            JMP SHORT PESpin.00416D8C
00416D76   807F FF 25       CMP BYTE PTR DS:[EDI-1],25
00416D7A   74 09            JE SHORT PESpin.00416D85
00416D7C   66:C747 FF FF25  MOV WORD PTR DS:[EDI-1],25FF
00416D82   8957 01          MOV DWORD PTR DS:[EDI+1],EDX
00416D85   8902             MOV DWORD PTR DS:[EDX],EAX
00416D87  ^E9 9AC0FFFF      JMP PESpin.00412E26
00416D8C   CC               INT3
00416D8D   CC               INT3

然后转到0041379A设断点,F9执行程序,程序停在下面的时候把[esp]由 0改成 1
0041379A   50               PUSH EAX            ;这里下断,程序停这里的时候把[esp]由 0改成 1

然后转到0041390D下断点,F9程序执行到这里, 呵呵,iat就搞好啦。
0041390D   2BC0             SUB EAX,EAX                             ;这里是原来 oep的语句,被偷在这里来了
                                    
这就是我写的第一篇,还请各位版主批评指正,谢谢。:)


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
鼓励  继续
以后的部分直接发在你上面的帖子里面即可
2005-1-8 22:37
0
雪    币: 97697
活跃值: (200734)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
辛苦!!!支持!!!
2005-1-8 22:38
0
雪    币: 214
活跃值: (100)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
第二步:decrypted crypted code

转到00416D8E,type in
00416D8E   60               PUSHAD
00416D8F   BF 00104000      MOV EDI,PESpin.00401000
00416D94   B9 70B10000      MOV ECX,0B170
00416D99   B0 9C            MOV AL,9C
00416D9B   F2:AE            REPNE SCAS BYTE PTR ES:[EDI]
00416D9D   75 6C            JNZ SHORT PESpin.00416E0B             ;跳转表示第一种crypted code搞定啦
00416D9F   803F 60          CMP BYTE PTR DS:[EDI],60
00416DA2  ^75 F5            JNZ SHORT PESpin.00416D99
00416DA4   66:817F 23 619D  CMP WORD PTR DS:[EDI+23],9D61
00416DAA  ^75 ED            JNZ SHORT PESpin.00416D99
00416DAC   4F               DEC EDI                                 
00416DAD   41               INC ECX
00416DAE   8D77 02          LEA ESI,DWORD PTR DS:[EDI+2]
00416DB1   51               PUSH ECX
00416DB2   57               PUSH EDI                                 
00416DB3   C647 1C C3       MOV BYTE PTR DS:[EDI+1C],0C3
00416DB7   FFD6             CALL ESI                                 
00416DB9   E8 08000000      CALL PESpin.00416DC6
00416DBE   5F               POP EDI                                 
00416DBF   59               POP ECX                                 
00416DC0  ^EB D7            JMP SHORT PESpin.00416D99
00416DC2   CC               INT3
00416DC3   CC               INT3
00416DC4   CC               INT3
00416DC5   CC               INT3
00416DC6   81EF 512738D9    SUB EDI,D9382751
00416DCC   87D9             XCHG ECX,EBX                             
00416DCE   B9 26000000      MOV ECX,26
00416DD3   B0 90            MOV AL,90
00416DD5   FC               CLD
00416DD6   F3:AA            REP STOS BYTE PTR ES:[EDI]
00416DD8   87D9             XCHG ECX,EBX                             
00416DDA   8A07             MOV AL,BYTE PTR DS:[EDI]
00416DDC   FEC8             DEC AL
00416DDE   C0C8 D1          ROR AL,0D1                              
00416DE1   C0C8 D7          ROR AL,0D7                              
00416DE4   FEC8             DEC AL
00416DE6   04 4E            ADD AL,4E
00416DE8   32C1             XOR AL,CL
00416DEA   C0C8 0F          ROR AL,0F
00416DED   FEC8             DEC AL
00416DEF   02C1             ADD AL,CL
00416DF1   AA               STOS BYTE PTR ES:[EDI]
00416DF2   49               DEC ECX
00416DF3  ^75 E5            JNZ SHORT PESpin.00416DDA
00416DF5   66:813F EB0B     CMP WORD PTR DS:[EDI],0BEB
00416DFA   75 0D            JNZ SHORT PESpin.00416E09
00416DFC   66:817F 2E EB05  CMP WORD PTR DS:[EDI+2E],5EB
00416E02   75 05            JNZ SHORT PESpin.00416E09
00416E04   C647 01 33       MOV BYTE PTR DS:[EDI+1],33
00416E08   C3               RETN

00416E09   CC               INT3
00416E0A   CC               INT3
00416E0B   BF 00104000      MOV EDI,PESpin.00401000                 ;这里开始解第二种crypted code
00416E10   B9 70B10000      MOV ECX,0B170
00416E15   B0 FF            MOV AL,0FF
00416E17   F2:AE            REPNE SCAS BYTE PTR ES:[EDI]
00416E19   75 5C            JNZ SHORT PESpin.00416E77               ;跳转表示第二种crypted code搞定啦
00416E1B   803F 15          CMP BYTE PTR DS:[EDI],15
00416E1E  ^75 F5            JNZ SHORT PESpin.00416E15
00416E20   8B57 01          MOV EDX,DWORD PTR DS:[EDI+1]
00416E23   81FA 3E554100    CMP EDX,PESpin.0041553E
00416E29  ^75 EA            JNZ SHORT PESpin.00416E15
00416E2B   57               PUSH EDI                                
00416E2C   51               PUSH ECX
00416E2D   8B4F 05          MOV ECX,DWORD PTR DS:[EDI+5]
00416E30   81E9 D46AE877    SUB ECX,77E86AD4
00416E36   83C7 09          ADD EDI,9
00416E39   E8 14000000      CALL PESpin.00416E52
00416E3E   E8 2A000000      CALL PESpin.00416E6D
00416E43   59               POP ECX                                 
00416E44   5F               POP EDI                                 
00416E45   4F               DEC EDI                                 
00416E46   83E9 09          SUB ECX,9
00416E49   E8 1F000000      CALL PESpin.00416E6D
00416E4E  ^EB C5            JMP SHORT PESpin.00416E15
00416E50   CC               INT3
00416E51   CC               INT3
00416E52   8A07             MOV AL,BYTE PTR DS:[EDI]
00416E54   C0C8 42          ROR AL,42                              
00416E57   04 D0            ADD AL,0D0
00416E59   02C1             ADD AL,CL
00416E5B   FEC8             DEC AL
00416E5D   04 09            ADD AL,9
00416E5F   FEC8             DEC AL
00416E61   34 2C            XOR AL,2C
00416E63   C0C0 DA          ROL AL,0DA                              
00416E66   FEC8             DEC AL
00416E68   AA               STOS BYTE PTR ES:[EDI]
00416E69   49               DEC ECX
00416E6A  ^75 E6            JNZ SHORT PESpin.00416E52
00416E6C   C3               RETN
00416E6D   51               PUSH ECX
00416E6E   6A 0A            PUSH 0A
00416E70   59               POP ECX                              
00416E71   B0 90            MOV AL,90
00416E73   F3:AA            REP STOS BYTE PTR ES:[EDI]
00416E75   59               POP ECX                                
00416E76   C3               RETN
00416E77   CC               INT3
00416E78   CC               INT3

下一篇发新帖了
2005-1-8 22:55
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
同一主题不要开新帖
方便大家查看
方便收录精华

最好在第一个帖子里面你编辑一下整体贴完

我先给你加上精华
2005-1-8 23:08
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
哦 好厉害啊
2005-1-9 11:10
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
7
最初由 fly 发布
同一主题不要开新帖
方便大家查看
方便收录精华

最好在第一个帖子里面你编辑一下整体贴完
........


看来我破坏规矩了,不好意思,我写的实在是太冗长了。

顶一下。
2005-1-9 11:32
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习
:)
2005-1-9 17:08
0
游客
登录 | 注册 方可回帖
返回
//