就差一步之遥,牛牛推我一把吧。
本帖最后由 lmzdq 于 2015-8-23 14:09 编辑近日看一教程,跟着练,没想到遇到困难,解决不了,请大牛帮着研究一下。程序逆向过程如下:
1、查壳,无壳,为VC++编写。
2、OD载入,OEP清晰,的确无壳。
3、运行程序,输入注册码,点确定,显示
4、F12,暂停程序,单击“K”,来到这里:
5、“显示调用”最后一个,来到这里:
0c1b5f2b,这个上面有三个跳转。
6、给0c1b5f2b下断,发现,注册框中的“确定”点击了后,下不去了,不会跳出注册不对的提示了。初步判断只要跳过这个0c1b5f2b call,就可以实现逆向,未曾想到虽然这上面的三个跳转,任何一个都可以跳过0c1b5f2b,但不管哪个跳转改为jmp,都还是会显示注册码不对的提示。
7、研究发下,这三个跳转虽可以跳过0c1b5f2b,但往下走,会有几个往上跳的指令,这样又回到上面,程序必须走到0c1b5f2b,如图:
8、没办法,就开始研究,0c1b5f2B这个call的上面的跳转上面的call,看看有没有出路,发现,它的上面,还有三个call。
9、接下来,开始研究这上面的CAll,在段首处下断,单步步过,到了call处,再单步步入,没什么收获。
10、还是回到0c1b5f2B这个call上,单步步入,发现提示:注册码不对的地方。
接下来,就不知道怎么处理了。大牛,指点下迷津吧。
ret直接秒杀
感谢分享。。。支持楼主。。。
但不进入这个关键CALL一直走看看 如果里面能跳过在里面 不然就一直走 他是CALL里面的一个CALL
这种老软件 应该可以追出码.留楼编辑.
牛牛具体指导下吧!
不会玩,感觉验证不在你说的那段,而是在时钟里面!!
这个本以为很简单的爆破或追码,怎么弄得很复杂了?这么多人不会破,真是意外啊。
是一个vf程序,没有思路。
页:
[1]