文章正文
Android APK反编译之实录
【文档】2024-10-11
简介Android APK反编译之实录
1、修改xxx.apk为xxx.zip,解压得到目录如下:
2、下载apktool工具(https://link.juejin.cn/?target=https%3A%2F%2Fibotpeaches.github.io%2FApktool%2Finstall%2F)
3、apktool 使用
1、先准备一个 apk 文件,放到apktool.jar同目录
2、执行 apktool d xxx.apk 命令
3、dex2jar 使用(https://link.juejin.cn/?target=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fdex2jar%2Ffiles%2F)
将需要转换的 dex 文件复制到当前 dex2jar 目录
执行如下命令
sh d2j-dex2jar.sh classes.dex ,Windows下直接运行
jd-gui查看jar包
二、基于一个 app 打造一个新的 app
我们基于上述使用 apktool 反编译后的文件夹去做修改,先再看一眼:
未修改前 activity_main.xml 文件的代码如下:
我们这里就简单的对 activity_main.xml 文件进行一些修改然后打包,修改如下:
使用 apktool 将我们反编译的app-debug.apk.zip.out文件夹重新打包成 apk,使用如下命令:
apktool b app-debug.apk.zip.out -o new_app_debug.apk
执行过程如下图:
现在你会发现同级目录有了一个新的 apk 文件:
拿去安装,你会发现安装报错了:
adb: failed to install xxx/new_app_debug.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl2142334632.tmp/base.apk: Attempt to get length of null array]
还是我们高兴的太早了,目前这个新 apk 是不能安装的,因为它还没有进行签名,那么如果这是别人的 app,我们从哪儿去整一个签名文件呢?很显然,拿别人的是不可能,因此我们需要自己去生成,使用 AndroidStudio 可以非常简单的生成一个签名文件,不懂得自己去查一下
有了签名文件之后再 terminal 执行如下签名命令:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件名 -storepass 签名密码 待签名的APK文件名 签名的别名
其中 jarsigner 命令文件是存放在 JDK 的 bin 目录下,需要将 bin 目录配置在系统的环境变量当中才可以在任何位置执行此命令
以我的为例:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore certificate -storepass erdai666 new_app_debug.apk key0
如果执行过程中没啥问题,就证明签名成功了,此时我们就可以把它安装到手机上了,不过在此之前,Android 还极度建议我们对签名后的 apk 文件进行一次对齐操作,因为这样可以使得我们的程序在 Android 系统中运行得更快。对齐操作使用的是 zipalign 工具,该工具存放于<Android SDK>/build-tools/<version>目录下,将这个目录配置到系统环境变量当中就可以在任何位置执行此命令了
zipalign 4 new_app_debug.apk new_app_debug_aligned.apk
其中 4 是固定的值,后面指定待对齐的 apk 文件名和对齐后的 apk 文件名,运行这段命令之后,会生成一个new_app_debug_aligned.apk文件,如下所示
可以看到,当我们打开 app 后,页面的布局变成我们修改后的了,说明我们基于一个 app 打造一个新的 app 成功了
三、总结
1、反编译资源,主要通过 apktool
2、反编译代码,主要通过 dex2jar + jd-gui
3、基于一个 app 打造一个新的 app,主要通过 apktool 反编译后,修改 activity_main.xml 文件,然后进行重新打包,签名,对齐,最后安装展示了预期的效果。当然这里你有能力看懂 .smali格式的代码,那么你可以做的事情就更加多
打赏支持
感谢您的支持,加油!

打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速获取!

在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!

在线客服8:30-22:30,若离线请留言!
热门阅读
-
列宁全集 31 第2版 增订版 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010171128 2017.pdf
列宁全集 31 第2版 增订版 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010171128 2017.pdf ...
-
1888-1913列宁全集 笔记 57 第2版 增订 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010171418 2017.pdf
1888-1913列宁全集 笔记 57 第2版 增订 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010171418 2017.pdf ...
-
1888-1914列宁全集 笔记 59 第2版 增订 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010171432 2017.pdf
1888-1914列宁全集 笔记 59 第2版 增订 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010171432 2017.pdf ...
-
列宁全集 第2版 增订版 第2卷 中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 7010107738 2013.pdf
列宁全集 第2版 增订版 第2卷 中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 7010107738 2013.pdf ...
-
列宁全集 第9卷 1904.7-1905.3 第2版 增订版 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010132099 出版时间:2017.pdf
列宁全集 第9卷 1904.7-1905.3 第2版 增订版 (苏)列宁著;中共中央马克思恩格斯列宁斯大林著作编译局编译 北京:人民出版社 PDF 9787010132099 出版时间:2017.pdf ...
-
单声部视唱教程 上下 上海音乐学院视唱练耳教研组编 上海:上海音乐出版社 PDF 7806674632 2004.pdf
单声部视唱教程 上下 上海音乐学院视唱练耳教研组编 上海:上海音乐出版社 PDF 7806674632 2004.pdf ...
-
首调单声部视唱教程 修订版 雷光耀编著 上海:上海音乐出版社 PDF 9787807518341 2012.pdf
首调单声部视唱教程 修订版 雷光耀编著 上海:上海音乐出版社 PDF 9787807518341 2012.pdf ...
-
测量电子电路设计 滤波器篇 (日)远坂俊昭著;彭军译 北京:科学出版社 PDF 7030171829 出版时间:2006.pdf
测量电子电路设计 滤波器篇 (日)远坂俊昭著;彭军译 北京:科学出版社 PDF 7030171829 出版时间:2006.pdf ...
-
晃动的生活 黑可可著 北京:中国友谊出版公司 PDF 7505716638 1993.pdf
晃动的生活 黑可可著 北京:中国友谊出版公司 PDF 7505716638 1993.pdf ...
-
人从哪里来 肖兵 农村读物出版社 9787521889931 PDF 出版时间:1999.pdf
人从哪里来 肖兵 农村读物出版社 9787521889931 PDF 出版时间:1999.pdf ...