拿到手的app都是一些违法的app软件,因此为了它们为了隐藏自己的身份自然希望自己的软件不要被逆向,但又因为自身水平和成本的限制,所以会对apk文件添加一些简单的对抗手段。其中最简单有效的就是利用apk文件本质是一个zip的方法,修改一些zip文件格式,插入一些垃圾数据来增加逆向获取信息的难度。虽然这种做法改变了apk文件的结构,但是却并不会影响其本身程序的运行。
第一个APP
基于ZIP文件格式的反编译对抗(见参考文献1)
这是一个比较简单的修改,查询一下zip文件格式就可以把它们patch回来了,具体可见文献1.
import re
con = open('com.cfbf5ee.ddnkmcjndh.apk','rb').read()
con = bytearray(con)
idxs = [x.start() for x in re.finditer(b'\x50\x4b\x01\x02',con)]
for idx in idxs:
con[idx+4:idx+16] = b'\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00'
idxs = [x.start() for x in re.finditer(b'\x50\x4b\x03\x04',con)]
for idx in idxs:
con[idx+4:idx+14]