-
-
[求助]问个简单的问题,static link的binary文件加载地址是多少?
-
发表于: 2013-9-23 13:34 3423
-
我发现:
的可执行文件,加载地址是从0x8000开始,
而
的可执行文件,加载地址是从0x400xxxxx开始的。
这有什么说道吗? 还是说是android特有的。(没看到相关书籍介绍)
另外,古河的inject代码中,get_module_base中也有:
我尝试了下,如果直接使用0x8000偏移的地址,会报段错误,但用0偏移的地址,就没有问题,不太明白这是怎么map的。
ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: [COLOR="Red"]EXEC (Executable file)[/COLOR] Machine: ARM
的可执行文件,加载地址是从0x8000开始,
而
Type: [COLOR="Red"]DYN (Shared object file)[/COLOR]
的可执行文件,加载地址是从0x400xxxxx开始的。
这有什么说道吗? 还是说是android特有的。(没看到相关书籍介绍)
另外,古河的inject代码中,get_module_base中也有:
if ( strstr( line, module_name ) ) { pch = strtok( line, "-" ); addr = strtoul( pch, NULL, 16 ); [COLOR="Red"] if ( addr == 0x8000 ) addr = 0; [/COLOR] break; }
我尝试了下,如果直接使用0x8000偏移的地址,会报段错误,但用0偏移的地址,就没有问题,不太明白这是怎么map的。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
看原图
赞赏
雪币:
留言: