Unity 安卓 apk 反编译 重新打包 签名修改

51 篇文章 1 订阅

拿到一个Unity 打包出来的apk,如果没有加密的话 ,你是可以通过反编译修改其中的属性的。

步骤一   apk 解压 

方法1: apk 变成 .zip 并解压

然后修改 \assets\bin\Data\Managed\Assembly-CSharp-firstpass.dll

方法2: 下载 apktool 软件对APK反编译 (推荐)

下载地址:https://ibotpeaches.github.io/Apktool/install/

我是windows 平台:下载位置如下

1   下载wrapper script    如果提示安全问题,浏览器设置中关闭安全选项

  都关闭掉

   右键,保存为apktool.bat ,之后再下载 apktool.jar 下载后修改名字

2 最后下载 apktool.bat 和 apktool.jar 把他们放到 C盘的 Windows 下

如图

(3)使用 win +R 或者 点击 开始 找到运行 使用命令行解压

输入"F: "     将当前目录切换到apk 软件所在目录 , 我apk 软件 当前放在F盘

4 解压当前apk 

       输入 apktool d 我的apk名字.apk   我的apk 名字是:“PlayIt2.apk”  所以输入:   apktool d PlayIt2.apk   

   

 

      就会出现一个解压后的文件,解压成功

    也是一样 去修改 \assets\bin\Data\Managed\Assembly-CSharp-firstpass.dll  

步骤2  使用Dnspy 修改Assembly-CSharp-firstpass.dll中想要修改的脚本

然后可以通过下载 类似 dnSpy 软件进行代码反编译

下载地址: https://github.com/dnSpy/dnSpy/releases

 打开dnspy.exe

软件界面和vs非常相似,点击文件-->>>打开--- >>>选择打开需要修改的dll 文件 

20180904224023683 (629Ã454)

20180904224039157 (1315Ã867)

20180904224224920 (1049Ã751)

步骤3   对修改后的APK 进行打包和 

1 解释:

软件,再用压缩成rar的,然后把后缀改为.apk 是不能使用的,必须要进行重新打包,且设置签名 。

            签名:它就是对我们的apk加了一个校验参数,防止apk被掉包。一开始做Android开发,就接触到了apk签名;后来在微信开放平台、高德地图等平台注册时,需要填写apk签名的md5值和sha256值;再后来做系统应用,接触到了系统签名;而后就想了解下apk的生成机制,学习了如何用命令行进行签名。

 

 2  使用 apktool  将修改保存之后test文件夹重新打包生成新的未签名的apk

      输入:apktool b <文件夹名称> -o <新的apk全称>        如: F:\>apktool b PlayIt2 -o PlayIt3.apk       我将PlayIt2修改后的文件夹打包为:PlayIt3.apk


之后就会生成 playIt3.apk  但此时再手机安装时并不能安装成功,因为还没有设置签名

步骤4   重新设置APK签名

1 利用Android Studio生成签名与对apk进行签名(没有需要下载)

1.生成签名

首先要创建一个签名文件,用Android Studio随便建一个项目工程,然后在菜单栏中选择Build -> Generate Signed Bundle/APK。 我的是这个

选择APK,点击Next,如下图:

20200923220801128.png (1168Ã792)

选择Create New

20200923220846871.png (1196Ã806)

填入签名相关信息,如下图:

20200923221522835.png (1074Ã1046)

 2  使用 jarsigner 工具  绑定签名和包
首先最好把 待签名的Apk文件和 用来签名的keystore 文件放在同一个目录,然后在目录下开启命令行。

输入指令(简陋版)

jarsigner -keystore myKey.key -signedjar apk-signed.apk apk-unsigned.apk myKey
1
myKey.key 则是用来签名的keystore文件

apk-signed.apk 则是签名完成的apk文件名

apk-unsigned.apk 则是待签名的apk文件名

myKey 则是keystore文件的别称 key alias

这四项都是要针对自己的情况填写。

正常来说,配置好了环境,输入指令后,就会在apk-unsigned.apk的同级目录下找到 签名好的Apk文件了

如果想要更高级的重签名方式 ,可以参考 Apk去掉签名以及重新签名的方法

2 使用可视化签名工具绑定签名和包(推荐)
 我这里使用的是360的重签名工具。安装打开后,把对应的属性填上去,点击一键签名后,签名后的apk就会生成了,建议使用这种方式,特别是环境配置突然出问题然后急着对Apk重签名的时候,这个工具特别的香。

aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0RNaW5nT3UvTWFya2Rvd24tUGljdHVyZS1yZXBvc2l0b3J5L21hc3Rlci9pbWcvMjAyMDAxMTgxMDU1NTEucG5n (424Ã450)

https://github.com/DMingOu/DMingO-Android-Utils/blob/master/windows%E7%AD%BE%E5%90%8D%E5%B7%A5%E5%85%B7%20360.rar

https://pan.baidu.com/s/16VhzLW5TD7r6O7EEe9Fq1w

   如下生成了  PlayIt3_signed_Aligned .apk     完成签名后,可以正常安装使用

 

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值