2.4.1 下载安装包样本
首先,需要从网上下载样本安装包,这里使用的样本是RE文件管理器,读者可以从安卓市场下载。安装下载好的样本,运行看一下效果,大概了解一下该样本的相关功能。通过对样本的分析,发现该样本有启动广告,如图2.13所示。在退出程序时,会跳转到一个广告页面,如图2.14所示。
图 2.13
图 2.14
2.4.2 去除程序启动广告
(1)用AndroidKiller反编译该样本,反编译成功后,点击程序“入口”,提示文件丢失,如图2.15所示。
图 2.15
(2)选中“工程管理器”菜单栏,在工程中的“smali”文件夹下找到“com”文件夹,在“com“文件下发现了“kkkpppxzn.smali”文件,由此可以知道程序“入口”文件是存在的,如图2.16所示。
图 2.16
(3)针对该样本“去除程序启动广告”的思路是让程序直接运行“主界面”。可以在“onCreate”方法添加跳转代码,如图2.17,2.18所示,把中间的代码删除,效果如图2.19所示。
图 2.17
图 2.18
图 2.19
(4)在“onCreate”方法中添加跳转代码,如图2.20所示,让程序直接跳转到主界面。
图 2.20
2.4.3 去除程序退出广告
(1)该样本在退出时,会加载一个广告页面。 通过分析定位到RootExplorer.smali文件,使用工具查看当前Java源码,分析相关方法定位到“onDestroy”f方法,如图2.21所示,在红色方框标注的位置存在页面跳转。
图2.21
(2)点击“WebPageDownLoadMainActivity”类,跳转到“WebPageDownLoadMainActivity.class”文件,如图2.22所示。搜索“onCreate”方法,分析“onCreate”方法中的代码,有一个关键的链接地址,可以直接复制到浏览器打开,显示的就是广告信息,由此得出该类就是负责广告信息的展示。
图2.22
(3)流程理清楚后,去除退出广告就容易了,如图2.23所示,在第一个红色方框标注的位置进行修改,直接将“if-eqz”改为“if-nez”就能达到我们想要的效果。
图2.23