防逆向技术简史:从代码混淆到虚拟机保护技术
2017-08-01 14:03
369 查看
点击查看全文
开发软件的人都知道这个世界上没有破解不了的软件,只有不值得破解的软件。换而言之,只有软件的破解成本超过Hacker收益,软件资产才是相对安全的。Android平台以其免费和开源的特性占据了移动应用领域半壁江山,但也因其应用很容易被逆向破解获取源码,导致它成为Hacker最喜欢攻击的一个“靶子”。
那么如何才能保护自己开发APP不被逆向破解呢?在道高一尺魔高一丈的网络安全攻防对抗中,防逆向保护技术也在不停更新演进,笔者在这里梳理了几个关键时期的防逆向保护技术,让大家对APP防护有一个更好理解。
启蒙阶段——防逆向保护始于代码混淆技术
这个时期最大特点是,从未能登上大雅之堂的代码混淆技术,摇身一变成为了防逆向保护唯一有效的技术。这要从1995年JAVA语言横空出世说起,它让人们在享受跨平台便利运行的同时,由于其天生易反编译特性,也让传统针对机器码的安全保护一夜之间变得毫无用处。
从此,那个曾经被唾弃的代码混淆技术开始逐渐被人所重视。从Android 2.3开始,Google在SDK中加入了一款叫ProGuard代码混淆工具,通过它可混淆JAVA代码。
ProGuard混淆后DEX文件截图
从上图就可以看到,代码混淆之后左侧的类名大多都变成了a、b等自定义字母,虽然机器执行起来的逻辑是一样的,但增加了黑客人为分析的难度和时间成本。从某种程度上来说,代码混淆技术很好的保护JAVA源代码,但这种方式也只是简单的改变类名或者变量名,黑客只要找到DEX文件,反编译也就是时间问题了,就看时间成本是否超过黑客收益。
发展阶段——DEX加密技术成为应用防护中流砥柱
随着Android反编译技术越来越纯熟,即便代码混淆技术做到native层,也是治标不治本。为了解决代码混淆技术存在弊端,越来越多的人采用DEX整体隐藏和DEX函数抽取加密来保护自己代码安全,例如梆梆安全等厂商早期加固产品用的就是这个技术。
点击查看全文
开发软件的人都知道这个世界上没有破解不了的软件,只有不值得破解的软件。换而言之,只有软件的破解成本超过Hacker收益,软件资产才是相对安全的。Android平台以其免费和开源的特性占据了移动应用领域半壁江山,但也因其应用很容易被逆向破解获取源码,导致它成为Hacker最喜欢攻击的一个“靶子”。
那么如何才能保护自己开发APP不被逆向破解呢?在道高一尺魔高一丈的网络安全攻防对抗中,防逆向保护技术也在不停更新演进,笔者在这里梳理了几个关键时期的防逆向保护技术,让大家对APP防护有一个更好理解。
启蒙阶段——防逆向保护始于代码混淆技术
这个时期最大特点是,从未能登上大雅之堂的代码混淆技术,摇身一变成为了防逆向保护唯一有效的技术。这要从1995年JAVA语言横空出世说起,它让人们在享受跨平台便利运行的同时,由于其天生易反编译特性,也让传统针对机器码的安全保护一夜之间变得毫无用处。
从此,那个曾经被唾弃的代码混淆技术开始逐渐被人所重视。从Android 2.3开始,Google在SDK中加入了一款叫ProGuard代码混淆工具,通过它可混淆JAVA代码。
ProGuard混淆后DEX文件截图
从上图就可以看到,代码混淆之后左侧的类名大多都变成了a、b等自定义字母,虽然机器执行起来的逻辑是一样的,但增加了黑客人为分析的难度和时间成本。从某种程度上来说,代码混淆技术很好的保护JAVA源代码,但这种方式也只是简单的改变类名或者变量名,黑客只要找到DEX文件,反编译也就是时间问题了,就看时间成本是否超过黑客收益。
发展阶段——DEX加密技术成为应用防护中流砥柱
随着Android反编译技术越来越纯熟,即便代码混淆技术做到native层,也是治标不治本。为了解决代码混淆技术存在弊端,越来越多的人采用DEX整体隐藏和DEX函数抽取加密来保护自己代码安全,例如梆梆安全等厂商早期加固产品用的就是这个技术。
点击查看全文
相关文章推荐
- Android 高级混淆和代码保护技术
- Android 高级混淆和代码保护技术
- 浅谈Android保护技术__代码混淆
- Android 高级混淆和代码保护技术
- Android 高级混淆和代码保护技术
- Android 高级混淆和代码保护技术
- 【Java代码保护技术】代码混淆
- DNGuard HVM - 内核级的 .Net 加密保护、混淆保护、虚拟机保护技术
- Android 高级混淆和代码保护技术
- Android高级混淆和代码保护技术
- ProGuard代码混淆技术详解
- 美团Android资源混淆保护实践 - 美团技术团队
- 浅谈android代码保护技术_加固
- 小试.NET代码保护软件(代码混淆、加密)
- Android 代码混淆技术总结
- 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
- Android 2.3 代码混淆proguard技术介绍
- 【代码安全】浅谈代码混淆加固技术
- Jocky混淆JAVA代码(保护你的JAVA项目)
- Android 2.3 代码混淆proguard技术介绍 收藏