Android 重签名apk文件

18 篇文章 2 订阅
3 篇文章 0 订阅

重新使用签名证书和包装应用

Android 要求所有应用都必须使用有效证书进行签名才能安装在 Android 设备上。

包装的应用可以在使用现有 签名工具 包装后进行签名 (在应用内的任何签名信息后,包装将被丢弃) 。 如果可能,应在打包过程中使用生成过程中已使用的签名信息。 在某些组织中,这可能需要与拥有密钥存储信息(即) (合作。应用生成团队) 。

如果无法使用以前的签名证书,或者之前尚未部署应用,你可以按照 Android 开发人员指南 中的说明创建新的签名 证书

如果之前已使用不同的签名证书部署应用,则应用在升级后无法上传到 Intune。 如果你的应用使用与生成应用时不同的证书进行签名,则应用升级方案将中断。 因此,应维护任何新的签名证书以用于应用升级。

运行应用程序的安全App Wrapping Tool

为了防止潜在的欺骗、信息泄露和特权提升攻击:

  • 确保 LOB (应用程序) 输入业务线,并且输出应用程序位于运行 Windows 应用程序的同App Wrapping Tool计算机上。

  • 将输出应用程序导入到运行该工具的同一计算机上 Intune。 请参阅 keytool, 详细了解Java键工具。

  • 如果输出应用程序和工具位于通用命名约定 (UNC) 路径上,并且未在同一计算机上运行该工具和输入文件,则使用 Internet 协议安全性 (IPsec) 或服务器消息块 (SMB) 签名将环境设置为安全。

  • 确保应用程序来自受信任的源。

  • 保护已包装应用的输出目录。 请考虑将用户级别目录用于输出。

将 Android 应用程序包 (AAB) 转换为 APK

Intune App Wrapping Tool当前仅支持 APK 输入。 必须先将 Android 应用程序包转换为 APK,以与该工具一同使用。

Android 应用程序包可以使用Google bundletool 的命令行工具 转换为 APK。 可以从 Google bundle-tool 的bundletoolGitHub下载 。

bundletool可用于生成单个通用 APK,以使用以下命令与 Intune App Wrapping Tool一同使用:

复制

bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks

输出 .apks 文件是包含单个通用 APK 文件的 ZIP 存档。 解压缩存档,并使用该 APK 文件作为 Intune App

因为有个项目要使用 Microsoft Intune App Wrapping Tool For Android ,这个软件通过限制应用的功能来更改内部 Android 应用的行为,而无需更改应用本身的代码。

https://github.com/msintuneappsdk/intune-app-wrapping-tool-android

安装App Wrapping Tool

  1. 从 GitHub存储库中,将 Intune InstallAWT.exe for Android App Wrapping Tool的安装文件下载到Windows计算机。 打开安装文件。

  2. 接受许可协议,然后完成安装。

记下工具安装到的文件夹。 默认位置为:C:\Program Files (x86) \Microsoft Intune Mobile Application Management\Android\App Wrapping Tool。

运行App Wrapping Tool

 重要

Intune 会定期发布对 Intune App Wrapping Tool。 定期检查适用于 Android App Wrapping Tool Intune应用,了解更新并纳入软件开发发布周期,以确保应用支持最新的应用保护策略设置。

  1. 在安装Windows的 App Wrapping Tool 计算机上,打开 PowerShell 窗口。

  2. 从安装该工具的文件夹中,导入App Wrapping Tool PowerShell 模块:

    PowerShell复制

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. 使用 invoke-AppWrappingTool 命令运行该工具,该命令具有以下使用语法:

    PowerShell复制

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose
set/p keystore_path=".\123456.jks"
set/p alias_path="key0"
set/p unsign_path=".\sermux.apk"
set/p sign_path=".\sermux_sign.apk"
 
jarsigner -verbose -keystore %keystore_path% -signedjar %sign_path% %unsign_path% %alias_path%
 
pause

jarsigner -verbose -keystore 证书文件 -signedjar 生成的签名文件 原文件 别名

-signedjar

后面的参数中 与正常理解不一样,先是生成签名文件(这个是不存在的)

然后再接原文件(这个是我们已有的apk)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值