任务要求
利用Androidkiller重新做一遍添加启动页作业。
1.安装配置AndroidKiller
下载v1.3.1压缩包,解压后运行AndroidKiller.exe,提示“未检测到Java SDK环境”。
此时打开app-debug.apk,软件提示“APK 反编译失败,无法继续下一步源码反编译!”。
配置Java环境:打开AK,选择左上角的“配置”-Java-安装路径,选择Java的bin目录。
再次打开apk文件,仍然提示“反编译失败”。
报错原因是软件自带的apktool版本过旧,点击软件左上角“Android”-APKTOOL管理器,添加本地的apktool。
2.反编译和拷贝替换
打开apk-debug.apk文件,软件会自动编译,效果如图。
"工程信息"模块包含app名称、包名、程序入口点,"工程管理"模块包含目录结构。
本次插入的广告页与上次作业相同,回顾一下需要插入哪些文件。
1.拷贝图片hands_make_dream.jpg:把要插入的图片拷贝到AndroidKiller_v1.3.1\projects\app-debug\Project\res\drawable
目录下。
2.添加布局文件activity_advert.xml
:把要插入的布局文件拷贝到AndroidKiller_v1.3.1\projects\app-debug\Project\res\layout
目录下。
修改布局文件的编号:在AndroidKiller_v1.3.1\projects\app-debug\Project\smali\com\example\four
目录下的R$layout.smali文件中,添加advert布局文件的自定义编号,如.field public static final text_view_without_line_height:I = 0x7f0b005f
。
3.添加广告页的smail文件:把广告页的两个文件advert.smali
和advert$1.smali
拷贝到AndroidKiller_v1.3.1\projects\app-debug\Project\smali\com\example\four
目录下。
修改smail文件编号:打开advert.smali文件,把文件编号0x7f09001c修改为编号0x7f0b005f。
4.修改包名:目标apk的包名是com.example.four,修改广告页的两个smail文件advert.smali和advert$1.smail,把原包名retwo_login
全部替换为目标apk的包名信息four
。
5.修改仓库文件:在AndroidKiller_v1.3.1\projects\app-debug\Project
目录下找到AndroidManifest.xml文件,修改activity信息,修改后的activity信息如下。
<activity android:name="com.example.four.MainActivity"></activity>
<activity android:name="com.example.four.advert">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
3.反编译
在AndroidKiller_v1.3.1中选择"Android"-“编译”,即可一键编译和签名。
安卓手机安装app-debug_killer.apk,运行效果如下。
首页映入眼帘的是插入的广告页文字和图片,停留5秒后跳到正常页面。