最近接到一个使用丁丁云网络验证2.0系统的软件,搞了半天没搞动,不过稍有收获,在此分享给大家,抛砖引玉的意思。 首先我在论坛里下载了一份丁丁云网络验证的源码,按说明流程,注册了一个商户。进去后发现送了一堆注册码。
好吧,有这么多注册码,够我研究的了 按流程我先是生成了一个软件 接下来把对应的数据写进程序里。
顺便在后台生成了十张注册码作为测试用的。
在程序里我加了三个按钮,用来测试它注册后传递过来的信息
OK,生成程序,开干!
用生成的卡能登陆进去
进去后先看下正常的数据
取当前时间 取到期时间
取静态数据 接下来,我们来试试PUSH窗体 OD载入 找到它的第二个窗体
004011E5 |. 68 52000152 push 0x52010052 再找到程序启动时第一个载入的窗体 00409162 |. 68 01000152 push 0x52010001 写补丁测试下情况
运行后出错:
OK,我们来查下源码看看会是什么样的一个情况 由上面可以看出来,取静态数据及取软件信息造成的。 我们改变一下源码,在这上下之间加个标记以方便一会跳过去。 并把源码另存为
生成客户端为
接着用老办法找一下PUSH窗体的地方 004011E5 |. 68 52000152 push 0x52010052
004091C2 |. 68 01000152 push 0x52010001 查找ASCII
窗体补丁 RETN掉 004082A8 C3 retn
生成补丁
运行后不再出错
只是不显示剩余时间 如果按下取当前时间的按钮 依然出错。
也就是说,如果作者在某个程序里调用了这个命令,破解的程序就会出错。 取到期时间以及取静态数据也是一样的要出错。 我试了下PATCH数据的方法,不过没成功,像飘零云验证之类的都是可以通过PATCH数据的方法来破解。 后边的破解,就交给大家了,小弟不才。
附言:
这个验证虽然难破,不过我相信仍然会有些软件作者,在第二个窗体生成后所有功能都可以使用。碰上这种的,大家可以用以上方法搞定它。
下面送上本次破解所使用的一些资料:
破解研究.rar
(652.57 KB, 下载次数: 275)
|