首页
社区
课程
招聘
一款delphi程序的自校验,搞了好几天都没搞定!
发表于: 2011-5-16 01:53 7083

一款delphi程序的自校验,搞了好几天都没搞定!

2011-5-16 01:53
7083
在网上查了不少资料,由于基础不太好所以好多地方弄不懂
这款程序没有加过壳,是delphi写的
我发现它并不是打开程序之后就马上进行是否被修改
而是当你登陆帐号之后,就会提示“程序已经更新,请下载新版本”
在OD查找的字符串中也找不到这几个字样。
请大大们帮我解决一下这困扰了我很多天的难题!
我实在是分析不了到底是要改哪一个跳转才实现得了

这是一款游戏登陆器,首先它会要求你把登陆器放在游戏目录里
得先将这个检测搞定再进行下一步分析

我把程序附上,请各位大神帮忙分析一下,感激不尽

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 2325
活跃值: (4832)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哇 2005年注册的····
2011-5-16 05:41
0
雪    币: 189
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
郁闷,看到回复我还以为是谁分析到了。。。
2011-5-16 10:56
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iny
4
楼主在OD中各种格式的字符都看了吗?Hex/AscII(4种),Unicode(4种)
2011-5-17 09:13
0
雪    币: 291
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
这个游戏都不玩的 怎么登陆啊  登陆不了 怎么分析啊
2011-5-17 12:57
0
雪    币: 291
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
可以了  下面是附件
上传的附件:
2011-5-17 13:02
0
雪    币: 291
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
下面是破解的过程  
由于程序没有壳,调试起来很方便
用OD载入之后 查看字符串  找到

超级字串参考, 条目 1745
地址=00491FE0
反汇编=mov     edx, 登陆器.0049202C
文本字串=请将登录器放入游戏目录里运行,再点登录游戏。

F2下断  F9运行 断来下了

00491FC8   .  53            push    ebx
00491FC9   .  8BD8          mov     ebx, eax                         ;  (Initial CPU selection)
00491FCB   .  B8 14204900   mov     eax, 登陆器.00492014                ;  MapleStory.exe
00491FD0   .  E8 3B72F7FF   call    登陆器.00409210
00491FD5   .  84C0          test    al, al
00491FD7      75 1F         jnz     short 登陆器.00491FF8      [COLOR="Red"] //改成JMP即可打开登陆界面[/COLOR]
00491FD9   .  6A 40         push    40
00491FDB   .  B9 24204900   mov     ecx, 登陆器.00492024                ;  提示
00491FE0   .  BA 2C204900   mov     edx, 登陆器.0049202C                ;  请将登录器放入游戏目录里运行,再点登录游戏。     [COLOR="red"] //断在这里[/COLOR]
00491FE5   .  A1 E09E4900   mov     eax, dword ptr ds:[499EE0]
00491FEA   .  8B00          mov     eax, dword ptr ds:[eax]
00491FEC   >  E8 1711FCFF   call    登陆器.00453108
00491FF1   .  8BC3          mov     eax, ebx
00491FF3   .  E8 F4D7FBFF   call    登陆器.0044F7EC
00491FF8   >  B2 01         mov     dl, 1
00491FFA   .  A1 78374900   mov     eax, dword ptr ds:[493778]
00491FFF   .  E8 D4170000   call    登陆器.004937D8
00492004   .  A3 D4C04900   mov     dword ptr ds:[49C0D4], eax
00492009   .  5B            pop     ebx
0049200A   .  C3            retn


随便输入密码还有帐号  然后点登陆   弹出窗口说是要更新   选择取消的话,就登陆不了,所以也要NOP掉这个窗口   
既然是弹窗提示  下MessageBoxA断点  断下来了 ALT+F9返回到用户代码

004930CC  |.  25 FF000000   and     eax, 0FF
004930D1  |.  85C0          test    eax, eax
004930D3  |.  75 12         jnz     short 登陆器.004930E7     [COLOR="red"]//假如这里跳了  就提示要更新,所以直接nop掉 [/COLOR]
004930D5  |.  C643 2C 00    mov     byte ptr ds:[ebx+2C], 0
004930D9  |.  A1 A0A04900   mov     eax, dword ptr ds:[49A0A0]
004930DE  |.  8B00          mov     eax, dword ptr ds:[eax]
004930E0  |.  E8 53F2FFFF   call    登陆器.00492338
004930E5  |.  EB 47         jmp     short 登陆器.0049312E
004930E7  |>  A1 30A04900   mov     eax, dword ptr ds:[49A030]
004930EC  |.  8B00          mov     eax, dword ptr ds:[eax]
004930EE  |.  E8 410B0000   call    登陆器.00493C34
004930F3  |.  6A 40         push    40
004930F5  |.  8D55 FC       lea     edx, dword ptr ss:[ebp-4]
004930F8  |.  8BC6          mov     eax, esi
004930FA  |.  E8 A55DFCFF   call    登陆器.00458EA4
004930FF  |.  8B45 FC       mov     eax, dword ptr ss:[ebp-4]
00493102  |.  E8 5119F7FF   call    登陆器.00404A58
00493107  |.  8BD0          mov     edx, eax
00493109  |.  B9 50314900   mov     ecx, 登陆器.00493150                ;  提示  [COLOR="red"]//显然这个提示就是那个要更新的提示,往上看[/COLOR]
0049310E  |.  A1 E09E4900   mov     eax, dword ptr ds:[499EE0]
00493113  |.  8B00          mov     eax, dword ptr ds:[eax]
00493115  |.  E8 EEFFFBFF   call    登陆器.00453108
0049311A  |.  A1 A0A04900   mov     eax, dword ptr ds:[49A0A0]
0049311F  |.  8B00          mov     eax, dword ptr ds:[eax]
00493121  |.  8B80 FC020000 mov     eax, dword ptr ds:[eax+2FC]
00493127  |.  B2 01         mov     dl, 1
00493129  |.  8B08          mov     ecx, dword ptr ds:[eax]
0049312B  |.  FF51 64       call    dword ptr ds:[ecx+64]
0049312E  |>  33C0          xor     eax, eax
00493130  |.  5A            pop     edx
00493131  |.  59            pop     ecx
00493132  |.  59            pop     ecx
00493133  |.  64:8910       mov     dword ptr fs:[eax], edx
00493136  |.  68 4B314900   push    登陆器.0049314B
0049313B  |>  8D45 FC       lea     eax, dword ptr ss:[ebp-4]
0049313E  |.  E8 5514F7FF   call    登陆器.00404598
00493143  \.  C3            retn


这个就可以把LZ想要得到的效果了  可以登陆了
2011-5-17 13:13
0
雪    币: 45
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习了。谢谢7楼
2011-5-17 23:12
0
雪    币: 189
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看到了7楼发出了详细的分析过程
在还没有经过测试有效性的情况下
就先给分了,感谢!
2011-5-18 15:29
0
雪    币: 104
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
马克下..  学习下7L
2011-5-18 16:17
0
雪    币: 106
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学些 6 个字符
2012-7-31 17:51
0
雪    币: 106
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我怎么发不了帖子哦,只能回复
2012-7-31 17:53
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hjm
13
不错分析!学习一下
2012-7-31 22:27
0
雪    币: 416
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不错分析!学习一下
2012-8-4 08:55
0
游客
登录 | 注册 方可回帖
返回
//