《逆向从入门到变态》第二章笔记
《逆向从入门到变态》第二章——笔记
2.1 x64dbg分析Hello World程序
本章代码如下:
#include <Windows.h>
#include <stdio.h>
int main(int aggc, TCHAR *argv[])
{
MessageBoxW(NULL,
L"Hello World",
L"Text",
MB_OK);
return 0;
}
2.1.1 x64dbg快捷键(一些代码跳转之类的)
| 指令 | 快捷键 |
|---|---|
| 步过 | F8 |
| 跳转 | Ctrl+G |
| 运行 | F9 |
| 转到上一个 | "-" |
| 步进 | F7 |
2.2 访问目标地址的常用方法
2.2.1 使用跳转命令(Ctrl+G)
2.2.2 设置断点(F2)
2.2.3 注释(;)
2.2.4 标签(:)
2.3 查找指定代码的地址
2.3.1 代码执行法
用法:使用F7/F8快捷键快速找到相应的函数入口。
限制:具有明显的特征。(目前学到的是确认按钮、以及输入scanf)
2.3.2 字符串检索法
用法:右键->搜索->当前模块/所有模块->字符串
(实例中的API为"Hello World"与"Text")
2.3.3 API查询法
用法:右键->搜索->当前模块/所有模块->跨模块调用
(示例中的API为MessageBoxW)
2.4 修改标题以及内容并打包成补丁
2.4.1 修改文本的方法
2.4.1.1 直接修改法
1、查看该指针所指向的数据:右键->再内存窗口转到->常数(C)
2、在内存区选中所要修改的字符串,右键->二进制编辑->编辑
3、编辑:在字符串界面修改即可
2.4.1.2 修改数据地址的方法
1、寻找空间:在内存区找一处比较空旷的空间
2、获取地址:在左侧首地址处,右键->复制->地址
3、修改数据:与直接修改法编辑方式一样
4、修改指针:找到相应的代码(通过字符串查找法),修改指针为步骤2获取到地址即可。
2.4.2 修改并打补丁
这里直接用2.4.1.2的修改数据地址的方法,按照正常方式打补丁即可。

浙公网安备 33010602011771号