10. OD-VC程序暴力破解

版权声明:墨痕诉清风 https://blog.csdn.net/u012206617/article/details/88083090

 

查找字符串:unregistered

找到关键位置处后,发现je跳转改为nop并没什么作用

关键在于al值为0,所有未注册

al值为 esp+4中的值获得

esp+4又是两处地址调用得到,如上图

右键call两处地址分别下断点

调试在第一个端点处调试,则另一个可以取消了

eax为函数返回值,后结果被push进我们的断点函数

那么上一个call下断点

我们输入的是5个字母,cmp eax,4    如果小于4直接retn,报错数据太短

接下来就是push 3个参数进入函数,这个函数应该就是加密计算的函数

在整个函数内运行调试,查看开始到结束retn的所有过程

记录中间是否还有retn是因为标志位未实现而导致未进入的

一般我们写程序也会返回两个值,要么正确要么错误,所有未注册自然会进入错误,而正确进入正确的retn

第一个retn,因为返回值为eax,那么我们把al改为1(mov al,1)直接retn,测试成功破解

第二个retn前有3个函数,就是做加密算法的,我们自己做加密算法是通过计算机某为一只进行各种计算得出结果。

判断3个函数就是做此功能。

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/88083090
10.