Windows逆向分析入门——代码篇
Posted wwgk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows逆向分析入门——代码篇相关的知识,希望对你有一定的参考价值。
前言
找到偏移之后,就是写辅助工具了。这一篇聊聊写辅助工具的原理。具体的代码细节,等到实战会展开细说。
明确一下
逆向两个目的
1、调用功能
2、获取数据
对应的实现方法
1、调用功能
找到偏移,直接调用。
2、获取数据
对于全局数据,找到偏移,直接得到。
对于局部数据,拦截代码,间接得到 。
写外部工具
1、调用功能
windows系统提供了接口(CreateRemoteThread),允许一个软件调用另一个软件的功能。
2、获取数据
对于全局数据
windows系统提供了接口(ReadProcessMemory),允许一个软件获取另一个软件的数据。
对于局部数据
windows系统提供了调试机制,就是在目标软件设置陷阱,当软件触发到陷阱,会暂停下并且抛出报错信息
辅助工具监听到报错信息,进而获取目标软件的数据。
写内部工具
辅助工具,可以写个间谍模块(dll),然后注入到目标软件里面去。
通过间谍模块,辅助工具就可以操控目标软件,进而调用功能或者获取数据。
1、调用功能
在内部,可以直接调用
2、获取数据
对于全局数据
在内部,可以直接获取
对于局部数据
内部修改代码拦截(HOOK)
正常流程:步骤1 -> 步骤2
拦截流程:步骤1 -> hook拦截 -> 步骤2
理论上的东西,差不多这样,下一篇,聊逆向分析用到的工具。
以上是关于Windows逆向分析入门——代码篇的主要内容,如果未能解决你的问题,请参考以下文章
Windows 逆向OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 )(代码
Windows 逆向CE 地址遍历工具 ( CE 结构剖析工具 | 人物数据内存结构 | 人物三维坐标数据分析 )
Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★
Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )