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

 

 

小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p=19

程序下载地址:https://pan.baidu.com/s/1u6SWgx83VWDwitNzxT2OXg    提取码:if41 

PEiD 查壳工具:https://pan.baidu.com/s/1iNS4UlBvmXCxaj5a-AFupw    提取码:79z5 

 

 

前言

 

inline patch “内嵌补丁” 指在程序文件中把补丁代码写入文件里面达到 PJ 的目的。

例:
原程序:  mov eax, dword ptr [ebp+8]    3个字节
想改为:  mov eax, 4                    5个字节
若如此修改,会产生溢出,覆盖了下面的指令

所以要采用内嵌补丁的方式:

1. 找程序的空白区间,写入自己需要的指令(mov eax, 4),以及会被覆盖的指令
2.将原来的指令(mov eax, dword ptr [ebp+8])改为 jmp XXXXXX(补丁的地址)(这个操作也会覆盖后面的内容)
3.在补丁最后加上 jmp XXXXXXX(原程序后面的内容的地址),跳出补丁,返回主程序

 

 

开始

 

首先用 PEiD 查看,可以看到是 VC6.0 写的程序:

然后用 OD 载入程序,按 F9 运行,程序运行,然后随便输入注册:

发现程序界面没什么反应,现在输入注册码,不要点击 OK。打开 OD ,按下 Ctrl + n ,输入 killtimer,查找 KillTimer

,右键 -》 在每个参考上设置断点

为什么要在 KillTimer 上设置断点呢?通过观察发现了,KillTimer 实现了类似C语言的 switch case 的效果

点击 cmp eax, 3 ,在数据窗口可以看到 是从哪个位置跳转过过来的,然后右键 转到 上级调用地址,按这种方法直到回溯到程序的开头

回溯到 程序头,即switch case ,然后加上断点

在向上看程序,函数的开头加个断点:

重新载入程序,让程序在函数开头的位置断下来,按 F8 单步调试,观察 eax 的值的变化:

解释:

所以就需要用到 内嵌补丁 来进行修补。什么是内嵌补丁,就是在程序中没用的内存空间写入补丁。因为程序在内存中都是需要内存对齐的,所以有些没用的空间都是用 0 来填充进行对齐,可以在这些地方写入补丁(这里写入地址为 5E47D0):

快速定位技巧:设置书签

记住位置或者设置书签,复制被覆盖的汇编代码:

原来位置的修改:

跳转到要写入内嵌补丁的位置,开始写入补丁:

 

粘贴被覆盖的代码,然后再跳转到原来的位置:

保存修改,然后运行程序,发现程序一直死循环。说明程序还有问题,冲洗载入程序,单步调试,当程序运行到 cmp eax,4 时,更改 ZF 标志位,让程序跳转实现,然后继续调试,发现当程序 执行 cmd eax,0B 时,程序正常。所以修改补丁位置 mov eax,4 位 mov eax, 0B

保存程序,然后运行程序,发现程序正常。

说明:当程序 mov eax,4 时,验证成功,但是验证成功后还的 mov eax,0B 跳出循环,所以当 mov eax,4 时,虽然验证成功,但是没有跳出循环,所以一直跳出窗口。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5 年提速 500 倍,英伟达 GPU 创纪录突破与技术有哪些?

作者:诗颖摘要:日前,英伟达 Developer Blog 上一篇博文详细陈述了英伟达 Volta Tensor Core GPU 在深度学习社群取得的巨大突破,以及种种突破背后的技术细节。2017 年 5 月,在 GTC 2017 上,英伟达 CEO 黄仁…

【译】Lesson 1: 一个三角形和一个方块

【声明】:本系列文章译自:http://learningwebgl.com/blog/?page_id1217, 感谢Giles Thomas;限于我的英文水平,本文翻译并不一定严格遵从原文,但也不会严重背离原文(如果有,请务必知…

小甲鱼 OllyDbg 教程系列 (三) :PJ 软件功能限制

小甲鱼OllyDbg教程:https://www.bilibili.com/video/av6889190?p8 https://www.freebuf.com/articles/system/87723.html 程序下载地址:https://pan.baidu.com/s/1OprawMSCXPZw1wuY5vxMmA 提取码: tp9e 无壳的实例 目标:去除软件功能限制…

特朗普即将主持AI会议 中美竞争成焦点

来源:华尔街见闻摘要:特朗普将用一整天在白宫主持他当选以来的第三次科技大会,这次的主题是人工智能(AI)。特朗普都将和硅谷巨头们探讨AI相关话题。其中,对AI技术的监管以及中美之间的AI竞争将会是会议的焦…

Fedora 10初体验

一、前奏 Fedora 10 - 熄灭吧 Fedora 是基于 Linux 的操作细碎,包罗了从容和开源软件最新的效果。Fedora 准许通通人从容操纵、修正和重新宣布。它由普及举世的贡献者协作开发,他们组成了 Fedora 项目社区。Fedora 项目对通通人都是开放的。 Fedora 项目…

