Android Linker Entry
通过实际编译的库文件,来反推linker entry
。
app进程入口
众所周知,android
的app
进程,都是通过zygote fork
出来的,而zygote
进程的exec
文件为(64位系统):app_process64
。
从aosp
编译出的系统,通过readelf
查看app_process64
的program 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