首页
社区
课程
招聘
[旧帖] [求助]一个爆破时碰到的问题 0.00雪花
发表于: 2007-8-6 17:36 3326

[旧帖] [求助]一个爆破时碰到的问题 0.00雪花

2007-8-6 17:36
3326
无壳程序,VC5。

有使用时间限制,过期时消息框提醒。主程序上查提示字符串找不到,估计在DLL里,放弃。

直接下API断点,bp MessageBoxA。

0012FB50   10C258F8 /CALL 到 MessageBoxA
0012FB54   00000000  |hOwner = NULL
0012FB58   01E60048  |Text = "本软件已过期",A1,"?
0012FB5C   01AF0038  |Title = "提示"
0012FB60   00002040  \Style = MB_OK|MB_ICONASTERISK|MB_TASKMODAL

找到这个CALL的位置了。重新加载程序,直接CTRL+G跳转到10C258F8

10C258D5     /75 02         jnz     short 10C258D9
10C258D7  |> |33F6          xor     esi, esi
10C258D9  |> \8B4C24 18     mov     ecx, dword ptr [esp+18]
10C258DD  |.  8B41 14       mov     eax, dword ptr [ecx+14]
10C258E0  |.  85C0          test    eax, eax
10C258E2      75 02         jnz     short 10C258E6
10C258E4      33F6          xor     esi, esi
10C258E6      8B5424 2C     mov     edx, dword ptr [esp+2C]
10C258EA  |.  8B4424 14     mov     eax, dword ptr [esp+14]
10C258EE  |.  57            push    edi                              ; /Style
10C258EF  |.  52            push    edx                              ; |Title
10C258F0  |.  50            push    eax                              ; |Text
10C258F1  |.  56            push    esi                              ; |hOwner
10C258F2      FF15 EC09DA10 call    dword ptr [<&USER32.MessageBoxA>>;  USER32.MessageBoxA
10C258F8      85DB          test    ebx, ebx

应该怎么跳过这个提示框呢?谢谢!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
因为没有实际代码,所以只能抽象的说下了,你用jump跳过去就行,不过记得要保持堆栈平衡,要不然肯定出错.其实最好的办法是找到前面的比较过期日期的地方,把那个比较的值改掉
2007-8-6 17:49
0
雪    币: 200
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢独孤剑

试了好多次jmp,都出错了。。

它对系统时间进行判断,另外加注册表判断,注册表如果记录过软件过期也会终止。

这个判断应该是在一个子程序里,我怎么找到这个子程序是在哪调用的?
2007-8-6 18:01
0
游客
登录 | 注册 方可回帖
返回
//