13. OD-内嵌补丁,过期的软件DVD Menu Studio破解,switch函数,break等于KillTimer
内嵌补丁指在程序文件中把补丁代码写入文件里面达到破解的目的。
查询KillTimer函数,意思是break的意思
eax不能等于3,等于4就会进入正确轨道
我们回溯cmp eax,3指令,回到跳转该指令的位置
直到最开始的switch位置,下断点
这里是赋值ax的地方,下图
如果我们修改这行代码未mov eax,4,那么这行代码会覆盖下面两行代码,因为原本3个字节的指令变成了4个字节的指令。
这时候,我们就需要学到 内嵌补丁
拉到程序最后面
这些地方就是内嵌补码的书写位置
我们将mov eax,4写入这里,并把被覆盖的代码粘贴在这里
如何修改源代码未jmp到我们补码的位置 005E47D0
接下来内嵌补丁结束也要返回去源位置
改完后发现一个问题,程序进入死循环,永远退不出switch,无限弹出注册成功对话框
F8调试,发现只有eax等于B,switch最后一个选项才可以正常退出,否则持续死循环,必须找到break类似的退出
我们找到了跳出死循环的跳转指令及参数
我们修改代码4改为0B
程序破解成功了。
第二种方法:
进入
按暂停,打开堆栈界面,K界面
因为先生成界面,后弹出neg窗口,使用我们判断从最后一个开始向前寻找条用的堆栈窗口。
按界面exit退出注册界面断点才开始继续,否则断点不会过call,判断此call就是验证对话框的运行函数体
确定此call就是验证对话框的函数体
然后我们向上寻找整个此函数体的开始部分,寻找push ebp,下断点
F8跟踪运行寻找关键跳转,跳出此验证对话框的跳转点,改为nop
破解成功
总结:1. 内嵌补丁是为了修改指令后覆盖源码的情况下,在最后面添加代码做程序的补码而使用的。
2. switch寻找跳出循环的break关键跳转位置。
13. OD-内嵌补丁,过期的软件DVD Menu Studio破解,switch函数,break等于KillTimer相关推荐
- OD调试 内嵌补丁(一般调试加壳)
内嵌补丁的核心是 在没有代码处(程序只是为了填满内存)写上代码(一般是赋值)利用程序跳出再跳回去实现(写的时候与源程序保持一点距离) 优势:解决在程序上直接写代码后面代码被覆盖的情况 跳出来 修改+跳 ...
- 小甲鱼 OllyDbg 教程系列 (十一) : inline patch ( 内嵌补丁 )
小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p=19 程序下载地址:https://pan.baidu.com/s/1u6SWg ...
- 内嵌补丁 与 洞穴代码分析案例
示范案例:unpackme#1.aC.exe,学习过程参照<逆向工程核心原理> 如您发现了某些错误和不规范,请务必指正 内嵌补丁: 如名字所述,是指将补丁内嵌进程序中的一种打补丁的办法.与 ...
- 小甲鱼 OllyDbg 教程系列 (十二) : inline patch ( 内嵌补丁 ) 之 调用堆栈查找法
小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p=20 堆栈调用方法 程序运行后,直接断点到 004DC0D1 这个 位置,按 F8一直没反应, ...
- c 内嵌php 韩天峰,PHP-X系列教程之内置函数的使用示例
前言 本文主要给大家介绍关于PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单. 对php-x不熟悉的朋友们可以看下这篇文章: ...
- 在C++中侦测内嵌型别的存在(rev#2)
在C++中侦测内嵌类型的存在(rev#2) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) 动机(Motivation) 假设一所大学的注册系统 ...
- PLUS模型有两大模块,一是基于土地扩张分析策略的规则挖掘框架,二是基于多类型随机补丁种子的CA模型,此外该模型还内嵌了Markov chain,以便于对土地利用数量需要作出预测。
工业革命以来,社会生产力迅速提高,人类活动频繁,此外人口与日俱增对土地的需求与改造更加强烈,人-地关系日益紧张.此外,土地资源的不合理开发利用更是造成了水土流失.植被退化.水资源短缺.区域气候变化.生 ...
- 【软件开发底层知识修炼】十二 C/C++语言中内嵌汇编语言(asm)
上一篇文章学习了链接脚本的语法与相关概念:链接脚本的概念 在继续学习链接器的内容的同时,先学习一个新内容:内嵌汇编. GCC编译器一般支持C/C++内嵌汇编语言,这样可以实现语言本身无法实现的内容.我 ...
- 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式
1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...
最新文章
- 关键任务应用程序依赖于故障保护存储器
- 20180925-7 规格说明书-吉林市2日游
- Linux数据写操作改进
- It is possible that this issue is resolved by uninstalling an existi
- 5招减少网站恶意文件上传
- 后副车架焊接机器人_车架全自动焊接机器人的日常维护保养方法
- c语言match,LeetCode第10题: isMatch(C语言)
- 总结 构造函数与非构造函数 原型继承的一个方法
- CodePage简介(转)
- c语言判断字符串是不是回文_LeetCode 热题 HOT 100 5. 最长回文子串
- 计算机2013知识,【2013年计算机基础知识习题与答案(三)】- 环球网校
- 例题 2 最敏捷的机器人
- 论文阅读之ALBERT
- 使用webpack.require优化vue项目的路由
- 十八、Oracle学习笔记:PLSQL操作(含游标的操作)
- 解决 Error:No suitable device found: no device found for connection System eth0
- HTML+CSS零基础学习笔记(二)
- python萤火虫算法_萤火虫算法-python实现
- MyBatis-Plus 扩展篇 > 自动填充功能
- html5 斜边,css斜切角 斜边 倒角
热门文章
- 生信宝典,生物信息学习资源
- Mac操作指南:Mac Monterey实况文本功能如何开启和关闭?
- 计算机类自主招生推荐信,自主招生推荐信范文:中国人民大学自主招生推荐信...
- C++游戏入门书籍推荐
- vue router 的两种路由模式hash与history的区别
- 合泰单片机市场占有率_holtek单片机图文全面详解
- QML笔记-JavaScript在QML中的使用(直接调用和间接调用)
- WEB安全基础-XSS基础
- Java基础入门笔记-多态
- macosx php环境,MacOSX环境下MAMP安装配置PHP的开发环境