防逆向技术简史:从代码混淆到虚拟机保护技术

本文介绍了移动应用防逆向保护技术的发展历程,从代码混淆到DEX加密,再到虚拟机保护(VMP)。随着反编译技术的进步,开发者采用更加复杂的保护手段,如DEX函数抽取加密,以防止代码被逆向分析。VMP通过自定义虚拟机和指令集提供更高层级的保护,成为目前移动应用安全加固的重要技术。
摘要由CSDN通过智能技术生成

那么如何才能保护自己开发APP不被逆向破解呢?在道高一尺魔高一丈的网络安全攻防对抗中,防逆向保护技术也在不停更新演进,我在这里梳理了几个关键时期的防逆向保护技术,让大家对APP防护有一个更好理解。

【启蒙阶段】防逆向保护始于代码混淆技术

这个时期最大特点是,从未能登上大雅之堂的代码混淆技术,摇身一变成为了防逆向保护唯一有效的技术。这要从1995年JAVA语言横空出世说起,它让人们在享受跨平台便利运行的同时,由于其天生易反编译特性,也让传统针对机器码的安全保护一夜之间变得毫无用处。

从此,那个曾经被唾弃的代码混淆技术开始逐渐被人所重视。从Android 2.3开始,Google在SDK中加入了一款叫ProGuard代码混淆工具,通过它可混淆JAVA代码。

ProGuard混淆后DEX文件截图

在这里插入图片描述

从上图就可以看到,代码混淆之后左侧的类名大多都变成了a、b等自定义字母,虽然机器执行起来的逻辑是一样的,但增加了黑客人为分析的难度和时间成本。从某种程度上来说,代码混淆技术很好的保护JAVA源代码,但这种方式也只是简单的改变类名或者变量名,黑客只要找到DEX文件,反编译也就是时间问题了,就看时间成本是否超过黑客收益。

【发展阶段】DEX加密技术成为应用防护中流砥柱

随着Android反编译技术越来越纯熟,即便代码混淆技术做到native层,也是治标不治本。为了解决代码混淆技术存在弊端,越来越多的人采用DEX整体隐藏和DEX函数抽取加密来保护自己代码安全&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值