内嵌补丁指在程序文件中把补丁代码写入文件里面达到破解的目的。

查询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相关推荐

  1. OD调试 内嵌补丁(一般调试加壳)

    内嵌补丁的核心是 在没有代码处(程序只是为了填满内存)写上代码(一般是赋值)利用程序跳出再跳回去实现(写的时候与源程序保持一点距离) 优势:解决在程序上直接写代码后面代码被覆盖的情况 跳出来 修改+跳 ...

  2. 小甲鱼 OllyDbg 教程系列 (十一) : inline patch ( 内嵌补丁 )

    小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p=19 程序下载地址:https://pan.baidu.com/s/1u6SWg ...

  3. 内嵌补丁 与 洞穴代码分析案例

    示范案例:unpackme#1.aC.exe,学习过程参照<逆向工程核心原理> 如您发现了某些错误和不规范,请务必指正 内嵌补丁: 如名字所述,是指将补丁内嵌进程序中的一种打补丁的办法.与 ...

  4. 小甲鱼 OllyDbg 教程系列 (十二) : inline patch ( 内嵌补丁 ) 之 调用堆栈查找法

    小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p=20 堆栈调用方法 程序运行后,直接断点到 004DC0D1 这个 位置,按 F8一直没反应, ...

  5. c 内嵌php 韩天峰,PHP-X系列教程之内置函数的使用示例

    前言 本文主要给大家介绍关于PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单. 对php-x不熟悉的朋友们可以看下这篇文章: ...

  6. 在C++中侦测内嵌型别的存在(rev#2)

    在C++中侦测内嵌类型的存在(rev#2) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) 动机(Motivation) 假设一所大学的注册系统 ...

  7. PLUS模型有两大模块,一是基于土地扩张分析策略的规则挖掘框架,二是基于多类型随机补丁种子的CA模型,此外该模型还内嵌了Markov chain,以便于对土地利用数量需要作出预测。

    工业革命以来,社会生产力迅速提高,人类活动频繁,此外人口与日俱增对土地的需求与改造更加强烈,人-地关系日益紧张.此外,土地资源的不合理开发利用更是造成了水土流失.植被退化.水资源短缺.区域气候变化.生 ...

  8. 【软件开发底层知识修炼】十二 C/C++语言中内嵌汇编语言(asm)

    上一篇文章学习了链接脚本的语法与相关概念:链接脚本的概念 在继续学习链接器的内容的同时,先学习一个新内容:内嵌汇编. GCC编译器一般支持C/C++内嵌汇编语言,这样可以实现语言本身无法实现的内容.我 ...

  9. 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式

    1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...

最新文章

  1. 关键任务应用程序依赖于故障保护存储器
  2. 20180925-7 规格说明书-吉林市2日游
  3. Linux数据写操作改进
  4. It is possible that this issue is resolved by uninstalling an existi
  5. 5招减少网站恶意文件上传
  6. 后副车架焊接机器人_车架全自动焊接机器人的日常维护保养方法
  7. c语言match,LeetCode第10题: isMatch(C语言)
  8. 总结 构造函数与非构造函数 原型继承的一个方法
  9. CodePage简介(转)
  10. c语言判断字符串是不是回文_LeetCode 热题 HOT 100 5. 最长回文子串
  11. 计算机2013知识,【2013年计算机基础知识习题与答案(三)】- 环球网校
  12. 例题 2 最敏捷的机器人
  13. 论文阅读之ALBERT
  14. 使用webpack.require优化vue项目的路由
  15. 十八、Oracle学习笔记:PLSQL操作(含游标的操作)
  16. 解决 Error:No suitable device found: no device found for connection System eth0
  17. HTML+CSS零基础学习笔记(二)
  18. python萤火虫算法_萤火虫算法-python实现
  19. MyBatis-Plus 扩展篇 > 自动填充功能
  20. html5 斜边,css斜切角 斜边 倒角

热门文章

  1. 生信宝典,生物信息学习资源
  2. Mac操作指南:Mac Monterey实况文本功能如何开启和关闭?
  3. 计算机类自主招生推荐信,自主招生推荐信范文:中国人民大学自主招生推荐信...
  4. C++游戏入门书籍推荐
  5. vue router 的两种路由模式hash与history的区别
  6. 合泰单片机市场占有率_holtek单片机图文全面详解
  7. QML笔记-JavaScript在QML中的使用(直接调用和间接调用)
  8. WEB安全基础-XSS基础
  9. Java基础入门笔记-多态
  10. macosx php环境,MacOSX环境下MAMP安装配置PHP的开发环境