hktkzyz 发表于 2017-4-6 12:10

基础破解高手略过新手练手2-追马

还用上次那个例子来,因为那个例子简单,没有壳,适合新手学习,这次来追马。爆破参看http://www.52pojie.cn/thread-596279-1-1.html。
感谢haier8917大神昨晚的指点,我才能写出这个帖子。

我们还定位到上次注册爆破的地方,这里如果爆破掉跳转,就能成功,那么看看如果不爆破,能否让他跳转失效。
1、删除原来c盘的那个txt文件。
2、od里加入软件,设置注册那里的断点,不知道哪里的可以参考一下上次说的爆破。
3、先观察一下,这里有4个跳转,也就是如果通过这4个跳转应该就可以成功,我们输入6666。
4、来到如图断点处,看第一个跳转条件,用esp+c来和41比较。信息框提示该值为36(16进制,寄存器和堆栈那里截图拉掉了,看信息框就行),也就是,6,也就是我们输入的第一个字符,现在要用它和16进制的41(“A”)来比较,如果不相等(jnz)就跳到注册码错误,所以,第一个应该为A,在数据栏修改为41.
5、接着看第2个,这次可以不借助信息框,004050DC,先把esp+d转移到al,ss这里指的是堆栈,上次说过,不过不用考虑这个这里。esp此时为12ebf4,通过数据区,让他+14个,其实就是第2个36。把他给al,在用al和41比较。跳转条件为jge,带符号的,大于等于则跳转,所以要让al小于41,36本来就小于41,所以这里我们不动他,接着走。

6、第3处,是先把esp+e(其实就是第3个36)给cl,然后用al和cl比,跳转条件还是jge,也就是如果al大于等于cl就跳到注册码错误。上面al已经定了36,那么这里要求cl来大于al,那就弄个7吧,数据区改为37.
7、到第4处,esp+f,也就是第4个36,直接和cl(37)比较,条件是jle,如果cl37小于等于esp+f,则跳转到错误,所以要让esp+f小于37,我们是36,所以是小的,所以,直接走就可以。然后直接f9运行后,提示注册成功。
所以,流程出来了,第一个为A,第二个的assic码要小于A,第3个要大于第2个,第4个要小于第3个,可以写一个注册机了就,当然这个是最简单了的。同时因为涉及到符号,所以写的时候注意一下范围就好了。

smile1110 发表于 2017-4-7 00:40

追码!!!!!!!!!!!!!!!!!!!!!

yue2363311 发表于 2017-4-7 07:28

每次来看看,都是学习的机会,谢谢分享。

xiaohong 发表于 2017-4-7 07:45

链接挂了,楼主补吧

xiaoxi2011 发表于 2017-4-7 09:18

学习了,谢谢分享

byh3025 发表于 2017-4-7 10:11

楼主追的码呢?

YY妖爱YY妖 发表于 2017-4-7 20:27

zdw7755 发表于 2017-4-8 10:11

每次来看看,都是学习的机会,谢谢分享。

不了情 发表于 2017-4-8 18:36

学习了!有点云!

晓安安 发表于 2017-4-8 20:03


每次来看看,都是学习的机会,谢谢分享。
页: [1] 2 3
查看完整版本: 基础破解高手略过新手练手2-追马