-
-
[求助]so文件新加了一个section段后无法运行
-
发表于:
2017-11-1 17:38
5735
-
[求助]so文件新加了一个section段后无法运行
so文件新加入section后,把so放到Android代码里面执行报错,错误如下:
Process: com.jack.elftype, PID: 2893
java.lang.UnsatisfiedLinkError: dlopen failed: invalid ELF file "/data/app/com.jack.elftype-1/lib/arm/libhello-jnis.so" load segment[1]: p_offset (0x0) + p_filesz (0x53f8) ( = 0x53f8) past end of file (0x53f8)
加入的section字段通过ida工具都可以找到,加入的字段(5000H ~ 53f8H)如下:
期间我也新增了一个section header指向这个section,修改了第一个p_type = PT_LOAD的program header,并把这个program header里面的p_filesz和p_memsz改为了53 f8,而运行时报错也是关于53f8的偏移错误,所有怀疑是这个问题;但是不知道如何修改;请问各位大神,知道是哪个地方出错的吗?
附件有我修改之前和之后的so文件,libhello-jni.so是前 libhello-jnis.so是后
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课