1. 最近研究so文件的保护,在网上搜索发现爱加密支持对so文件的保护,然后联系客户,本来是想让客户保护一个自己的so文件来做测试的,结果客户各种不愿意,说要签什么XX协议后才能给so保护,各种蛋疼..最后客户给了我一个他们保护后so和一个保护前的so与一个说明文档,如下图:
今天我们主要是分析它这个加密后的so,看它是用什么方式保护的,是否具有安全性。
2. 根据它.doc中的说明"加密前so文件大小为14KB,加密后so文件大小为9KB。加密后so库体积可以减小40%左右。"如下图
猜测可能是upx保护的,要是的样的话,我们是不是可以用"upx.exe -d 加密后的.so"来脱壳呢?当然不行,测试效果如下图(我用的是3.92)。
无法脱壳!!我们用十六进制工具打开加密后的.so发现它把UPX加壳后的标志"UPX!"改成了AJM!所以只要我们将其改回去应该就可以脱壳了。是不是很骚!
如下图所示:
成功了!!然后就是改回原始入口点就可以了!
我们来比较下脱壳后与原始的没有加密的so是那些不同!
只有两个字节不一样,那就是入口了,我们改回去后就能正常使用了!!
样本及文档下载
http://yunpan.cn/cVKThr9uAH2za (提取码:dfb4)