当前位置:网站首页>C#加壳工具做代码加密保护
C#加壳工具做代码加密保护
2022-07-21 10:25:00 【senseshield】
当前C# .net语言的应用范围越来越广泛,IIS 的服务器架构后台代码、桌面应用程序的 winform 、Unity3d 的逻辑脚本都在使用。C# .net 具备强大的便捷特性,使得开发成本极低。而作为一款.net 语言,也有它让开发者头疼的弊病——非常容易被反编译。市面上的 Dnspy, ILspy,de4dot等工具可以非常容易反编译出被混淆保护的C# .net 程序。
解决方案
深思自主研发了为 C# .net 语言做保护的外壳:Virbox Protector .NET版。将C# .net 编译成的执行程序(.exe),动态库(.dll)直接拖入加壳工具即可完成保护操作,十分方便。并且在效果上已经完全看不到源码中的逻辑。
Virbox Protector加密功能介绍
名称混淆(.NET)
将 .net 的方法名类名使用随机字符串重新命名,导出和外部的名称不会改变。
保护效果图
保护前,如图所示:
保护后,如图所示:
压缩
Virbox Protector 的压缩功能,其核心目的不是“压缩”,并非专为缩小程序体积而设计的。它真正的作用是将代码与数据段做了加密,并将原先的导入表与重定位信息隐藏了起来,再”顺便“将原先的数据做了压缩。
原理
将原始的代码段与数据包打包并压缩,将原始程序入口(OEP)替换为壳代码,运行时由壳代码将代码段与数据段还原,并进行一些重定位等操作,使程序能正常运行。
功能
防止静态反编译,防止程序被打补丁。
优点
1、能起到一层整体保护效果,可以隐藏程序的代码、数据和文件结构信息。
2、运行效率高,仅在程序被加载时轻微的性能损失。
保护效果图
保护前,如图所示:
保护后,如图所示:
去除强签名
1、强名称(StrongName)使.NET提供的一种验证机制, 主要包括标识版本和标识原作者。
2、强名称可以用来帮助用户验证自己得到的程序是否为原作者所写切没有被修改(例如添加恶意代码), 跟自校验有点类似。
3、因此添加了强名称的程序加壳时要去除强名称, 并在加壳后重新添加强名称。
函数级保护-代码加密
原理
代码加密是使用动态代码技术,将原始方法字节码加密,执行时才将方法解密并执行的保护方式。
功能
防脱壳,防止直接 Dump。
优点
1、运行效率高,几乎没有性能损失。
保护效果图
保护前,如图所示:
保护后,如图所示:
代码混淆
原理
代码混淆亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式。
Virbox Protector 支持对 x86/arm/.net il 系列指令进行混淆。
功能
扰乱原始指令,防止静态分析。
优点
1、防反编译。
保护效果图
保护前,如图所示:
保护后,如图所示:
了解更多
试用版下载地址:https://shell.virbox.com/netprotector.html
边栏推荐
- bootloader系列四——时钟初始化
- Packet format of network packets
- 本机电脑清除DNS缓存+浏览器清除DNS缓存
- Matplotlib drawing sin function image
- B站自定义倍数代码
- Use cricordset directly without using the derived classes of cricordset
- 函数 之装饰器
- 函数之递归[通俗易懂]
- SAP ABAP parsing function text of Excel file_ CONVERT_ XLS_ TO_ SAP single step analysis
- 分页助手PageHelper的使用
猜你喜欢
如何使用界面控件Telerik UI for WinForms开发步骤进度条?
剑指 Offer 52. 两个链表的第一个公共节点
【论文笔记】Modeling Task Relationships in Multi-task Learning withMulti-gate Mixture-of-Experts
Sign up now | how to reduce the cost of cloud data analysis?
A Beginner guide to Deep Learning based Semantic Segmentation using Keras
Introduction to MySQL user management and engine
From scratch implement crnn using pytorch: read training data
ECCV 2022 | 多域长尾分布学习,解决不平衡域泛化问题
ELF 格式详解(一)
Packet format of network packets
随机推荐
Li Hongyi's deep learning course notes convolutional neural network
Open and close the encapsulated class of the thread
Opencv: how to remove the seal on the bill
Teach you to upload NCBI data hand in hand, and you can learn it in the free course package!
[paper notes] modeling task relationships in multi task learning with multi gate mixture of experts
【 apprentissage automatique】 regroupement kmeans
17 shortcut keys commonly used by QT Creator
Virtual and pure virtual destructions
C:文件加密
界面组件DevExpress ASP.NET v22.1 - 全新的Office 365 深色主题
网络数据包的封包格式
Introduction to pytorch 3 data types and functions
matplotlib.pyplot接口汇总
Packet format of network packets
matplotlib绘制直线图
网页监控----Mjpg‐streamer移植
B站自定义倍数代码
Write to yourself: 2021 version of the transfer reference book
[performance optimization] MySQL common slow query analysis tools
Basic process of generating digital image