首页
社区
课程
招聘
[求助]Maxthon的壳怎么脱?
发表于: 2007-1-23 09:01 4342

[求助]Maxthon的壳怎么脱?

2007-1-23 09:01
4342
目标程序:Maxthon 1.5.9
PEID查壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
OD载入.
00623410 >  60              PUSHAD// 停在这里,保存现场环境               
00623411    BE 00105600     MOV ESI,Maxthon.00561000
00623416    8DBE 0000EAFF   LEA EDI,DWORD PTR DS:[ESI+FFEA0000]
0062341C    57              PUSH EDI
0062341D    83CD FF         OR EBP,FFFFFFFF
00623420    EB 10           JMP SHORT Maxthon.00623432
... // 保持程序向下执行...
// 来到这里->
00623558    95              XCHG EAX,EBP
00623559    8A07            MOV AL,BYTE PTR DS:[EDI]                 ; 开始循环
0062355B    47              INC EDI
0062355C    08C0            OR AL,AL
0062355E  ^ 74 DC           JE SHORT Maxthon.0062353C
00623560    89F9            MOV ECX,EDI
00623562    79 07           JNS SHORT Maxthon.0062356B
00623564    0FB707          MOVZX EAX,WORD PTR DS:[EDI]
00623567    47              INC EDI
00623568    50              PUSH EAX
00623569    47              INC EDI
0062356A    B9 5748F2AE     MOV ECX,AEF24857
0062356F    55              PUSH EBP
00623570    FF96 D0BB2300   CALL DWORD PTR DS:[ESI+23BBD0]           ; kernel32.GetProcAddress
00623576    09C0            OR EAX,EAX                               ; kernel32.SetFilePointer
00623578    74 07           JE SHORT Maxthon.00623581
0062357A    8903            MOV DWORD PTR DS:[EBX],EAX               ; kernel.ReadFile
0062357C    83C3 04         ADD EBX,4
0062357F  ^ EB D8           JMP SHORT Maxthon.00623559               ; 下一次循环
00623581    FF96 D8BB2300   CALL DWORD PTR DS:[ESI+23BBD8] // 下断

程序运行在始终在循环体里面执行,调用kernal32.dll里面里面的方法.
我在00623581下断,但是F9就跟飞了,没有找到出口语句POPAD.不知道在什么时候DUMP,请高手帮忙

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
怎么没人帮帮我呢?
2007-1-23 09:44
0
雪    币: 61782
活跃值: (21986)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
如是upx可以看看这个样例:
http://bbs.pediy.com/showthread.php?s=&threadid=20366

手脱(工具脱不想说了,论坛此类重复回答帖数十帖都有):

0062357F  ^ EB D8           JMP SHORT Maxthon.00623559               ; 下一次循环
00623581    FF96 D8BB2300   CALL DWORD PTR DS:[ESI+23BBD8]
00623587                   xxxxxxxxxxxxxxxxxxxxxxxxxxxx        //这里下断
2007-1-23 09:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
0062357F  ^\EB D8           JMP SHORT Maxthon.00623559               ; 下一次循环
00623581    FF96 D8BB2300   CALL DWORD PTR DS:[ESI+23BBD8]
00623587    8BAE D4BB2300   MOV EBP,DWORD PTR DS:[ESI+23BBD4]
0062358D    8DBE 00F0FFFF   LEA EDI,DWORD PTR DS:[ESI-1000]
00623593    BB 00100000     MOV EBX,1000
00623598    50              PUSH EAX
00623599    54              PUSH ESP
0062359A    6A 04           PUSH 4
0062359C    53              PUSH EBX
0062359D    57              PUSH EDI
0062359E    FFD5            CALL EBP
006235A0    8D87 4F020000   LEA EAX,DWORD PTR DS:[EDI+24F]
006235A6    8020 7F         AND BYTE PTR DS:[EAX],7F
006235A9    8060 28 7F      AND BYTE PTR DS:[EAX+28],7F
006235AD    58              POP EAX
006235AE    50              PUSH EAX
006235AF    54              PUSH ESP
006235B0    50              PUSH EAX
006235B1    53              PUSH EBX
006235B2    57              PUSH EDI
006235B3    FFD5            CALL EBP
006235B5    58              POP EAX
006235B6    61              POPAD // 壳的出口 , F8 DUMP

我自己搞定了,谢谢看雪老大的帮助.我还是菜鸟,还需要继续学习.
2007-1-23 10:44
0
雪    币: 615
活跃值: (1377)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
最环保的做法:

upx -d xxxx.exe
2007-1-23 16:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我还是喜欢用手脱,比较有成就感,呵呵.
查壳.
OD调
找OEP
DUMP
...

呵呵
2007-1-23 16:45
0
游客
登录 | 注册 方可回帖
返回