android linker入口

本文详细探讨了Android系统的Linker入口,从app进程的入口点开始,解析linker64的入口地址,深入到__dl__start源码,并分析了ld script如何指定程序入口,揭示了Android进程启动的内在机制。
摘要由CSDN通过智能技术生成

Android Linker Entry

通过实际编译的库文件,来反推linker entry

app进程入口

众所周知,androidapp进程,都是通过zygote fork出来的,而zygote进程的exec文件为(64位系统):app_process64
aosp编译出的系统,通过readelf查看app_process64program headers可见:

xuwakao@chiefhsing-PC:~/android-11.0.0_r29/out/target/product/crosshatch$ ~/Android/Sdk/ndk/20.0.5594570/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/readelf -l ./system/bin/app_process64

Elf file type is DYN (Shared object file)
Entry point 0x3000
There are 12 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000000040 0x0000000000000040
                 0x00000000000002a0 0x00000000000002a0  R  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值