打开程序,会惊讶发现没有确定键。这是个delphi写的程序,没有加壳。费了很久,才搞懂这个。
参考博文:http://www.52pojie.cn/thread-264819-1-1.html
http://bbs.fishc.com/thread-40611-1-1.html
两种方法:
1,找到名字/序列号。像这种情况。信息肯定保存在代码中,输入的和保存的做了比对。
2. 暴力破解。这就不用多说了。
先做第一种,寻找序列号。使用dede反汇编一下,
看到这个模块,里面有各种事件,看那个chkcode函数。记下地址,我们在OD中进入。
打开od--->随便输入数字--->然后会在上面那个地址断下。
接下来我们单步走。
注意圈起来的三个地方。esi中保存的是姓名的长度,然后再加上5.这个值到后面会有用。暂时把这个设为a
往下走。逐渐会有信息出现,序列号出现。
序列号保存在edx中,这里的15就是我们的a
总体来说,结果就是 Name:12345 Serial: 黑头Sun Bird(a)dseloffc-012-12345.
(a)这个值就是字符长度加上5.
然而,把这输进去,并不会得到我们想要的结果。
2.爆破
在上述的基础上,逐渐到后面,右键--转到--下个函数过程。会找到转折点。
在这,我们用一种巧妙的方法。同样用dededark,panelclick
按地址进入。
关键跳转
很显然nop掉就可以了。
女神很漂亮。
附件列表
时间: 2024-10-13 08:14:14