问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
逆向工程地基篇-动态分析方法
安全工具
学习了OllyDbg工具动态调试的基础使用方法,并使用OllyDbg工具对一个简单的应用程序做了修改,主要是在空白位置新建两个字符串,并将函数中原有字符串的地址用新的字符串地址替换掉,从而达到修改程序的目的,难度较简单,主要学习工具的使用和逆向的基础原理。
一、逆向基本概念 ======== (1)逆向工程 ------- 逆向工程是指通过分析物体、设备或系统掌握其内部结构、功能、行为等。代码逆向工程简称 RE或RCE,是一种研究应用程序内部组成结构和工作原理的技术,通过阅读反汇编后的代码,使用调试器分析软件行为等工作。逆向工程常常被用于恶意软件分析,软件破解等领域。 (2)逆向分析方法 --------- 1. ### 静态分析方法 静态分析是指在不运行代码文件的情况下,对代码分析的一种方法。可以获得文件类型、大小、PE头信息,注册信息、调试信息、数字证书等信息。 2. ### 动态分析方法、 动态分析是指程序的执行过程中对代码动态分析的一种方法。通过调试分析代码流、获得内存状态等。可以分析注册表、网络、软件程序的行为等。 逆向分析时可以先使用静态分析收集程序的有关信息,为动态分析提供参考信息,采用动静结合的分析方法,可以提高代码的分析效率,增加准确性,缩短分析的时间。 二、动态分析Hello word程序 ================== (1)安装 Visual Studio 2019 ------------------------    开始 下载安装  安装完后启动 VS2019 (2)OllyDbg工具介绍 -------------- OllyDbg是功能强大的Win32动态调试工具,简洁直观,体积小,运行速度快支持拓展。  常用快捷键: - 打开一个新的可执行程序 (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程序 -----------------  使用VS2019 打开 HelloWord文件夹  调试  生成HelloWord.exe  使用OllyDbg调试 HelloWord.exe  点击运行按钮  程序运行,并弹出窗口,显示文本Hello word!  在OllyDbg窗口,右键搜索 UNICODE  搜索到了窗口标题 www.reversecore.com 和文本内容 Hello World!地址分别是 00401002,00401007  快捷键 Ctrl + G 输入地址跳转  如果在原地址上直接修改数据,有可能覆盖后面地址的数据造成数据损坏。这里我们直接在空地址新建一个字符串,用新字符串的地址替换原有地址,从而防止数据被破坏。 在空地址004070EF上,快捷键CTRL + E 编辑一个字符串  在空地址0040710B上,快捷键CTRL + E 编辑一个字符串  回到地址00401002,00401007,双击 修改push 后的值,改为刚才编辑字符串的地址   然后执行,试试结果  修改成功  这样修改只是临时的,直接保存为一个新的exe文件。 选中修改的地方,右键复制到可执行文件  右键在新窗口,保存文件  重命名biu.exe 保存  双击运行  修改成功。 三、总结 ==== 学习OllyDbg工具动态调试的基础使用方法,并使用OllyDbg工具对一个简单的应用程序做了修改,主要是在空白位置新建两个字符串,并将函数中原有字符串的地址用新的字符串地址替换掉,从而达到修改程序的目的,难度较简单,主要学习工具的使用和逆向的基础原理。
发表于 2021-08-19 10:45:04
阅读 ( 5405 )
分类:
漏洞分析
0 推荐
收藏
0 条评论
请先
登录
后评论
飞神剑
一个起早贪黑的保安
2 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!