首页
社区
课程
招聘
[旧帖] 在除一个DEMO软件的时间限制时碰到问题[已解决] 0.00雪花
发表于: 2009-1-15 13:21 3311

[旧帖] 在除一个DEMO软件的时间限制时碰到问题[已解决] 0.00雪花

2009-1-15 13:21
3311
我把可以运行的时候和到期的时候的程序分别分析跟踪找到一个处跳转不同,改JMP后,搞定,系统时候往后面拖几年都不会提示到期了,服务端也运行正常
但是这个程序是服务端和客户端的,用改JMP后的服务端运行,启动。。然后就客户端登的时候确出错,要么是找不到服务器。我又跟了很久还是没有找到答案。望高人来看看

启动的按钮地址为:5659e1
判断时间天数的CALL地址 59B96A
F7进去后再跟2个CALL就可以看到下面的代码

00402F3C      FD                std
00402F3D      F3:A5             rep movs dword ptr es:[edi],dword ptr ds:[esi]
00402F3F      89C1              mov ecx,eax
00402F41      83E1 03           and ecx,3
00402F44      83C6 03           add esi,3
00402F47      83C7 03           add edi,3
00402F4A      F3:A4             rep movs byte ptr es:[edi],byte ptr ds:[esi]
00402F4C      FC                cld

这段就是读到断段时间和天的地方,可是不太明白 把时间往后拖了,OD运行到这里寄存器EDX会显示-XXX天

时间往后拉了OD运行程序走到:59b902 这里的时候
正常可以启动的情况下这个跳是跳了的。
我通分两个比较分析后,发现在启动到期的到这里不跳。
我就改JMP了,可是客服端登不了的,出错

爆破不行,改欺骗,把EDX 赋值

发下我的草稿
先在时间CALL下断  地址为59B96A 启动程序断在这里F7进去跟两个CALL后看下面代码

00402F4A      F3:A4             rep movs byte ptr es:[edi],byte ptr ds:[esi]
00402F4C      FC                cld     到里寄存为  edx 00ee2798 ascii“-1037”  
00402F4D      5F                pop edi
00402F4E      5E                pop esi  到这里EDI也变成了 edI 00ee2798 ascii“-1037”  
00402F4F      C3                retn
00402F50      53                push ebx

edx 00ee24e0 ascii"60" 正常时间 还可用60天
edx 00ee2798 ascii“-1037”   系统时间拉到2013年年就变成负数了
综合比对正常和过期的EDX值,证明越小是正越大,越大负越大

所以我把先试验把EDX的值    sub edx,1000  后保存可以运行,但还是过期
我把edi也减1000保存,程序就双击没反映,而且有点卡,在OD运行是有异常

原地址:402F4C   我准备NOP修改欺骗地址
返回地址: 402f4f  留一个RETN  欺骗地址代码运行完后返回到这里

我选的写入代码的新地址为:41e95a

也可不用把系统时候往后调,就以正常时间改都可以,如果成功的话那么时间应该会大于60天,如果不成功就还是60天

代码走到上面写的 POP ESI 的时候
寄存器为
EAX 00000002
ECX 00000000
EDX 00E8D5B8 ASCII "60"
EBX 0012F3E0
ESP 0012F37C
EBP 0012F504
ESI 0012F3A1
EDI 00E8D5B8 ASCII "60"
EIP 0041E964 3r.0041E964

还有一种想法

59b902  jnb short 0059B917  关键跳,我把可以用和过期的时候走到这一步的寄存值
都复制下来,经过比对只有下面二处不同
AX 00E20020 ASCII "l method"

EDX 40E37280
正常值

EAX 00E20120

EDX 40E42920
过期值

于是又想了个办法跳走,把过期的时候的EAX和EDX赋值同正常的时候的一样
再走到  jnb short 0059B917 去判断,成功了,服务端启动正常,不过期了,
但是还是同样的问题,客服端登陆不上去

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你修改的不是核心的吧,继续跟那东西怎么来看看
2009-1-15 15:22
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请教你的思路是?
2009-1-15 15:32
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还有什么思路

最终还不是转化对你的机器硬件的锁定

看看那东西最终从什么来,别修改跳转,跟那60天是怎么产生的

我的思路就这样
2009-1-15 15:49
0
游客
登录 | 注册 方可回帖
返回
//