在 IDA 中查找导入函数的库

逆向工程 艾达 小精灵 共享对象
2021-06-15 19:44:06

我对倒车还很陌生,而且我对 IDA Pro 的经验更少。我想知道是否有办法找出导入函数的导入位置,即我可以用 ldd 或更好的 .so 名称找到的内存位置。

1个回答

当我遇到同样的问题时(我正在处理来自 Linux 和 QNX 系统的 ELF 二进制文件),我必须执行以下操作:

  • ldd在可执行文件上运行以获取已加载库的列表
  • 获取每个提到的库的导出列表(通过nm -CD full_library_name | grep " T "在系统上运行
  • 如果您的功能在那里 - 它就在那里
  • 如果您正在使用 C++,请考虑去重

如果您无法在系统上使用 shell,您可以使用 IDAPython ( idautils.Entries()) 和-S ida 命令行选项自动获取导出列表

如果库是动态加载的(dlopen/dlsym例如通过使用),则必须找到相应的dlopen调用并找出其参数。