逆向工程是指通过分析物体、设备或系统掌握其内部结构、功能、行为等。代码逆向工程简称 RE或RCE,是一种研究应用程序内部组成结构和工作原理的技术,通过阅读反汇编后的代码,使用调试器分析软件行为等工作。逆向工程常常被用于恶意软件分析,软件破解等领域。
静态分析是指在不运行代码文件的情况下,对代码分析的一种方法。可以获得文件类型、大小、PE头信息,注册信息、调试信息、数字证书等信息。
动态分析是指程序的执行过程中对代码动态分析的一种方法。通过调试分析代码流、获得内存状态等。可以分析注册表、网络、软件程序的行为等。
逆向分析时可以先使用静态分析收集程序的有关信息,为动态分析提供参考信息,采用动静结合的分析方法,可以提高代码的分析效率,增加准确性,缩短分析的时间。
开始 下载安装
安装完后启动 VS2019
OllyDbg是功能强大的Win32动态调试工具,简洁直观,体积小,运行速度快支持拓展。
常用快捷键:
使用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工具对一个简单的应用程序做了修改,主要是在空白位置新建两个字符串,并将函数中原有字符串的地址用新的字符串地址替换掉,从而达到修改程序的目的,难度较简单,主要学习工具的使用和逆向的基础原理。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!