360加固保so解密过程

两次dump,过程见图。

360加固保so解密过程_第1张图片

如图是内嵌的加密elf解密回写的位置(0x732c94ac)


360加固保so解密过程_第2张图片

elf解出来的位置(0x732c93b0),执行到此处的时候,dump出解密的elf


360加固保so解密过程_第3张图片

内存中elf的位置

此时elf虽然dump出来了,但是elf中部分代码还是加密的,我们还需要dump一次,然后将第二次dump的文件中不一样的那段数据复制到第一次dump的文件中。


360加固保so解密过程_第4张图片

在JNI_OnLoad函数中,BLX R4其实是在调用完全解密完成后的elf的JNI_OnLoad函数,将该段内存dump出来。

然后对比两次dump的内容,将第二次dump的文件中,不一样的那段数据复制回第一次dump的文件中去,修改头部的标志.lfx修改成.ELF,就大功告成。


360加固保so解密过程_第5张图片


360加固保so解密过程_第6张图片

优化待续。。。。。。

你可能感兴趣的:(逆向工程)