一种基于堆栈隐藏的虚拟机软件保护方法

    公开(公告)号:CN112163195B

    公开(公告)日:2022-08-05

    申请号:CN202011097261.1

    申请日:2020-10-14

    Inventor: 李晖 陈泽伦 张文

    Abstract: 本发明公开了一种基于堆栈隐藏的虚拟机软件保护方法,属于移动应用加固领域。首先对DEX文件解析为数据结构DexHelper,指令映射模块将每个被保护函数中添加混淆字节码指令,并将return指令随机插入混淆后的字节码指令中,统计混淆字节码的频率。指令映射模块将每条新的字节码映射指令中的字节码和操作数进行位操作或交换操作,构成新的重映射指令集合B。数据结构DexHelper中不被保护的函数集合和APK1中原有的SO文件写入数据文件S中并重新打包生成APK2并签名。Android端初始化模块从数据文件S中提取被保护App的DEX和SO文件,创建索引和关键函数的数据cache。由Android端虚拟机负责执行不被保护的函数,由自定义虚拟机执行被保护函数。本发明具有通用性、可移植性和安全性。

    一种基于堆栈隐藏的新型虚拟机软件保护方法

    公开(公告)号:CN112163195A

    公开(公告)日:2021-01-01

    申请号:CN202011097261.1

    申请日:2020-10-14

    Inventor: 李晖 陈泽伦 张文

    Abstract: 本发明公开了一种基于堆栈隐藏的新型虚拟机软件保护方法,属于移动应用加固领域。首先对DEX文件解析为数据结构DexHelper,指令映射模块将每个被保护函数中添加混淆字节码指令,并将return指令随机插入混淆后的字节码指令中,统计混淆字节码的频率。指令映射模块将每条新的字节码映射指令中的字节码和操作数进行位操作或交换操作,构成新的重映射指令集合B。数据结构DexHelper中不被保护的函数集合和APK1中原有的SO文件写入数据文件S中并重新打包生成APK2并签名。Android端初始化模块从数据文件S中提取被保护App的DEX和SO文件,创建索引和关键函数的数据cache。由Android端虚拟机负责执行不被保护的函数,由自定义虚拟机执行被保护函数。本发明具有通用性、可移植性和安全性。

Patent Agency Ranking