c# 加壳工具推荐[通俗易懂]

c# 加壳工具推荐[通俗易懂]当前C#.net语言的应用范围越来越广泛,IIS的服务器架构后台代码、桌面应用程序的winform、Unity3d的逻辑脚本都在使用。C#.net具备强大的便捷特性,使得开发成本极低。而作为一款.net语言,也有它让开发者头疼的弊病——非常容易被反编译。市面上的Dnspy,ILspy,de4dot等工具可以非常容易反编译出被混淆保护的C#.net程…

大家好,又见面了,我是你们的朋友全栈君。

当前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 的方法名类名使用随机字符串重新命名,导出和外部的名称不会改变。

保护效果图

保护前,如图所示:

e7c82555c30d1ad8b097d86e07309078.png

保护后,如图所示:

2636fa0623133b6210f31afb2c025e8d.png

压缩

Virbox Protector 的压缩功能,其核心目的不是“压缩”,并非专为缩小程序体积而设计的。它真正的作用是将代码与数据段做了加密,并将原先的导入表与重定位信息隐藏了起来,再”顺便“将原先的数据做了压缩。

原理

将原始的代码段与数据包打包并压缩,将原始程序入口(OEP)替换为壳代码,运行时由壳代码将代码段与数据段还原,并进行一些重定位等操作,使程序能正常运行。

功能

防止静态反编译,防止程序被打补丁。

优点

1、能起到一层整体保护效果,可以隐藏程序的代码、数据和文件结构信息。

2、运行效率高,仅在程序被加载时轻微的性能损失。

保护效果图

保护前,如图所示:

6a365af1447b98deb40cd77f73e28475.png

保护后,如图所示:

172f767fa4ae03ef58bbf87ccd9514f9.png

去除强签名

1、强名称(StrongName)使.NET提供的一种验证机制, 主要包括标识版本和标识原作者。

2、强名称可以用来帮助用户验证自己得到的程序是否为原作者所写切没有被修改(例如添加恶意代码), 跟自校验有点类似。

3、因此添加了强名称的程序加壳时要去除强名称, 并在加壳后重新添加强名称。

函数级保护-代码加密

原理

代码加密是使用动态代码技术,将原始方法字节码加密,执行时才将方法解密并执行的保护方式。

功能

防脱壳,防止直接 Dump。

优点

1、运行效率高,几乎没有性能损失。

保护效果图

保护前,如图所示:

2276945564605796bc65022d91e884a7.png

保护后,如图所示:

44271e8abc09b9b8f20c3bfc132fa3f6.png

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全      

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153639.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jlink 与 swd 接口定义[通俗易懂]

    jlink 与 swd 接口定义[通俗易懂]1.JLink介绍J-Link是SEGGER公司为支持仿真ARM内核推出的JTAG仿真器。J-Link支持所有基于ARM架构的处理器或微控制器配合IAREWAR,ADS,KEIL等集成开发环境进行开发过程中进行单步控制执行调试。J-Link除了可以配合集成开发环境进行调试程序,进行程序下载之外,J-Link还可以单独使用。比如在产品的生产环节中,就可以单独使用J-Link进行固件的下载。JLink,SWD接口定义缺口向左,左边为JLink接口定义,右边为SWD接口定义JTAG

    2022年4月25日
    2.0K
  • 剑指Offer算法题

    剑指Offer算法题

    2022年3月13日
    31
  • Android SDK下载太慢

    Android SDK下载太慢AndroidSDK下载太慢,可以通过设置合适的代理服务器来解决。

    2022年7月19日
    15
  • Word 在试图打开文件时遇到错误 文档可能已损坏 解决方法

    Word 在试图打开文件时遇到错误 文档可能已损坏 解决方法我使用的是Office2019的Word打开后缀名为doc的文件。错误信息:有多种原因可导致显示此错误消息。文档可能已损坏。请使用“恢复文本”转换器或“打开并修复”功能。这两种功能都可在“打开”对话框中找到。注意:如果打开的文件是电子邮件的附件,建议先将该文件保存到本地硬盘,然后再尝试恢复或修复该文件。可在“打开”对话框中使用“打开并修复”功能。若要打开并尝试修复,请单击“文件”选项卡,再单击“打开”,然后定位到损坏的文件并单击该文件。此时不要单击对话框右下部的“打开”按钮,而

    2022年6月3日
    57
  • 打印控件功能演示lodop_前端打印插件

    打印控件功能演示lodop_前端打印插件WEB打印控件Lodop技术手册目      录一、概述1二、系统文件1install_lodop32.exe和 install_lodop64.exe1LodopFuncs.js2三、控件参数6Caption6Color6Border6四、功能函数71、基本函数7VERSION7PRINT_INIT7SET_PRI…

    2022年9月5日
    6
  • js 数组删除指定元素「建议收藏」

    js 数组删除指定元素「建议收藏」js数组删除指定元素,js数组并没有提供直接删除某一指定元素的方法,因此需要我们稍作处理思路:首先找到要删除的元素的位置,然后使用splice方法进行删除示例代码删除数组s中的‘dd’元素vars=[‘s’,’dd’,’re’]s.splice(s.indexOf(‘dd’),1)console.log(s)运行效果至此完…

    2022年8月11日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号