问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
逆向工程地基篇-动态分析方法
安全工具
学习了OllyDbg工具动态调试的基础使用方法,并使用OllyDbg工具对一个简单的应用程序做了修改,主要是在空白位置新建两个字符串,并将函数中原有字符串的地址用新的字符串地址替换掉,从而达到修改程序的目的,难度较简单,主要学习工具的使用和逆向的基础原理。
一、逆向基本概念 ======== (1)逆向工程 ------- 逆向工程是指通过分析物体、设备或系统掌握其内部结构、功能、行为等。代码逆向工程简称 RE或RCE,是一种研究应用程序内部组成结构和工作原理的技术,通过阅读反汇编后的代码,使用调试器分析软件行为等工作。逆向工程常常被用于恶意软件分析,软件破解等领域。 (2)逆向分析方法 --------- 1. ### 静态分析方法 静态分析是指在不运行代码文件的情况下,对代码分析的一种方法。可以获得文件类型、大小、PE头信息,注册信息、调试信息、数字证书等信息。 2. ### 动态分析方法、 动态分析是指程序的执行过程中对代码动态分析的一种方法。通过调试分析代码流、获得内存状态等。可以分析注册表、网络、软件程序的行为等。 逆向分析时可以先使用静态分析收集程序的有关信息,为动态分析提供参考信息,采用动静结合的分析方法,可以提高代码的分析效率,增加准确性,缩短分析的时间。 二、动态分析Hello word程序 ================== (1)安装 Visual Studio 2019 ------------------------ ![image-20210803121601648](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-30562bb38b4442093af462ccf5ac962413474ec6.png) ![image-20210803121922792](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-8b02d16d845c4762cd3d28cfdd7e11ee2d306906.png) ![image-20210803122031912](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-f4077a23d8604a8b6a9eb1a29bccfb7a0b1eaf1c.png) 开始 下载安装 ![image-20210803122050913](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-d04fded8d0bc0121d07861adb46e11f6b810e010.png) 安装完后启动 VS2019 (2)OllyDbg工具介绍 -------------- OllyDbg是功能强大的Win32动态调试工具,简洁直观,体积小,运行速度快支持拓展。 ![image-20210803133620126](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-804748679a9a866554bd5f418273367800f3ae4e.png) 常用快捷键: - 打开一个新的可执行程序 (F3) - 设置/取消 断点 F2 - 运行到选定程序暂停 F4 - 重新运行当前调试的程序 (Ctrl+F2) - 当前调试的程序 (Alt+F2) - 运行选定的程序进行调试 (F9) - 暂时停止被调试程序的执行 (F12) - 单步进入被调试程序的 Call 中 (F7) - 步过被调试程序的 Call (F8) - 跟入被调试程序的 Call 中 (Ctrl+F11) - 跟踪时跳过被调试程序的 Call (Ctrl+F12) - 执行直到返回 (Ctrl+F9) - 显示记录窗口 (Alt+L) - 显示模块窗口 (Alt+E) - 显示内存窗口 (Alt+M) - 显示 CPU 窗口 (Alt+C) - 显示补丁窗口 (Ctrl+P) - 显示呼叫堆栈 (Alt+K) - 显示断点窗口 (Alt+B) - 打开调试选项窗口 (Alt+O) (3)分析Hello word程序 ----------------- ![image-20210803130330241](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-4456b1fdb7df3192f5def5f769e975cdfe42ca95.png) 使用VS2019 打开 HelloWord文件夹 ![image-20210803130409931](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-821947865605e0f6601ff292c95c661367eb051c.png) 调试 ![image-20210803131404435](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-099df9deb66a11ea648803c1cfb04338a3909562.png) 生成HelloWord.exe ![image-20210803131753679](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-ea1fbfaa3f7ab2f5de7faca3a795383b0e32317f.png) 使用OllyDbg调试 HelloWord.exe ![image-20210803233507125](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-7bfd92ed3f18117c7d79f3c59e213e61c1ea3a42.png) 点击运行按钮 ![image-20210803233556611](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-544981fe0bd20a5cf4ac8974b83e66ad9092e915.png) 程序运行,并弹出窗口,显示文本Hello word! ![image-20210803233625260](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-757c9cbca923bc217e81c8af687cc516756f7746.png) 在OllyDbg窗口,右键搜索 UNICODE ![image-20210803233740610](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-8b7c0eaf4d239d50e17f6b20441aea62baa2eaf0.png) 搜索到了窗口标题 www.reversecore.com 和文本内容 Hello World!地址分别是 00401002,00401007 ![image-20210803233845625](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-06e058f9c3cc9a8b47e6ac9d3ab0a0aa4149d2a6.png) 快捷键 Ctrl + G 输入地址跳转 ![image-20210803235636916](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-8bcd8d47dfd6c101349ff3181a7208a6ec1c1471.png) 如果在原地址上直接修改数据,有可能覆盖后面地址的数据造成数据损坏。这里我们直接在空地址新建一个字符串,用新字符串的地址替换原有地址,从而防止数据被破坏。 在空地址004070EF上,快捷键CTRL + E 编辑一个字符串 ![image-20210804000438398](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-98271b52ea1e68e5e1fa0e6361e87bb025ba81ee.png) 在空地址0040710B上,快捷键CTRL + E 编辑一个字符串 ![image-20210804000601125](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-e01ac560c3491cc1846112e34bfc3c0b827f6028.png) 回到地址00401002,00401007,双击 修改push 后的值,改为刚才编辑字符串的地址 ![image-20210804000808195](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-c306333d32fd327690446a10a90c5e090a35d927.png) ![image-20210804000843278](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-096fdf17c6916313f870a56e0c0ee57787eb3043.png) 然后执行,试试结果 ![image-20210804000915885](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-03800a4b362b70e95e665c389ab2fe2b8aad4baf.png) 修改成功 ![image-20210804000941719](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-3748b701f48a2b7312ba52f60e051c7d466169e9.png) 这样修改只是临时的,直接保存为一个新的exe文件。 选中修改的地方,右键复制到可执行文件 ![image-20210804002103803](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-e80a801a48f69f97a62c2aed2b7bdb4602c651c7.png) 右键在新窗口,保存文件 ![image-20210804002856335](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-7359ed465ae7b8380a5912069b3b2463ba39ac6b.png) 重命名biu.exe 保存 ![image-20210804001343287](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-b7a9e75c8297dca42a18c4e5e78e48620cdf4c77.png) 双击运行 ![image-20210804002919380](https://shs3.b.qianxin.com/attack_forum/2021/12/attach-a1fd3de4e9d678b7b4fc75e96c3af7b043826835.png) 修改成功。 三、总结 ==== 学习OllyDbg工具动态调试的基础使用方法,并使用OllyDbg工具对一个简单的应用程序做了修改,主要是在空白位置新建两个字符串,并将函数中原有字符串的地址用新的字符串地址替换掉,从而达到修改程序的目的,难度较简单,主要学习工具的使用和逆向的基础原理。
发表于 2021-08-19 10:45:04
阅读 ( 4706 )
分类:
漏洞分析
0 推荐
收藏
0 条评论
请先
登录
后评论
飞神剑
一个起早贪黑的保安
2 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!