排行榜 统计
  • 文章总数:1688 篇
  • 评论总数:5 条
  • 分类总数:8 个
  • 最后更新:一天前

深盾安全-ARM虚拟化加密技术

本文阅读 4 分钟
首页 安全资讯 正文

随着移动应用和 IoT 设备的普及,大量的硬件抛弃了传统的 x86 架构,选择使用能耗低、性价比高的 ARM 芯片,ARM 指令级渐渐成为主流,但随之而来的,是愈发严峻的安全问题。

VirboxProtector(简称:VBP)针对 Android 系统的开放性特征,在对其保护上采用了 ARM 虚拟化技术。其安全强度远超于直接对 SO 文件中的代码段压缩或加密,也区别于基于 LLVM 的代码保护,ARM 虚拟化技术是直接对指令进行保护,实现了更高等级的安全保护!

ARM 虚拟化技术原理

ARM 虚拟化延续了 PC 端对 x86 指令的虚拟化保护思路,将其完整地适配到了 ARM 平台,该技术的实现完全独立,由单独的工具来实现,直接对编译生成的二进制文件进行保护。完整的技术实现,由解析,配置,编译(混淆、虚拟化),链接等几个步骤完成。

ARM 虚拟化技术则位于“编译”过程通过将 ARM 指令翻译成自定义的虚拟机指令,并将虚拟机解释器和虚拟指令以指令块和数据块的方式插入“块表”中,最终链接成新的可执行程序。


虚拟化技术特点

01无法被反编译

通过指令切片,间接跳转等处理,生成的指令块无法被 IDA 分析,只能查看汇编指令。

02无函数边界

通过链接器乱序再重定位,生成的指令块在可执行文件中的位置是随机的,函数保护后变成了无数个随机位置的指令碎片,无法知道函数的边界。

03更精细的保护粒度

直接对 ARM 指令保护,可以更精细的控制指令和寄存器,灵活性高,能够达到更高的安全性上限。

04适应性高

直接处理 ARM 指令,不受限于开发语言和语法标准,几乎可以保护任何编译为 ARM 架构的程序,如 golang 等。

虚拟化效果

示例 : 对 rc4 算法保护,经过 IDA Pro分析

如何使用虚拟化保护

1.下载安装VirboxProtector

2.将可执行程序或者 so库添加到工具里,配置函数选项,选择虚拟化保护即可。

适用的程序类型

Virbox Protector 支持 ARM Linux /Android 系统下的 so库和可执行程序,支持 macOS/iOS 主程序和 dylib。

开发语言支持

C、C++、Objective-C、Swift、go、汇编语言等。

架构支持

x86、x64、arm32(支持thumb/thumb2)、arm64(支持 arm64e)

购买:Virbox Protector 商城 | 商品

Virbox Protector

让加密不再困扰软件开发者。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://typecho.firshare.cn/archives/1138.html
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。避免网络欺诈,本站不倡导任何交易行为。如您私自与本站转载自公开互联网中的资讯内容中提及到的个人或平台产生交易,则需自行承担后果。本站在注明来源的前提下推荐原文至此,仅作为优良公众、公开信息分享阅读,不进行商业发布、发表及从事营利性活动。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。
-- 展开阅读全文 --
15 种TypeScript最常用的实用程序类型
« 上一篇 11-03
6 大 API 安全风险
下一篇 » 11-09