java中的接口是类吗
217
2022-10-21
逆向调试入门-判断逻辑
编程的时候,会有几个条件判断,当符合之后,才会允许下一步操作。
程序:
思路:
跟以前一样
2、猜想程序的逻辑结构
3、调试程序
实战
弹出窗口
我们开始调试,打开OD
一步一步进行调试,F8
这两个call函数,看样子是载入图标和鼠标样式
路过一个文件读取操作函数
在这里我们看到一个call函数,MessageBoxA
正是提示我们的“Evaluation period out of date. Purchase new license”
最后一个call函数是终止程序。
我们重新加载程序。Ctrl+F2
运行到断点处,F9
在这个MessageBox的函数前,我们跳过
经查询知道,这个JNZ指令条件跳转在于Z标志位
将标志位设置为0
来到这个函数,应该是读取文件,而且是许可证文件内容
下断点,我们继续
发现这个jmp跳转,直接到了call函数
这里的messagesbox提示“keyfile is not valid”,许可证内容。
重新加载程序
我们看看JL是跳转到哪里?
所以这里我们不能跳转。
赶紧查询手册
SF!=OF
我们改变SF的值
这里进行了对比。
我们让其不实现
一直走下来,发现弹出成功窗口
保存文件。
爆破成功!
1、打开先检查有没有“keyfile.dat”文件
2、检查许可证文件有没有足够的字符串
3、检查内容是不是ascall码47
查询得知,为大写的G,连续8个G
4、最后成功打开
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~