最近分析某幸app的时候,发现lib***DD.so做了点小防护,section全部解析出错。

image.png
看来对section做了手脚,导致没有解析到。
- 用010editor打开此so,发现其section的偏移地址有点问题

image.png
- 0x3A338代表了section的偏移地址,
- 0x6表示有6的节区,0x5表示第5个节区为字符节区。
跳转到0x3A338看看,发现确实只有.dynamic,那肯定section的偏移地址被修改。6个节区肯定也是假的。

image.png
往上看,在地址0x39F1C,发现这里才是正确section的偏移地址。

image.png
修改header,将e_shoff_SECTION_HEADER_OFFSET_IN_FILE修改成0x39F1C。

image.png
接下来算下正确的节区个数,算出来是25个,加上节区头部,那就是26个。那就好办了。继续修改header头,将节区大小,及字符节区25回填回去。

image.png

image.png
-
按F5,刷新010的模版,发现节区全部解析出来了。
image.png
完工 。 。
