简单的活着

ptxed

Posted on By Mista Cai

libipt

ptdump

ptdump工具将Intel PT文件作为输入,并以易于阅读的形式转储数据包。 最左边的数字是十六进制英特尔PT数据包流中的偏移量。 随后是数据包操作码和有效负载。

ptdump filename.pt

ptxed

使用ptxed重建执行流程。 为此,需要Intel PT文件以及相应的二进制映像。 使用原始二进制文件时,需要在.ptt文件中指定org指令指定的加载地址。

Ptxed按执行顺序打印反汇编的指令以及括在方括号中的状态消息。

ptxed --pt loop-tnt.pt --raw loop-tnt.bin:0x100000

libipt搭建

配置文件

默认情况下,仅构建解码器库。 通过将各个cmake变量设置为ON,可以启用其他组件。

以下可选组件可用:

PTUNIT             A simple unit test framework.
                   A collection of unit tests for libipt.

PTDUMP             A packet dumper example.

PTXED              A trace disassembler example.

PTTC               A trace test generator.

SIDEBAND           A sideband correlation library

PEVENT             Support for the Linux perf_event sideband format.

                   This feature requires the linux/perf_event.h header.

依赖

为了构建ptxed,必须指定XED库和XED头文件的位置。

XED_INCLUDE         Path to the directory containing the XED header files.

XED_LIBDIR          Path to the directory containing the XED library.

从github使用XED时,各个目录位于安装目录(默认值:kits / xed-install-date-os-cpu)中,头文件位于include / xed中。 请参考XED树中的自述文件,了解如何构建XED。

在linux或者macOS上

我们建议使用树外构建。 首先创建目标目录并导航至该目录:

mkdir -p /path/to/dest
cd /path/to/dest

在这里,以顶级源目录作为参数调用cmake。 您可能已经将部分或全部cmake变量作为cmake的参数传递了。 不带参数的cmake使用默认值。

 cmake /path/to/src

如果尚未传递XED_INCLUDE或XED_LIBDIR的值,则要构建ptxed,需要立即配置它们。 您也可以在以后随时使用此命令更改配置。

make edit_cache

配置cmake缓存后,您可以使用以下任一方法构建特定目标或所有目标:

make <target>
make

使用帮助目标牌来了解可用的选项:

make help