前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android 反编译后再次打包流程

android 反编译后再次打包流程

作者头像
李小白是一只喵
发布2020-12-31 11:29:21
2.3K0
发布2020-12-31 11:29:21
举报
文章被收录于专栏:算法微时光算法微时光

image.png

准备工作

主要使用工具:

apktool、

反编译流程:

  1. 使用apktool解包
  2. 修改代码
  3. 使用apktool重新打包
  4. 添加签名
使用apktool解包

使用命令如下:

apktool d -f 待反编译的apk -o 反编译之后存放文件夹

例如:

代码语言:javascript
复制
apktool d  xxx.apk 

image.png

反编译得到的文件夹内容如下:

image.png

其中smali文件夹下就是代码编译后生成的smail文件。

修改代码

修改代码也是修改smail文件。

修改smail的时候要先阅读下源码,这个时候要用到反编译。、

反编译参考文章APK逆向工程

image.png

通过GUI界面,查看到源码后,找到对应的smail文件,对应的代码位置进行修改即可。

使用apktool重新打包

重新打包最主要使用的工具还是apktool.

执行命令:

代码语言:javascript
复制
apktool b -f ./test/  -o test.apk

打包完后当前目录下会多出两个文件夹:

image.png

dist文件内就是我们需要的apk。

添加签名

如果没有签名,安装时候就会报错:

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]。

这里主要是生成自己的签名文件。

可以使用 Android Studio可视化操作界面生成一个新的签名文件,也可以直接使用 keytool 工具直接在终端工具上生成,使用时候需要先找到keytool 工具的安装路径,一般是在C:\Users\Admin\AppData\Local\Android\Sdk\build-tools\30.0.3下.

使用命令如下:

代码语言:javascript
复制
 keytool -genkey -alias abc123.keystore   -keyalg RSA -validity 40000 -keystore abc123.keystore

生成abc123.keystore 签名文件。一般需要输入秘钥,秘钥我这里直接输入123456

然后就可以使用签名文件进行签名了:

代码语言:javascript
复制
 jarsigner -verbose -keystore abc123.keystore -signedjar hello_sign123.apk hello_test.apk abc123.keystore

这样就签名完成了,安装hello_sign123.apk就可以使用了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
    • 使用apktool解包
      • 修改代码
        • 使用apktool重新打包
          • 添加签名
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档