小甲鱼 OllyDbg 教程系列 (六) :PJ 软件功能限制(不修改jnz的非爆破方法)
2023-09-11 14:13:58 时间
小甲鱼视频地址:https://www.bilibili.com/video/av6889190?p=13
小甲鱼OD学习第9讲:https://www.bbsmax.com/A/x9J23xEM56/
程序下载地址:https://pan.baidu.com/s/1JTQ32xIBV6XiPtuXsOIgiw 提取码: r5t4
这次我们的任务是 pj 去掉注册软件的限制,如下图所示
当我们输入账号密码的时候,它会提示输入的账号密码是无效的,如下图
我们把程序载入OD,然后在查找字符串那里输入提示的无效账号密码的字符串,如下图
然后下断点
然后运行程序,然后点击注册按钮,我们来到了如下图所示的地方,经过观察,我们可以发现,这个软件是否成功注册取决于地址4299B5 的代码test al,al
于是我们在这行代码的前一个call MrBills.0040714C下断点,如下图所示
再次运行程序,点击注册按钮,然后在断点 004299AD处进入程序内部,程序内部如下图所示,
这个时候,我们重点关注有寄存器AL的地方,然后经过观察,我们发现了 地址为00407011 mov al.bl
然后我们尝试把这行代码改为 mov al,1, 看看有什么效果
修改,然后保存
然后打开程序,发现已经去除限制成功!!!说明猜想是正确的!
相关文章
- web安全day24:一文读懂Linux系统安装软件的几种方法
- 几种常见的创建线程的方法
- 文本张量的表示方法
- C#,入门教程(38)——大型工程软件中类(class)修饰词partial的使用方法
- WinRAR软件注册的方法介绍
- 360广告弹窗彻底关闭的方法教程
- 2.3.2 进程互斥的软件实现方法
- Ubuntuzilla: 安装最新版Mozilla软件的简单方法
- 《实践者的研究方法》—— 第1章 软件的本质 1.3 小结
- 《实践者的研究方法》—— 第2章 软件工程 2.2 软件过程
- JVM-对象内存回收方法与垃圾收集器算法
- Android中传递对象的三种方法
- 短语挖掘方法
- 《软件工艺》—第1章“足够好”的软件开发方法的危害
- 《Effective Debugging:软件和系统调试的66个有效方法》——第4条:从具体问题入手向上追查bug,或从高层程序入手向下追查bug
- 《Effective Debugging:软件和系统调试的66个有效方法》——第5条:在能够正常运作的系统与发生故障的系统之间寻找差别
- 《Effective Debugging:软件和系统调试的66个有效方法》——第14条:考虑对软件进行更新
- 《Effective Debugging:软件和系统调试的66个有效方法》——第16条:使用专门的监测及测试设备
- 《Effective Debugging:软件和系统调试的66个有效方法》——第21条:把属于同一个类型的所有问题全都修复好
- Django 4.x Message 消息使用示例和配置方法
- 如果穿越回2000年您会推广微服务么(读书笔记《软件构架基础 工程方法》)
- 运营前线1:一线运营专家的运营方法、技巧与实践02 运营中的黄金模型:用户金字塔模型
- JAVA异常总结!!(使用方法)
- 《C#零基础入门之百识百例》(六十七)枚举常用方法 -- 使用示例
- Python类的定义、方法和属性使用
- C# 扩展方法
- FactoryMethod工厂方法模式(创建型模式)
- JavaScript引用类型之Array数组的栈方法与队列方法
- 软件定义网络安全:一种"零接触"方法
- 《Effective Java》第16条:要在仅有类中使用访问方法而非公有域