虽然一直知道apk可以重打包并运行,但一直一知半解的,今天在kanxue上看到一篇文章,觉得很适合拿来学习。
感谢师傅的文章:AIDA64去广告分析(入门版) https://bbs.kanxue.com/thread-277125.htm
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!
前排提醒,本文仅作为学习参考。
下载:https://www.aida64.com/aida64-android
该app可以在模拟器上运行,不需要测试机
工具准备
说一下需要的文件需要从哪里获得。
-
apktool https://bitbucket.org/iBotPeaches/apktool/downloads/
-
apktool.bat https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat
-
zipalign 下载过android的sdk的,目录下应该有,可以通过everything之类的工具搜索
-
介绍 https://developer.android.google.cn/tools/zipalign?hl=zh-cn
-
apksigner
android studio
自带的工具,单独下载 https://github.com/jixiaoyong/ApkSigner -
demoTest.jks apk的签名,自定义
我是通过android studio
生成的,可以参考 https://blog.csdn.net/qq_38436214/article/details/112288954
如果下面apksigner签名报错,尝试更换java的版本,比如替换成java11
练习
查壳,没做混淆和加固
apk拖进apk,查看AndroidManifest.xml
具体的分析细节就不再赘述,可以去看这篇文章
https://bbs.kanxue.com/thread-277125.htm
确定位置后,用apktool将该apk反编译
apktool.bat d ./aida64-v203.apk -o outdir
备注:原文中可能添加了参数 --no-res,经过我测试,加了这个之后编译后闪退。
解释 --no-res
当你使用 apktool d <file.apk>
命令来反编译 APK 文件时,如果不加 --no-res
参数,apktool
会将 APK 中的资源文件(如布局文件、图片、字符串等)提取出来,并存储在 res
文件夹中。这些资源文件通常以原始格式(如 XML、PNG、JPEG 等)存在。
如果你添加了 --no-res
参数,如 apktool d <file.apk> --no-res
,apktool
将不会提取这些资源文件,而是将它们保留在编译后的 APK 文件中。这样做的好处是可以减少反编译后生成的文件夹大小,但缺点是你无法直接查看或修改这些资源文件。
使用 --no-res
参数通常在你不需要修改 APK 的资源文件,只是想查看或修改 APK 的代码时很有用。
定位到 HHMainActivity.smali,路径outdirsmalicomfinalwireaida64
将showHideAds直接跳过
if-eqz v0, :cond_12
替换为goto :goto_0
-
if-eqz v0, :cond_12 是如果v0 == 0,就跳转到 cond_12
-
goto :goto_0 是强制跳转到 goto_0,我们查看 goto_0对应的是什么
可以看到cond_3和goto_0对应的都是 return-void,即返回结束函数。
因此,我们也可以更改为 if-eqz v0, :cond_3
都是一样的效果
重新打包
apktool.bat b ./outdir
然后需要用 zipalign 做一下对齐
zipalign -p -f -v 4 aida64-v203.apk aida64-v203_align.apk
验证一下没问题
zipalign -c -v 4 aida64-v203_align.apk
最后就可以签名了
java -jar apksigner-0.9.jar sign --ks demoTest.jks aida64-v203_align.apk
123456
如果闪退,apktool解包的时候不要--no-res选项
参考链接
AIDA64去广告分析(入门版) https://bbs.kanxue.com/thread-277125.htm
原文始发于微信公众号(进击的HACK):入门apk去广告重打包
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论