.Net加密壳认识的一个误区

简介: 自从.Net 2.0的新特性被公开用来获取IL代码后,加密壳就成了鸡肋。就如tankaiha所说“.net下逆向暂时没啥新东西可搞,某软件的版本升级是一次不如一次强”,由于先天不足,这成了加密壳强度的一个瓶颈。

自从.Net 2.0的新特性被公开用来获取IL代码后,加密壳就成了鸡肋。
就如tankaiha所说“.net下逆向暂时没啥新东西可搞,某软件的版本升级是一次不如一次强”,由于先天不足,这成了加密壳强度的一个瓶颈。

但是还有相当一部分人认为1.1的程序集加密后是安全的。
其实不然,绝大部分1.1的程序集加密后也能用发射的方式进行脱壳。
(注:这里的脱壳仅指加密保护壳,混淆是无法还原的,如某软件现在同时提供了加密和混淆功能,脱壳仅能脱除加密保护部分)

.Net 1.1没有 2.0中有的新特性,怎么能用反射脱壳呢?原因很简单,因为大部分1.1的程序集能在 2.0的框架中运行。
如加密的 dll,我们可以用2.0写一个程序集来load它。我们就有了2.0的运行环境了。
那加密的 exe 呢,也好对付,微软允许用户通过修改程序配置来强制指定一个程序运行的 .net framework版本。
假设 a.exe 是被加密的1.1程序集。
我们只要建一个文件 a.exe.config 和它放在一起,文件内容如下:

<configuration>
 <startup>
 <supportedRuntime version="v2.0.50727"/>
 <requiredRuntime version="v2.0.50727" safemode="false"/>
</startup>
</configuration>


这样你再次运行a.exe时,系统就会自动启用 .Net 2.0 framework 作为运行环境。

如果说只能一个一个函数的获取IL代码,那么加密保护还有一定的利用价值。
然而反射脱壳已经有了成品脱机了,这就使加密保护彻底成了鸡肋。

对于反射,加密壳还是有一定作为空间的,但是作用很有限,治标不治本。
那就是破坏反射,让反射无法正常工作。
即通过破坏反射正常运行的系统地层代码或代码路径达到破坏反射的目的。
只要修复反射,就可以继续使用脱机脱壳。

这就将战场转移到了传统的Win32层面。
然而受限于.Net内核框架,破坏总是有限的,熟悉一点汇编,了解一些.Net底层机制,要修复是很比较容易的事情。

当然要修复总得需要先找一个sample来分析才行,如果没有sample神仙也没有办法。
这就有了某壳新版不再发布试用版本的事情出现。
这对于安全有那么一点点作用,即不至于新版一发布别人就找到的patch修复的办法。
但是只要有一个加密保护的程序发布,那就有了可分析的sample了,结果可想而知了。

单纯的加密壳强度已经得不到保障了,当然多一层保护总是好的。在众多的保护方式里,加密反而成了最脆弱的环节。

目录
相关文章
|
存储 数据安全/隐私保护
.NET Core 究竟隐藏着怎样的神秘力量,能实现强身份验证与数据加密?
【8月更文挑战第28天】在数字化时代,数据安全与身份验证至关重要。.NET Core 提供了强大的工具,如 Identity 框架,帮助我们构建高效且可靠的身份验证系统,并支持高度定制化的用户模型和认证逻辑。此外,通过 `System.Security.Cryptography` 命名空间,.NET Core 还提供了丰富的加密算法和工具,确保数据传输和存储过程中的安全性。以下是一个简单的示例,展示如何使用 .NET Core 的 Identity 框架实现用户注册和登录功能。
266 3
|
Java C# 数据安全/隐私保护
|
C# 数据安全/隐私保护
一款实用的.NET Core加密解密工具类库
一款实用的.NET Core加密解密工具类库
304 1
|
开发框架 .NET 网络安全
虚拟主机ASP.NET 使用SSL加密465端口发邮件demo
虚拟主机ASP.NET 使用SSL加密465端口发邮件demo
|
算法 网络安全 C#
一个基于.Net开发齐全的加密库
一个基于.Net开发齐全的加密库
394 0
|
开发框架 .NET 数据安全/隐私保护
视频点播HLS 标准加密实现 .net解密服务器搭建说明
解密服务器搭建成功了,但是访问之后出现解密失败或者无法访问加密的m3u8,可以从如下几点确认可能的原因。
1219 0
视频点播HLS 标准加密实现 .net解密服务器搭建说明
|
Web App开发 算法 .NET
asp.net 加密类
MD5相关类: System.Security.Cryptography.MD5System.Security.Cryptography.MD5CryptoServiceProvider()System.
1175 0
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
433 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。