6 个版本
0.2.3 | 2024 年 3 月 4 日 |
---|---|
0.2.2 | 2024 年 2 月 29 日 |
0.2.1 | 2024 年 1 月 18 日 |
0.1.1 | 2023 年 12 月 14 日 |
0.1.0 | 2023 年 7 月 25 日 |
#575 在 解析器实现
2,106 每月下载量
在 framehop 中使用
50KB
956 代码行
pe-unwind-info
用于解析 .pdata 部分内容和解 unwinding 信息结构的零拷贝解析器(通常由 .pdata 部分的内容访问)。
此库提供了对 .pdata 部分中函数表的低级、高效解析器,以及在其他位置中 unwinding 信息结构的解析器。在此功能之上,还提供了高级功能来解析整个帧(给定模块的内容)。这仅在必要时复制数据。不需要堆分配。
目前该库针对 x86_64
PE 模块。即将添加 ARM64
支持。
此库假设所有信息都是小端格式:据我所知,Windows 总是针对只支持小端格式的 CPU,或者配置支持小端和大端格式的 CPU 以使用小端格式。
lib.rs
:
PE 二进制文件中 .pdata 部分内容和 unwinding 信息的零拷贝解析器。
在这些解析器之上,还提供了一些高级接口,以便轻松解析帧。解析器和高级接口都注重效率,尽量减少数据的复制。没有堆分配。
依赖项
~1.2–1.8MB
~33K SLoC