这个玩意静态分析非常不错,不过已经9个月没更新了,今天看了下,我靠,作者三天前刚更新了,一看居然只是刷了个版本号
自己下载了他的源码,单纯的更新了下gradle里的依赖库,asm,smali什么的,并根据反编译时碰到的问题改了源码中的一处,如下
[Java] 纯文本查看 复制代码 private boolean isBinaryXml(String XmlName) throws IOException {
is.mark(4);
int v = is.readInt16(); // version
int h = is.readInt16(); // header size
if (v == 0x0003 && h == 0x0008) {
return true;
} else if (XmlName.endsWith(".xml")) {
return true; //此处加了个类型判断,单纯判断magic头可能会被通过修改文件头来对抗反编译
}
is.reset();
return false;
}
当jadx尝试去解析xml,我们可以通过修改xml的文件头来对抗反编译,此处代码也可以看到,通过读取前四位来判断是否是xml的magic头,如果是则开始解析,不是就跳过,那这里我加了个入参,将xml的文件名传入,当判断是xml文件时,则开始尝试解析,但让然这种方法也只是投机取巧,效果图
jadx-0.6.1.zip
(4.01 MB, 下载次数: 1496)
|