对armeabi的so进行分析的时候:
使用readelf读出来的符号偏移-> 0000213d 24 FUNC GLOBAL DEFAULT 7 getpackagename
使用objdump反汇编出来的对应符号的代码段-> 0000213c <getpackagename>: 213c: b508 push {r3, lr}
这时我们可以看到虽然是相同的符号,但是两个工具读出来的偏移并不一样,readelf中看到是0x213d,而objdump中看到是0x213c。
而之后又针对x86的so进行分析,看到却是正常的,如下:
readelf的-> 00001280 47 FUNC GLOBAL DEFAULT 7 getpackagename
objdump的-> 00001280 <getpackagename>: 1280: 53 push %ebx
不知道为什么会出现这个情况,但是据推测可能跟arm的指令集有关,有木有人研究过这个的来一起讨论下~
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课