今天主要测了一下apk,jar,以及package包分类的java方法数量查询,就简单讲一下吧。
ps---须下载dx和对应的lib
apk:
首先解压apk,提取出classes.dex,在Linux下使用命令cat classes.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"',可得到结果。
jar:
首先用dx命令,将jar包打成dex,dx --dex --output=a.dex a.jar,然后
在Linux下使用命令cat a.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"',可得到结果。
分包过滤统计:
ps---须下载
baksmali.jar和
smali.jar放入sdk tools中
将apk解压,提取classes.dex,使用命令java -jar baksmali.jar -o classes_dir/ classes.dex,解压到classes_dir中,过滤包名,例如统计com.a.b,java -jar smali.jar classes_dir/com/a/b -o com.a.b.dex,这里可以得到
com.a.b.dex,
然后
在Linux下使用命令cat a.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"',可得到结果。
大致算的方法就以上几种,基本验证是正确的,就是统计的规则还不是很清楚,可以作为参考。