最近下了一款小众APP,功能实用,界面简洁,然而用了几分钟页面下方竟然弹出了小窗口广告!并且每分钟自动更新!!耗电、耗流量、占屏幕空间、闪烁吸引眼球、不小心还会误触,这种广告方式是本强迫症患者无法容忍的,相信大部分人也会反感,因此常用的那些APP中也几乎没有看到过。从学习的角度出发,本人尝试对这款应用进行破解,“屏蔽”其中的广告功能。
1. 解压
下载apk文件,修改后缀名为.zip,解压到文件夹中
apk解压文件夹.png
其中:
assets文件夹 -- 放原生资源文件
lib文件夹 -- 放引用库文件
meta-INF文件夹 -- 放清单文件
res文件夹 -- 放资源文件
AndroidManifest.xml -- 安卓清单
resources.arsc -- 主资源文件
以上这些主要跟资源有关,如果需要提取一些图片或声音资源可以直接在文件夹中找,剩下的classes.dex文件就比较重要了,它是安卓中classes类的打包格式,代码都在这里面。
2.查看jar
查看代码需要将dex文件转换为jar文件,这里推荐一款软件“安卓逆向助手”
安卓逆向助手.png
里面集成了apktool、autosign、dex2jar、jd-gui等常用工具,十分方便。
这里选择其中的dex2jar功能,源文件浏览选中解压出来的classes.dex文件,点击操作按钮,即可自动生成classes_dex2jar.jar文件。
再选jd打开jar功能,就可以调用jd-gui查看jar文件了。
jd-gui查看代码.png
jd-gui中可以看到,大部分代码经过了混淆,而且经过编译器优化后的代码跟源码会有所不同,不过逻辑还是一样的,认真看还是能大致看懂。