DeepMind重大突破:AI进化出大脑级导航能力,像动物一样会“抄小路”

作者:刘伟摘要:DeepMind团队称,其最新研发出的一个人工智能程序具有类似哺乳动物一样的寻路能力。美国东部时间 5 月 9 日,一手打造 AlphaGo的DeepMind 团队又在世界顶级学术杂志《自然》上发表了一项重磅成果。在一篇题为 Vector…

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

小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p20 堆栈调用方法 程序运行后,直接断点到 004DC0D1 这个 位置,按 F8一直没反应,打开程序,可以看到 neg 窗口, 点击 exit ,关闭 neg …

Solaris 11 安装图解(8)

豆豆网 技能应用频道 图 13 完成安装界面 完成安装之后,安装日记会保留在文件中。可在以下地位检查安装日记:■ /a/var/sadm/system/logs/install_log■ /a/var/sadm/system/logs/upgrade_log■ /a/var/sadm/system/logs/sysidtool.log三、 系统登录…

CPU是如何制造出来的

来源:EDN电子技术设计摘要:Intelx86架构已经经历了二十多个年头,而x86架构的CPU对我们大多数人的工作、生活影响颇为深远。CPU是现代计算机的核心部件,又称为“微处理器”。对于PC而言,CPU的规格与频率常常被用来作为衡…

解析:GE工业互联网平台Predix

来源:赛迪智库摘要:当前,工业互联网平台作为我国构建工业互联网生态的核心载体,成为推动制造业与互联网融合的重要抓手。早在2012年GE提出工业互联网的概念,随后推出Predix,要将GE在工业领域的技术设备硬件…

小甲鱼 OllyDbg 教程系列 (十三) : 把代码和变量注入程序 以及 硬件断点

小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p21 程序下载地址:https://pan.baidu.com/s/1A4-BDgbdUgy-cmI4IMMzYw 提取码:jsdv 开始,按照惯例,首先用 PEiD 打开,看下是什么语…

小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear

小甲鱼 OD 使用教程:https://www.bilibili.com/video/av6889190?p22 exeScope 下载:https://pan.baidu.com/s/1dSWapltdQsX9ttl_lSoq_g 提取码:yz2p URlegal 下载:https://pan.baidu.com/s/1Ljbvsnk_1Ps0e-cp7a1F9A 提取码…

Swiftfox:极速的冲浪体验

Toy Posted in Apps将 Firefox 针对特定的处置惩罚器进行优化之后,便成了 Swiftfox。行使 Swiftfox,无论是启动次第本人,还是阅读网站内容,都能让你觉取得一股强烈的极速之风。更爽的是,你之前所用的 Firefox 设置、主…

小甲鱼 OllyDbg 教程系列 (十五) : 逆向注册机简单算法

小甲鱼 OD 教程: https://www.bilibili.com/video/av6889190?p24 KeygenMe 下载地址:https://pan.baidu.com/s/1gXAscM3WCNpIqxIm5t1rrQ 提取码:z5in 前言 用 OD 打开程序 输入框 常用 API,当不知道是哪个时,可…

以大自然为师,可上天入地的11款仿生机器人

来源:资本实验室尽管人类已经借助科技的力量改造了世界,但许多技能仍然为人类所不拥有,很多恶劣的环境仍然是人类的禁区。而经过大自然的“公平选择”,使得某些生物具有我们所不具备的独特“技能”“,也适合在人类难以…

深度分析:区块链技术未来发展的 8 个趋势

来源:36氪CB Insigh日前发表了一份关于区块链技术的研究报告,结合区块链目前的发展现状,提出了区块链技术未来发展的8个趋势。虽然加密货币和加密资产的价格已从2017年的峰值回落,但区块链创业公司的股权投资,在2018年…

小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析

小甲鱼 OD 教程( 多态 和 变形 分析 ): https://www.bilibili.com/video/av6889190?p25 https://www.bilibili.com/video/av6889190?p26 ReverseMe Tutorial.zip:https://pan.baidu.com/s/1xOUvXqX6lVdcCwQvpql…

全文解析:面向基于区块链的「机器人经济学」概念中,如何验证自主智能体的行为?...

原文来源:arXiv作者:Konstantin Danilov、Ruslan Rezin、Alexander Kolotov、 Ilya Afanasyev「雷克世界」编译:嗯~是阿童木呀、KABUDA、EVA随着AI技术的发展,自主智能体在速度和精确度方面有了很大的提升,变得更加智能…

小甲鱼 OllyDbg 教程系列 (十七) : 反调试

小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p27 ReverseMe.A.B.C.D 下载地址:https://pan.baidu.com/s/1_aVUa6aDATSpE6bQgc6hLA 提取码:ebo2 [调试篇] 调试篇 - 第二十二讲 - OD使用教程22(视频课件试验程序…

一张图看懂微软人工智能

来源:微软科技摘要:对于微软人工智能,你了解多少?是Cortana?是小冰?还是机器翻译?看完下面这张信息图,你会发现你所了解的,很可能只是冰山一角。看完你是否想要立刻参加微…