首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高性能diff&patch算法 -- 如何将微信Apk官方增量包20.4M缩小到7.0M

:zip包针对性优化 将zip抽象成压缩状态数据交给diff算法,patch输出标准zip包 ---- 如何支持严苛Apk V2签名 Apk v2 Sign介绍 额外:渠道包失效?...14415021 12356765 v70->google-maps-9-71-0.apk 50568872 37992141 37531799 17293163 14562607 11430622...google-maps-9-72-0.apk 54342938 41897706 41475595 21301751 18752320 14066134 v660->weixin661android1220...无法重新打包和签名情况下如何支持v2签名Apk类似优化增量包?...收集常见兼容压缩算法库; 动态计算出apk使用可能压缩库和其压缩参数,以保证patchbyteByByte还原; 这样能解决绝大部分Apk升级;否则剩下Apk就退回类似直接diff方案; Google

4.1K102

Janus高危漏洞深度分析

众所周知,Android具有签名机制。正常情况下,开发者发布了一个应用,该应用一定需要开发者使用私钥对其进行签名。...Android平台permission机制完全依赖于应用签名签名机制一旦突破,所有基于Android permission构建安全体系将崩溃。...这说明了安全问题有时是极其隐蔽,暂时未发现安全问题,代表安全问题不存在;更说明了安全是动态而不是静止。...表4 v1 v2签名对比 对于android 7.0以上,系统在校验签名是会先检查是否存在V2签名方案,若存在,则通过V2签名方案对APK进行校验,否则使用V1签名方案对APK进行校验。 ?...图4 Android v2签名流程 对于android 7.0以下系统,不支持V2签名方案,所以APK签名最好将两种签名方案都支持。

89830
您找到你想要的搜索结果了吗?
是的
没有找到

Janus高危漏洞深度分析

众所周知,Android具有签名机制。正常情况下,开发者发布了一个应用,该应用一定需要开发者使用私钥对其进行签名。...Android平台permission机制完全依赖于应用签名签名机制一旦突破,所有基于Android permission构建安全体系将崩溃。...这说明了安全问题有时是极其隐蔽,暂时未发现安全问题,代表安全问题不存在;更说明了安全是动态而不是静止。...表4 v1 v2签名对比 对于android 7.0以上,系统在校验签名是会先检查是否存在V2签名方案,若存在,则通过V2签名方案对APK进行校验,否则使用V1签名方案对APK进行校验。...图4 Android v2签名流程 对于android 7.0以下系统,不支持V2签名方案,所以APK签名最好将两种签名方案都支持。

1.1K90

精选Android中高级面试题 -- 终局之篇:高级干货

