下面给你一个从零到能用的 IDA 反汇编 Linux 程序的实用流程说明(以 IDA Pro / IDA Free 为例,适用于 ELF 文件)。
.run 文件:chmod +x idafree.run
sudo ./idafree.run
// test.c
#include <stdio.h>
int main() {
printf("Hello Linux\n");
return 0;
}
gcc test.c -o test
file test
# test: ELF 64-bit LSB executable, x86-64
ida64 ./test
或
ida ./test # 32 位
IDA 会自动:
main)可直接双击进入最重要功能
F5 → 生成 C 伪代码示例:
int __cdecl main(int argc, const char **argv)
{
puts("Hello Linux");
return 0;
}
Shift + F12 → Strings 窗口Imports 窗口open, read, writesystem, execveExports 窗口N 重命名; 添加注释entry 找 _startcall main 的位置P 创建函数libc 函数Debugger → Select debugger → Local LinuxF9 运行./linux_server64
| 问题 | 解决 |
|---|---|
| IDA 打不开 | 确认是 ELF,不是脚本 |
| 无 main | stripped,手动找 |
| F5 失败 | 代码不完整,先按 P |
| 架构不对 | 用 file 确认 |
file, objdump, readelf如果你愿意,可以告诉我:
我可以直接给你针对性教程或实战示例。