iOS源代码虚拟化

本文档主要介绍图形界面的虚拟化工具,如需命令行工具请联系客服
仅支持在Mac电脑上使用

概述

iOS源代码虚拟化工具[KiwiVM]支持对C、C++、Objective-C代码进行虚拟化保护,凭借自定义CPU指令的特性,代码一旦加密,永不解密,攻击者无法还原代码,分析核心业务逻辑。

使用说明

  1. 购买KiwiVM虚拟机之后,使用几维安全提供的机器码生成工具提取待绑定电脑的Key,几维安全将根据Key、授权时间、企业信息生成对应的KiwiVM虚拟机

  2. KiwiVM虚拟机核心部分十分复杂,为了提高开发者对项目虚拟化的效率,提供GUI界面版的工具,只需几个步骤即可完成对项目的虚拟化操作。如下图 "1-1"

  3. 选择iOS项目,虚拟化工具将自动对项目进行预编译分析,提取可虚拟化的函数列表,该列表依据目录、文件名来构造,直观的树形结构可以快速定位需要虚拟化的函数,如下图
    [项目使用Xcode可以正常编译才进行虚拟化加密,虚拟化时注意选择正确的SDK版本] "1-2"

  4. 如果预编译后出现冲突函数,表示同一个函数名在多个文件中存在,虚拟化加密工具无法识别是否为同一个函数,需要开发者自行确认检查。如下图
    a. 符号冲突的函数为相同函数,直接勾选即可
    b. 符号冲突的函数为不同函数,请修改函数符号
    c. 系统函数一般为相同函数,直接勾选即可
    "1-8"

  5. 勾选完正常函数和冲突函数后,点击开始加密即可开始对项目进行虚拟化编译,完成后会提示本次共计虚拟化多少个函数。[此步骤会记录下本次勾选的函数,用于下次重载项目时自动设置,如果冲突函数出现半选择框,表示历史勾选记录不完全包含最新加载的函数,此时不会加密该冲突函数,请排查] "1-3"

  6. 点击 打开目录 即可进入虚拟化之后的项目路径,位于syms/Release-iphoneos目录下,如下图
    "1-4"

  7. iOS项目因证书问题,虚拟化后的APP不能直接运行,请手动拷贝虚拟化后的可执行文件替换Xcode打包后的可执行文件,如下图
    "1-5"

虚拟化效果分析

本文档以开源项目为例,链接https://github.com/comyar/Sol

Objective-C源代码
"2-1"

通过IDA Pro反编译未虚拟化保护的代码,原始代码逻辑一目了然
"2-1"

通过IDA Pro反编译已虚拟化保护的代码,原始代码逻辑已被隐藏转换
"2-1"

如遇问题请联系我们的客服或技术支持,官方QQ群:201898448

results matching ""

    No results matching ""