IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Detours学习之五:PayLoads有效负载和DLL导入编辑 -> 正文阅读

[开发工具]Detours学习之五:PayLoads有效负载和DLL导入编辑

PayLoads有效负载和DLL导入编辑

? ? 除了附加和分离detours函数的api外,detours包还包括附加任意数据段(称为有效负载)到Windows二进制文件和编辑DLL导入表的api。Detours中的二进制编辑api是完全可逆的;Detours在二进制文件中存储恢复信息,以便在将来的任何时候删除编辑。


?

? ? ?Windows PE二进制文件格式。


? ?上图显示了Windows Portable Executable (PE)二进制文件的基本结构。Windows二进制文件的PE格式是COFF(通用对象文件格式)的扩展。一个Windows二进制文件包括一个DOS兼容的头文件,一个PE头文件,一个包含程序代码的文本部分,一个包含初始化数据的数据部分,一个包含任何导入dll和函数的导入表,一个包含代码导出函数的导出表,以及调试符号。除了两个头文件外,文件的其他部分都是可选的,可能在给定的二进制文件中不存在。


? ??

detours修改二进制文件的格式。


? ? ? 要修改Windows二进制文件,Detours在导出表和调试符号之间创建一个新的. Detours部分,如上面图所示。注意,在Windows二进制文件中,调试符号必须总是位于最后。新section包含一个detours头记录和一个原始PE头的副本。如果修改导入表,Detours将创建新的导入表,将其附加到复制的PE头,然后修改原始PE头以指向新的导入表。最后,Detours在. Detours部分的末尾写入任何用户有效负载,并附加调试符号以完成文件。Detours可以通过从. Detours部分恢复原始PE头并删除. Detours部分来逆转对Windows二进制文件的修改。上图显示了经过detours修改的Windows二进制文件的格式。

? ? ? 创建一个新的导入表有两个目的。首先,它保留了原始的导入表,以防程序员需要逆转对Windows文件的所有修改。其次,新的导入表可以包含重命名的导入dll和函数,也可以包含全新的dll和函数。例如,Detours包中包含的setdll.exe程序将用户DLL的初始条目插入到目标应用程序二进制文件中。作为应用程序导入表中的第一个条目,用户的DLL始终是应用程序地址空间中运行的第一个DLL。

? ? ? ? ? Detours提供了用于编辑导入表(DetourBinaryEditImports)、添加payloads有效负载(DetourBinarySetPayload)、枚举有效负载(DetourBinaryEnumeratePayloads)和删除有效负载(detourbinarypurgepayload)的api。Detours还提供了枚举映射到地址空间的二进制文件(detourenumeratemodule)和在这些映射的二进制文件中定位有效负载(DetourFindPayload)的api。也可以使用DetourFindRemotePayload在远程进程中找到有效负载。每个有效负载由128位全局唯一标识符(GUID)标识。Payloads有效负载可用于将每个应用程序配置数据附加到应用程序二进制文件。

? ? ? ?Payloads有效负载可以直接复制到目标进程使用DetourCopyPayloadToProcess或DetourCopyPayloadToProcessEx API。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-29 13:15:51  更:2021-10-29 13:17:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:55:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码