Android 重签名apk文件

news/2024/7/16 8:53:24 标签: android, android studio, ide

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

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

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

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

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

iderations-for-running-the-app-wrapping-tool">运行应用程序的安全App Wrapping Tool

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

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

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

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

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

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

android-app-bundle-aab-to-apk">将 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)

 


http://www.niftyadmin.cn/n/1431484.html

相关文章

也谈谈SDP零信任和传统公司接入的区别

早些年用过vpn,拨号可以连接到公司网络&#xff0c;现在sdp实际上也要一个帐号密码以及服务器IP&#xff0c;两者的区别是什么呢。实际上vpn直正的用途不是翻墙&#xff0c;是连接公司内网业务&#xff0c;比如公司内网中的git服务器存储公司核心代码&#xff0c;通过vpn接入公…

sh脚本中magisk下的/data/adb/service.d中不支持数组

在ARM开发板中都会有sh&#xff0c;这是随busybox携带的脚本工具。当然&#xff0c;如果是完整版的busybox&#xff0c;里面也会有bash&#xff0c;在系统启动前#sh脚本是不支持数据组的&#xff0c;下面代码会崩溃 #arr(she is a beautiful girl) #echo $whoami $time begin i…

netsh 使用方法

1,通过导出配置脚本 netsh -c interface ip dump >c:\interface.txt 2,导入配置脚本 netsh -f c:\interface.txt 适用场景&#xff0c;网络维护&#xff0c;在不同办公室瞬间切换网卡设定。 3,通过netsh创建热点为wifi8888局域网&#xff0c;下面为C#代码 string str_…

vs2019写个驱动测试

安装SDK和WDK 我这里用的是VS2019,VS2022不再支持win10的WDK(那个扩展装不了)&#xff0c;而2022的WDK驱动根本没有x86版本的 安装器里把这个勾上&#xff0c;如果你安装了某个套餐&#xff0c;应该会有个SDK对应的版本&#xff0c;那么就不用装了 建立一个空的工程后&#…

wireguard windows\linux版本client\server的配置

本文实现三台机器的互联&#xff0c;一台server端&#xff0c;二台客户端&#xff0c;系统均为win,server win10, client 一台win7,一台win10,开源地址&#xff1a;可以下载windows ,mac ,linux ,android各种版本 WireGuard GitHub 我们下使用的是wireguard-windows版本 wind…

当电脑接双屏扩展显示器时,系统崩溃,QQ浏览器出现显示异常,通过如下方法使之正常

当我电脑接双显示器时&#xff0c;打开QQ浏览器浏览网页&#xff0c;这时突然电脑 蓝屏了&#xff0c;这时重启动后QQ浏览器显示不正常&#xff0c;卸载重装也不好用&#xff0c;用下面方法可以恢复&#xff0c;记录一下问题&#xff0c;防止以后再出现不记得了。害得我搞了一个…

RUST开发的一些事项

添加Target 这里我所用的Linux是64位的&#xff0c;所以我这里需要添加x86_64-unknown-linux-musl 的这个target。 rustup target add x86_64-unknown-linux-musl 1 通过下面的命令可以查看所有支持的target和已经安装的target。如果已安装会在后面显示(installed)。 rustup …

go语言使用goland开发注意事项及交叉编译方法

1、用goband 如果库下载不下来&#xff0c;增加一个 GOPROXYhttps://goproxy.io GOPROXYhttps://goproxy.cn,direct 2、 我想在win10 64位下面给win7 32位编译一个应用&#xff0c;如下图 GOARCH386;CGO_ENABLED1 编译方法 1. 编译方法 # 在命令行进入项目根目录&#xff0…