首页
社区
课程
招聘
有点怪的脱壳后平台运行倒闭?
发表于: 2005-8-19 21:01 5308

有点怪的脱壳后平台运行倒闭?

2005-8-19 21:01
5308
telock壳,脱壳可以很简单,用hexer的99脱壳机或者手脱

有个怪问题,脱壳机脱壳后在98运行能弹出试用版提示,但点OK之后就一闪关门;
我在XP手脱了,脱壳后在XP运行良好,但转到98就一狗样(应该不存在输入表修复或跨平台问题),一直没找上原因,大家看看有没这问题。。。解决了说一下,好想知道原因噢...

附件:pecorrector.rar

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

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
hi try to test this unpacked file , i do not have win98 so cannot test...
i use back the IAT from the original file...
...
附件:unsplitted.rar
2005-8-19 23:32
0
雪    币: 383
活跃值: (786)
能力值: ( LV12,RANK:730 )
在线值:
发帖
回帖
粉丝
3
to stephenten:
试了,不行,还是一样,脱壳机本来做出来的就是原始的IAT还原,所以不应该存在IAT修复问题。

我怀疑的是系统校验,乱猜的,比如它设了个系统版本标志位,如果运行过壳脱出来的就有系统版本标志,没有的就哈哈,乱乱猜的,有98的帮忙试试有否我这里的问题出现,一直很奇怪(带壳的运行良好)
2005-8-20 09:38
0
雪    币: 294
活跃值: (578)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zxc
4
也许原来在9X系统下就不能运行..
也说不定.
2005-8-20 11:01
0
雪    币: 14937
活跃值: (4718)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
看下这里,从这里开始慢慢的步入死亡~
00401860  /$  53            push ebx
00401861  |.  56            push esi
00401862  |.  57            push edi
00401863  |.  55            push ebp
00401864  |.  BB 98C54200   mov ebx,unsplitt.0042C598
00401869  |.  BE 00904200   mov esi,unsplitt.00429000
0040186E  |.  BF 24C04200   mov edi,unsplitt.0042C024
00401873  |.  807B 28 00    cmp byte ptr ds:[ebx+28],0
00401877  |.  75 16         jnz short unsplitt.0040188F
00401879  |.  833F 00       cmp dword ptr ds:[edi],0
0040187C  |.  74 11         je short unsplitt.0040188F
0040187E  |>  8B17          /mov edx,dword ptr ds:[edi]
00401880  |.  89D0          |mov eax,edx
00401882  |.  33D2          |xor edx,edx
00401884  |.  8917          |mov dword ptr ds:[edi],edx
00401886  |.  8BE8          |mov ebp,eax
00401888  |.  FFD5          |call ebp
0040188A  |.  833F 00       |cmp dword ptr ds:[edi],0
0040188D  |.^ 75 EF         \jnz short unsplitt.0040187E
0040188F  |>  833D 04904200>cmp dword ptr ds:[429004],0
00401896  |.  74 06         je short unsplitt.0040189E
00401898  |.  FF15 6C904200 call dword ptr ds:[42906C]                  ;  unsplitt.004023A0
0040189E  |>  807B 28 02    /cmp byte ptr ds:[ebx+28],2
004018A2  |.  75 0A         |jnz short unsplitt.004018AE
004018A4  |.  833E 00       |cmp dword ptr ds:[esi],0
004018A7  |.  75 05         |jnz short unsplitt.004018AE
004018A9  |.  33C0          |xor eax,eax
004018AB  |.  8943 0C       |mov dword ptr ds:[ebx+C],eax
004018AE  |>  FF15 34904200 |call dword ptr ds:[429034]                 ;  unsplitt.00401750
004018B4  |.  807B 28 01    |cmp byte ptr ds:[ebx+28],1
004018B8  |.  76 05         |jbe short unsplitt.004018BF
004018BA  |.  833E 00       |cmp dword ptr ds:[esi],0
004018BD  |.  74 22         |je short unsplitt.004018E1
004018BF  |>  8B43 10       |mov eax,dword ptr ds:[ebx+10]
004018C2  |.  85C0          |test eax,eax
004018C4  |.  74 1B         |je short unsplitt.004018E1
004018C6  |.  FF15 20904200 |call dword ptr ds:[429020]                 ;  unsplitt.004029E8
004018CC  |.  8B53 10       |mov edx,dword ptr ds:[ebx+10]
004018CF  |.  8B42 10       |mov eax,dword ptr ds:[edx+10]
004018D2  |.  3B42 04       |cmp eax,dword ptr ds:[edx+4]
004018D5  |.  74 0A         |je short unsplitt.004018E1
004018D7  |.  85C0          |test eax,eax
004018D9  |.  74 06         |je short unsplitt.004018E1
004018DB  |.  50            |push eax                                   ; /hLibModule
004018DC  |.  E8 4BF7FFFF   |call <jmp.&kernel32.FreeLibrary>           ; \FreeLibrary
004018E1  |>  FF15 38904200 |call dword ptr ds:[429038]                 ;  unsplitt.004023A0
004018E7  |.  807B 28 01    |cmp byte ptr ds:[ebx+28],1
004018EB  |.  75 03         |jnz short unsplitt.004018F0
004018ED  |.  FF53 24       |call dword ptr ds:[ebx+24]
004018F0  |>  807B 28 00    |cmp byte ptr ds:[ebx+28],0
004018F4  |.  74 05         |je short unsplitt.004018FB
004018F6  |.  E8 35FFFFFF   |call unsplitt.00401830
004018FB  |>  833B 00       |cmp dword ptr ds:[ebx],0
004018FE  |.  75 17         |jnz short unsplitt.00401917
00401900  |.  833D 14C04200>|cmp dword ptr ds:[42C014],0
00401907  |.  74 06         |je short unsplitt.0040190F
00401909  |.  FF15 14C04200 |call dword ptr ds:[42C014]
0040190F  |>  8B06          |mov eax,dword ptr ds:[esi]
00401911  |.  50            |push eax                                   ; /ExitCode
00401912  |.  E8 5DF7FFFF   |call <jmp.&kernel32.ExitProcess>           ; \ExitProcess
00401917  |>  8B03          |mov eax,dword ptr ds:[ebx]
00401919  |.  56            |push esi
0040191A  |.  8BF0          |mov esi,eax
0040191C  |.  8BFB          |mov edi,ebx
0040191E  |.  B9 0B000000   |mov ecx,0B
00401923  |.  F3:A5         |rep movs dword ptr es:[edi],dword ptr ds:[>
00401925  |.  5E            |pop esi
00401926  \.^ E9 73FFFFFF   \jmp unsplitt.0040189E
2005-8-20 11:33
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
自检验吧
你脱壳后的可以直接在XP下运行?
2005-8-20 18:46
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
00409A07    E8 A897FFFF               call <jmp.&user32.PeekMessageA>
00409A0C    85C0                      test eax,eax
00409A0E    74 3B                     je short PECorrec.00409A4B
00409A10    8B5424 04                 mov edx,dword ptr ss:[esp+4];98下脱壳后,点OK这里返回的就是12
00409A14    66:83FA 12                cmp dx,12
00409A18    75 09                     jnz short
PECorrec.00409A23
00409A1A    C605 C1C64200 01          mov byte ptr ds:[42C6C1],1

00403C87    803D C1C64200 00          cmp byte ptr ds:[42C6C1],0
00403C8E  ^ 74 E3                     je short PECorrec.00403C73
2005-8-20 20:14
0
雪    币: 108
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
   CRC检验   

不过还没搞定
2005-8-20 22:13
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
9
把4273BE处je 改成jmp 就OK,原因看看那里的代码就清楚啦。
2005-8-21 18:34
0
雪    币: 239
活跃值: (478)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
学习啊,佩服呀
2005-8-23 08:57
0
游客
登录 | 注册 方可回帖
返回
//