- 1
- 2
- 3
- 4
- 5
静态二进制插桩技术详解.docx
资料介绍
静态二进制插桩
一、基本概念
什么是静态二进制插桩
静态二进制插桩(Static Binary Instrumentation,简称SBI)是一种不依赖源代码,直接对编译完成的二进制可执行文件进行修改,在目标程序的指定位置插入自定义代码,实现对目标程序行为监控、功能扩展或者数据采集的二进制分析技术。和动态插桩在程序运行时内存中完成修改不同,静态二进制插桩的修改操作直接作用于磁盘上的二进制文件,修改后的程序可以独立运行,不需要额外的运行时支撑框架。
二、核心原理
基本流程
静态二进制插桩的核心流程可以分为四个步骤:
1. 二进制解析:解析目标二进制文件的格式,获取段信息、符号表、导入导出表、重定位表等结构,识别出可插入代码的空闲区间,同时定位需要插桩的目标地址。
2. 指令分析:对插桩点附近的指令进行反汇编,分析指令长度、指令之间的依赖关系,确定被截断指令的长度,计算空间占用。
3. 桩代码生成与空间分配:根据插桩需求生成自定义的桩代码,分配空闲存储区域存放桩代码,处理因为插入桩代码带来的地址偏移问题。
4. 原指令修复与链接:在插桩点写入跳转指令跳转到桩代码,修复原程序被截断的指令,在桩代码执行完成后跳转回原程序正常流程,最后把修改后的内容写回二进制文件。
关键技术点
1. 空闲空间利用:常见的空闲空间来源包括二进制文件的段对齐间隙、文件头部的保留区域、未使用的代码段空隙、重定位表的冗余空间等,也可以通过新增段的方式存储桩代码。
2. 分支偏移修正:插入代码会改变部分指令的相对偏移,需要对插桩点前后的相对跳转、条件跳转、调用指令的偏移量进行修正,避免程序运行出错。
部分文件列表
| 文件名 | 大小 |
| 静态二进制插桩技术详解.docx | 16K |
最新上传
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏310.00元 3天前
用户:mulanhk
-
21ic下载 打赏320.00元 3天前
用户:jh03551
-
21ic下载 打赏220.00元 3天前
用户:jh0355
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏210.00元 3天前
用户:小猫做电路
-
21ic下载 打赏60.00元 3天前
用户:gsy幸运
-
21ic下载 打赏60.00元 3天前
用户:zhengdai
-
21ic下载 打赏60.00元 3天前
用户:lanmukk
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏20.00元 3天前
用户:w993263495
-
21ic下载 打赏30.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:w178191520
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:w1966891335
-
21ic下载 打赏15.00元 3天前
用户:x15580286248
-
21ic下载 打赏25.00元 3天前
用户:qiufeng0299
-
21ic下载 打赏15.00元 3天前
用户:kk1957135547
-
21ic下载 打赏10.00元 3天前
用户:qingsong08
-
21ic下载 打赏10.00元 3天前
用户:电工老刘
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
ZENGYIBIN 打赏1.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:STM32的数字万用表
-
21ic小能手 打赏5.00元 3天前
-
kuangwy 打赏1.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:触控无极台灯控制方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:51单片机的汽车雨刷器




全部评论(0)