c - main 和 __libc_start_main 之间的区别
问题描述
我开始进入逆向工程,正在使用 IDA Pro 并正在反汇编二进制文件。
我正在尝试为main
我正在使用的 C 程序的功能找到内存地址。
但是,我看到 IDA 中有一个函数 for:
main
和 for__libc_start_main
我读过这篇文章,但恐怕我还是不明白。有人可以帮助我了解两者之间的区别,哪个是哪个?
谢谢!
解决方案
__libc_start_main
首先调用,然后调用main
. 前者是平台的一部分,它会进行一些大多数人甚至没有意识到正在发生的初始化,例如准备线程系统。后者是用户程序的入口点,包含“常规”代码。
推荐阅读
- azure - 如何使用 java sdk 基于自定义 VM 映像创建 azure 批处理池
- android - 有没有办法在应用程序启动时隐藏片段或 ID?
- javascript - AMP如何从带有ref的链接中动态获取href
- docker - 如何在 docker compose 版本中启用 IPv6:> = 3?
- java - JAVA_HOME 未使用 Maven 包装器正确定义 Spring Boot 项目
- docker - 我们如何在 docker history 命令的输出中看到完整的命令?
- python - Offset pandas dates step by step
- gzip - 如何有条件地在 Caddy 中应用 gzip 指令?
- vba - 如何使用 Word VBA 更改从文档的第一段生成的文件名的大小写
- powershell - How come Get-Module X shows something, but Get-Module X -ListAvailable does not?