#elf #exports #imports #radare2 #elf-file #import-export #export

app terminus

Terminus 是一个快速定位 Elf 文件中导出或导入函数的应用程序

3 个不稳定版本

0.2.0 2023年10月4日
0.1.1 2022年9月7日
0.1.0 2021年12月29日

命令行工具 中排名第 1562

BSD-3-Clause

9KB
138

Terminus

Terminus 是一个定位 ELF/PE 文件中导入或导出特定函数的应用程序。这可以帮助您在逆向新的软件系统时快速识别出可能需要查看的库,通过定位导出所需函数特定版本的库。

使用方法

USAGE:
    terminus [FLAGS] [OPTIONS]

FLAGS:
    -h, --help        Prints help information
    -i, --imported    Match imported instead of exported functions
    -V, --version     Prints version information

OPTIONS:
    -d, --dir <dir>             Directory to search in [default: /lib]
    -s, --search <search>...    List of function names to search for [default: ]

依赖项

由于该应用程序使用了 r2pipes,因此需要安装 Radare2。安装 Radare2 的说明可以在此处找到 这里

安装

如果您已安装 Rust 和 Cargo,可以通过运行以下命令快速编译和安装 Terminus

cargo install terminus

这将安装 Terminus 到 ~/.cargo/bin/terminus,可能需要将其添加到您的 shell 的 PATH 变量中。

示例输出

$ terminus -s printf -d /bin
[!] /bin/lucious matched printf
nth paddr      vaddr      bind   type size lib name
252 0x000049d5 0x000049d5 GLOBAL FUNC   245      cterm_printf_ts
[!] /bin/make matched printf
nth paddr      vaddr      bind   type size lib name
425 0x00011a40 0x00011a40 GLOBAL FUNC   321      file_timestamp_sprintf
[+] Scanned file: /bin/newusers

消除 R2 警告

echo 'e bin.cache=true' > ~/.radare2rc

依赖项

~5–16MB
~149K SLoC