minifyEnabled为true表示通过ProGuard启用代码压缩,配合proguardFiles配置对代码进行混淆并移除使用代码。 代码混淆在压缩apk同时,也提升了安全性。..., 当然也建议大家过多使用 EventBus。...,签名以文件形式存在于apk包中,这个版本apk包就是一个标准zip包,V2和V1差别是V2是对整个zip包进行签名,而且在zip包中增加了一个apk signature block,里面保存签名信息...v2版本签名块(APK Signing Block)本身又主要分成三部分: SignerData(签名者数据):主要包括签名证书,整个APK完整性校验hash,以及一些必要信息 Signature(...推荐文章: APK 签名方案 v3(https://source.android.google.cn/security/apksigning/v3) Android P v3签名新特性(https://

1.2K20

一文了解Android游戏SDK开发

文件和其它资源文件打包成签名apk; 通过签名工具给apk签名,v1签名使用jarsigner、v2签名使用apksigner(sdk 25版本开始提供) Android打包流程可以查看:Android...Android v1签名是基于JAR 签名jar Signature来自JDK,Android v2签名是基于APK Signature Scheme v2,是Android 7.0版本引入,...apktool b demo -o unsign.apk [在这里插入图片描述] 不过,上面的输出签名apk,需要签名才能安装到手机上。...但是,单独给一个签名apk签名,就需要借助签名工具,v1签名使用jarsigner,v2签名使用apksigner。...-digestalg SHA1 -sigalg MD5withRSA 123456 如果需要使用v2 签名,由于v2签名使用是apkSigner,在SDK build-tools下,注意在版本25以上才有

2.5K00

一文了解Android游戏SDK开发

文件和其它资源文件打包成签名apk; 通过签名工具给apk签名,v1签名使用jarsigner、v2签名使用apksigner(sdk 25版本开始提供) Android打包流程可以查看:Android...Android v1签名是基于JAR 签名jar Signature来自JDK,Android v2签名是基于APK Signature Scheme v2,是Android 7.0版本引入,...不过,上面的输出签名apk,需要签名才能安装到手机上。 apk签名 对于Android应用开发来说,可以直接使用Android Studio来制作一个签名文件。...但是,单独给一个签名apk签名,就需要借助签名工具,v1签名使用jarsigner,v2签名使用apksigner。...-digestalg SHA1 -sigalg MD5withRSA 123456 如果需要使用v2 签名,由于v2签名使用是apkSigner,在SDK build-tools下,注意在版本25以上才有

2.1K10

Android中APK签名工具之jarsigner和apksigner详解

一.工具介绍 jarsigner是JDK提供针对jar包签名通用工具, 位于JDK/bin/jarsigner.exe apksigner是Google官方提供针对Android apk签名及验证专用工具...V2签名: 来自Google(apksigner), 对zip压缩包整个文件验证, 签名后不能修改压缩包(包括zipalign), 对V2签名apk解压,没有发现签名文件,重新压缩后V2签名就失效...包对齐工具,使APK包内压缩数据有序排列对齐,从而减少APP运行时内存消耗 zipalign -v 4 in.apk out.apk //4字节对齐优化 zipalign -c -v 4 in.apk...二.签名步骤 1.生成密钥对(已有密钥库,可忽略) Eclipse或Android Studio在Debug,对App签名都会使用一个默认密钥库: 默认在C:\Users\用户名\.android...签名jar文件 或apk文件 2.方法二(apksigner,支持V1和V2签名校验) 进入Android SDK/build-tools/SDK版本, 输入命令 apksigner

13.2K20

细说Android apk四代签名APK v1、APK v2APK v3、APK v4

为了使 APK 可在 Android 6.0 (Marshmallow) 及更低版本设备上安装,应先使用 JAR 签名功能对 APK 进行签名,然后再使用 v2 方案对其进行签名。...使用 APK 签名方案 v2 进行签名,会在 APK 文件中插入一个 APK 签名分块,该分块位于“ZIP 中央目录”部分之前并紧邻该部分。...https://developer.android.google.cn/about/versions/pie/android-9.0 注:运行 Android 8.1(API 级别 27)或更低版本设备不支持更改签名证书...APK v4同样是为了新功能而出现,这个新功能就是ADB 增量 APK 安装,可以参考Android11 功能和 API 概览: https://developer.android.google.cn...运行 adb install --incremental 命令,adb 会要求 .apk.idsig 文件存在于 .apk 旁边(所以APK v4签名文件.apk.idsig并不会打包进apk文件中

5.1K10

Android 11 应用兼容性适配,看这篇就够了

3.13 APK签名方案v2要求 1 背景 如果您应用以Android 11(API级别30)为目标平台,且目前仅使用APK签名方案v1签名,现在需要在v1签名基础上还必须使用APK签名方案v2...2 兼容性影响 用户无法在搭载Android 11设备上安装或更新仅通过APK签名方案v1 签名应用。...3 适配指导 1 APK签名方案验证 您可以在命令行中使用AndroidStudio或 apksigner工具,验证您应用是否已使用APK签名方案v2或更高版本进行签名。...Apk签名方案v2介绍: https://source.android.google.cn/security/apksigning/v2 Apksigner工具介绍: https://developer.android.google.cn.../app-signing#sign_release 2 Android旧版本兼容 为支持运行旧版Android设备,除了使用APK签名方案v2或更高版本为您APK签名之外,您还应继续使用APK签名方案

11.5K41

实现Android APK瘦身99.99%

如果有攻击者修改了我们 APK代码,签名就会匹配。这一机制保障了用户能避免执行第三方恶意软件风险。 在MANIFEST.MF文件中列出了 APK所有文件。...签名 大小(字节) v1 3511 v2 3307 看上去从此以后我们使用v2。 下面的操作将无需 IDE 支持 现在我们要手工编辑我们 APK 了。我们将使用如下命令: # 1\....总而言之,gradle 生成了一个签名归档文件,zipalign 更改了压缩资源字节对齐方式,用于改进加载 APK RAM 使用,最后 APK 将被加密签名。...签名对齐 APK 大小为 1902 字节,这意味着签名和对齐过程增加了约 1 Kb。 文件大小差异(优化为 2608 字节,削减 21%) 很奇怪!...终归,我们使用 v2 签名APK 中留名。让我们创建一个利用压缩破解新密钥库。 ? 这可削减 20 个字节。 第五阶段:最终采纳 现在1757个字节是相当小。

1.8K30

APK 签名:v1 v2 v3 v4

使用 APK 签名方案 v2 进行签名,会在 APK 文件中插入一个 APK 签名分块,该分块位于「ZIP 中央目录」部分之前并紧邻该部分。...可以看到在 v2 签名 APK 中,包含了 4 个部分: ZIP 条目的内容 APK 签名分块(APK Signing Block) ZIP 中央目录 ZIP 中央目录结尾 在验证期间,v2+ 方案会将...注意这里任何是带引号,Vv 签名签名块其实是一个 K-V 结构,可以向其中插入一些简单数据而破坏 v2 签名,这就是 v2 方案下,多渠道方案思路。...这个过程有点类似 CA 证书证明过程,安装 App 签名,确保覆盖安装 APK 签名正确,将信任传递下去。...在 V2 插入签名块(Apk Signature Block V2)中,又添加了一个新快(Attr 块),它使用链表存储了所有的签名信息,验证就像 CA 证书证明过程。

1.9K30

Android Uiautomator2 脱机 Monkey 测试

,但是看了一些Robotium环境搭建贴还是停留在ecliese上并且都是3年以前,果断放弃了. atx 底层基于Google uiautomator,安装atx-agent后会在手机上开启一个http...使用 先简单介绍下UiAutomator2如何使用和一些常用api 创建一个Android UiAutomator2项目 创建一个带页面的项目,为了后期在页面中运行自动化测试做准备....在app路径下build.gradle文件添加依赖. 通过Intent启动app、创建UiDevice实例并使用api方法,如点击元素和滑动等....崩溃获取 在Android中可以自定义CrashHandler类来捕获崩溃,需要一个当前app上下文环境,现在还获取不到被测app崩溃,这个问题也后续调用如何捕获运行时崩溃....重签名工具 https://github.com/pengwei1024/apkReSign/ Android Studio在只有apk情况下robotium自动化框架应用 https://blog.csdn.net

2.9K20

360加固apk并自动签名

基本配置 签名配置 点击“配置信息”,选择“签名配置” ,勾选“启用自动签名”,点击“浏览” 按钮,选择需要使用签名 Keystore 文件,并输入 Keystore 密码。...密码正确 会显示别名,然后输入正确别名密码,点击“添加”,完成签名配置操作。 ?...加固增强服务有: (1) 升级通知:“应用升级通知”服务可帮助开发者将最新版应用升级信 息及时推送给用户,并为开发者展示加固应用各版本用户数 量及版本占比情况。...id=93 (2) 崩溃日志:“ 崩溃日志分析”服务可为开发者提供实时应用运行崩 溃情况统计,包括 Java 层运行崩溃信息与 Native 层运行崩溃信息, 并对崩溃内容进行统计汇总,帮助发现应用具体问题...您可在文件夹中直接选择多个 需要加固 APK 文件,或者直接将 APK 拖拽到加固窗口中,完成批量加固操作。 ? ? ? 辅助选项 大家也可以根据自己需要一键渠道签名,打包等。 ?

2.3K70

Android 新一代多渠道打包神器

V2签名和多渠道打包方案 为什么需要V2签名 从前面的V1签名介绍,可以知道V1存在两个弊端: 1)MANIFEST.MF中数据摘要是基于原始压缩文件计算。...正是基于这两点,Google提出了V2签名,解决了上述两个问题: V2签名是对APK本身进行数据摘要计算,不存在解压APK操作,减少了校验时间。...V2签名是针对整个APK进行校验(包含签名块本身),因此对APK任何修改(包括添加注释、zipalign字节对齐)都无法通过V2签名校验。...因此,同时包含V1和V2签名APK校验流程如下所示: 简而言之:优先校验V2,没有或者不认识V2,则校验V1。 这里引申出另外一个问题:APK签名,只有V2签名,没有V1签名行不行?...(上面介绍过:修改EOCD中央目录偏移量,不会导致数据摘要校验失败) 用新签名块替代旧签名块,生成带有渠道信息APK 实际上,除了渠道信息,我们可以在APK签名块中添加任何辅助信息。

6.1K20

Android 新一代多渠道打包神器

V2签名和多渠道打包方案 为什么需要V2签名 从前面的V1签名介绍,可以知道V1存在两个弊端: MANIFEST.MF中数据摘要是基于原始压缩文件计算。...正是基于这两点,Google提出了V2签名,解决了上述两个问题: V2签名是对APK本身进行数据摘要计算,不存在解压APK操作,减少了校验时间。...V2签名是针对整个APK进行校验(包含签名块本身),因此对APK任何修改(包括添加注释、zipalign字节对齐)都无法通过V2签名校验。...因此,同时包含V1和V2签名APK校验流程如下所示: 简而言之:优先校验V2,没有或者不认识V2,则校验V1。 这里引申出另外一个问题:APK签名,只有V2签名,没有V1签名行不行?...(上面介绍过:修改EOCD中央目录偏移量,不会导致数据摘要校验失败) 用新签名块替代旧签名块,生成带有渠道信息APK 实际上,除了渠道信息,我们可以在APK签名块中添加任何辅助信息。

1K20

Android新一代多渠道打包神器

V2签名和多渠道打包方案 为什么需要V2签名 从前面的V1签名介绍,可以知道V1存在两个弊端: MANIFEST.MF中数据摘要是基于原始压缩文件计算。...正是基于这两点,Google提出了V2签名,解决了上述两个问题: V2签名是对APK本身进行数据摘要计算,不存在解压APK操作,减少了校验时间。...V2签名是针对整个APK进行校验(包含签名块本身),因此对APK任何修改(包括添加注释、zipalign字节对齐)都无法通过V2签名校验。...综上所述,任何对APK修改,在安装都会失败,除非对APK重新签名。但是相同包名,不同签名APK也是不能同时安装。 到这里,V2签名已经介绍完了。...(上面介绍过:修改EOCD中央目录偏移量,不会导致数据摘要校验失败) 用新签名块替代旧签名块,生成带有渠道信息APK 实际上,除了渠道信息,我们可以在APK签名块中添加任何辅助信息。

1.5K90

拖不得了,Android11真的来了,最全适配实践指南奉上

申请所有文件访问权限 电话号码相关权限 ⭐ “Android 11 更改了您应用在读取电话号码使用与电话相关权限。 ” 具体改了什么呢?...现在需要 APK 签名方案 v2 ⭐ “对于以 Android 11(API 级别 30)为目标平台,且目前仅使用 APK 签名方案 v1 签名应用,现在还必须使用 APK 签名方案 v2 或更高版本进行签名...用户无法在搭载 Android 11 设备上安装或更新仅通过 APK 签名方案 v1 签名应用。...” 这个介绍已经很明显了吧,如果你targetSdkVersion修改到30,那么你就必须要加上v2签名才行。否则无法安装和更新。...当程序打开一个现有文件或者创建一个新文件,内核向进程返回一个文件描述符。系统进程也就是使用了这个fd来标示打开文件,有了它就能对文件做各种操作,获得文件各种相关信息了。

6.6K340266

乐固加固常见问题

1.应用加固上传失败原因有哪些? 1.上传应用签名,目前应用安全仅允许上传签名应用。 2.加固apk不可进行重复加固,只需要重签名即可。...1.确认上传应用是签名应用。 2.先自查确认加固前后签名是否一致。 ——如何查看apk签名信息?安装好java,并配置环境变量。...3.打release包Signature Versions只勾选了V2:release打包Signature Versions勾选v1+v2,加固签名设置选择新配置,选择v1+v2,再输入签名文件和密码...通常是因为(正确)签名导致,请排查以下可能问题: 1.应用加固前后签名不一致,或者签名。 ——如何查看apk签名信息?安装好java,并配置环境变量。...您只需要确保使用签名安装包在 移动应用安全控制台 直接提交加固即可,可参见 快速入门 进行操作。 8.应用加固为什么必须重签名

6.2K90

Android11 (API30)适配

3.13 APK签名方案v2要求 1 背景 如果您应用以Android 11(API级别30)为目标平台,且目前仅使用APK签名方案v1签名,现在需要在v1签名基础上还必须使用APK签名方案v2或更高版本进行签名...2 兼容性影响 用户无法在搭载Android 11设备上安装或更新仅通过APK签名方案v1 签名应用。...3 适配指导 1 APK签名方案验证 您可以在命令行中使用AndroidStudio或 apksigner工具,验证您应用是否已使用APK签名方案v2或更高版本进行签名。...Apk签名方案v2介绍: https://source.android.google.cn/security/apksigning/v2 Apksigner工具介绍: https://developer.android.google.cn...app-signing#sign_release 2 Android旧版本兼容 为支持运行旧版Android设备,除了使用APK签名方案v2或更高版本为您APK签名之外,您还应继续使用APK签名方案

7.4K11
领券