itce7l 发表于 2022-10-13 18:57

Android Ptrace 使用过程中遇到的的问题,求助!!!

本帖最后由 itce7l 于 2022-10-13 19:04 编辑

编译环境,Android 8.1 ARM架构的模拟器
1.使用Ptrace注入安卓进程时可以从libc.so中获取mmap函数的地址,但是在获取dlopen、dlsym、dlclose函数地址时,遇到一些问题,如下图:

观察打印出的地址值,dlopen的地址明显是从libdl.so中的而不是从linker(/system/bin/linker)中的,
代码中用的是linker,导致在后续调用dlopen、dlsym、dlclose这些函数时获取不到返回值(实际上返回的是mmap函数调用后返回的地址,0xaa185000=mmap_base)
2.如果注入成功,在dlopen执行后,在mmap_base = 0xaa185000这个位置后边是不是应该会有注入的库的路径,比如/data/local/tmp/xxx.so,现在没有是不是因为注入失败了。
aa17c000-aa17d000 rw-p 00061000 fe:01 1195       /system/lib/android.hardware.media.omx@1.0.so
aa185000-aa195000 rwxp 00000000 00:00 0
aa195000-aa1b0000 r--s 00000000 fe:01 2071       /system/usr/hyphen-data/hyph-de-ch-1901.hyb
aa1b0000-aa1b9000 r-xp 00000000 fe:01 1398       /system/lib/libmediametrics.so
3.本人目前还是学生,望各位大佬不吝赐教,必有答谢,QQ:1994343839
页: [1]
查看完整版本: Android Ptrace 使用过程中遇到的的问题,求助!!!