Android apk 反编译后打包(含签名)

想分析某些app源码时,遇到烦人弹框,现在想反编译看看具体实现。
用到的工具: GDA4.06 apk反编译工具
apktool apk 打包工具
jdk 环境

一、反编译分析

将apk反编译打开
Android apk 反编译后打包(含签名)_第1张图片
找到入口代码
Android apk 反编译后打包(含签名)_第2张图片
弹框代码如图

二、解包、打包

使用apktool解包

ps: apktool工具的用法自行百度

apktool d D:\apk\testOld.apk -o D:\apk\test1

-o模式是指定解包后文件所处位置
Android apk 反编译后打包(含签名)_第3张图片
解包完成
打开解开的包
Android apk 反编译后打包(含签名)_第4张图片
找到要修改的代码
Android apk 反编译后打包(含签名)_第5张图片
Android apk 反编译后打包(含签名)_第6张图片
这里的代码有混淆,不需要管,从方法开始到方法结束全部删除即可。

然后使用打包命令

apktool b  D:\apk\test1 -o D:\apk\testNew.apk

Android apk 反编译后打包(含签名)_第7张图片
重新打包完成,丢入模拟器测试
Android apk 反编译后打包(含签名)_第8张图片
无法安装,因为这里缺失签名,请确保有java环境,下面开始签名

三、apk签名

输入生成签名命令

keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore

任意输入口令6位以上字符,后面信息无用,可以随意输入,后面要使用。
Android apk 反编译后打包(含签名)_第9张图片
生成的文件如下
Android apk 反编译后打包(含签名)_第10张图片
输入签名命令

jarsigner -verbose -keystore abc.keystore -signedjar nopassword_signed.apk nopassword.apk abc.keystore

nopassword.apk是你的待签名apk名字
Android apk 反编译后打包(含签名)_第11张图片
再次安装,即可。

你可能感兴趣的:(安卓,android,java)