main和__libc_start_main

时间:2019-06-08 04:25:11

标签: c disassembly decompiling ida

我开始着手进行逆向工程,正在使用IDA Pro,并且正在致力于反汇编二进制文件。

我正在尝试查找正在使用的C程序的main函数的内存地址。

但是,我发现IDA中有一个功能可以: main__libc_start_main

我已经读过this post,但恐怕我还是听不懂。有人可以帮助我理解两者之间的区别,哪个是哪个?

谢谢!

1 个答案:

答案 0 :(得分:2)

首先调用

__libc_start_main,然后调用main。前者是平台的一部分,并进行了大多数人甚至没有意识到的初始化工作,例如准备线程系统。后者是用户程序的入口,并包含“常规”代码。