我的项目中某一部分信息比较敏感,但是.Net程序反编译之后连注释都看得到。需要把exe保护起来,如:代码混淆之后再加壳。

Bing到一款.Net混淆工具  ILProtector   作为资深工具党,先"拿来主义"体验体验。本篇主要介绍工具使用

1.加密前的exe,反编译之后什么都有

2.用ILProtector加密,参考官网介绍 http://www.vgrsoft.net/Products/ILProtector

原理是把.Net的中间语言MSIL代码 转换成特殊的代码,只有他自己可以识别,其他工具如 IL DASM, .NET Reflector, ILSpy, dotPeek 不能够识别出来,因此达到防逆向目的。

支持 .NET Framework 2.0, 3.0, 3.5, 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2
 支持 Windows x32/x64

使用也比较简单,直接拖程序到 Assemblies中,

这里会生成两个DLL到文件夹中,至于dll的名字无所谓写什么,后面可以使用工具合并成一个exe

EnableIntegr    设置为True,启动的时候回检测程序是否被人修改,如果别人修改了就不能用了。

EncryptStrings  设置为True,否则你的String类型的常量不会被加密

这里是IDE安装的位置,程序自动检测的。如果有报错,来这里看下是否路径不对

总的来说是傻瓜化操作,托程序进来,填写输出路径,点Process即可

3.看混淆后的结果

方法已经是完全看不懂了,常量也被加密码了,达到了预期效果。

官网介绍的一些限制条件:

C++/CLI混合编码的程序集、类构造函数、泛型以及__arglist关键字方法    可以考虑编码中避开这些限制。

4.写在最后

世界上没有最锋利的矛,也没有最坚固的盾。靠混淆、加壳等也做不到100%防逆向。客户端只能是通过手段制造逆向的难度。

安全的思路还是:验证等逻辑放在服务端处理,只返回给客户端验证结果。

.Net 程序代码混淆加密工具 ILProtector的更多相关文章

  1. android上线之前代码混淆加密

    https://blog.csdn.net/zuiwuyuan/article/details/48552701# https://blog.csdn.net/chaoyu168/article/de ...

  2. ASP.NET Core搭建多层网站架构【15-扩展之使用Obfuscar混淆加密保护代码】

    2020/02/03, ASP.NET Core 3.1, VS2019, Obfuscar 2.2.25 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[15-扩展之使 ...

  3. JProtector java应用加密工具

    JProtector    专业的java项目加密工具 JProtector简介: JProtector 专业的java项目加密工具.目前java开发的项目发布的时候需要将项目发布到用户手中,但由于一 ...

  4. [.NET产品源码保护].NET防止反编译(非混淆加密)

    .NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管 ...

  5. .NET DLL 加密工具

    最近发现了一个软件叫 DotfuscatorPro 混淆加密工具 设置方式如下 1. Settings->Global Options Disable String Encryption 设为  ...

  6. C# 使用xenocode混淆加密【转】

    http://www.cnblogs.com/chendaoyin/archive/2013/05/03/3056692.html   之前就了解过混淆加密工具,但这还是第一次使用,选择了xenoco ...

  7. .NET DLL 保护措施详解(非混淆加密加壳)

    为什么要保护DLL,我就不多说了,各人有各人的理由.总的来说,就是不想核心逻辑泄露及授权验证被破解两大方面的因素.市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对. ...

  8. powershell代码混淆绕过

    目前大多数攻击者已经将PowerShell 利用在了各种攻击场景中,如内网渗透,APT攻击甚至包括现在流行的勒索软件中.powershell的功能强大且调用方式十分灵活,灵活使用powershell可 ...

  9. php混淆加密解密实战

    在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢? 混淆加密 我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.or ...

随机推荐

  1. yum管理及源码安装

    一.配置YUM库及更新操作 yum概述 基于RPM包构建的软件更新机制,自动解决软件依赖关系 YUM仓库格式 本地:file:// 网络:ftp://或http:// yum源里面包含的内容 .rpm ...

  2. FMPEG结构体分析:AVStream

    注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...

  3. Codeforces_739_B

    http://codeforces.com/problemset/problem/739/B dfs,记录距离前缀和,每次找到离最近的不符合的点. #include<iostream> # ...

  4. WeChall_Training: PHP LFI (Exploit, PHP, Training)

    Your mission is to exploit this code, which has obviously an LFI vulnerability: GeSHi`ed PHP code 1 ...

  5. sql中常量和变量的引用

    String name =jtf.getText().trim(); String sql="select * from stu where stuname='  "+name+& ...

  6. 根据navigator.userAgent返回值识别 浏览器

    function validBrowser(){ var u_agent = navigator.userAgent; var browser_name='Failed to identify the ...

  7. SpringMVC之Controller层最佳实践

    规范设置接口, 有利于项目的可扩展性,提高前后端的交互特性. 请求参数 响应结果

  8. python笔记22(面向对象课程四)

    今日内容 讲作业 栈 顺序查找 可迭代对象 约束 + 异常 反射 内容详细 1.作业 1.1 代码从上到下执行 print('你好') def func(): pass func() class Fo ...

  9. NR / 5G - Downlink Carrier Waveform

  10. Python3(三) 变量与运算符

    一.什么是变量 变量 = [1,2] 二.变量的命名规则 字母,数字,下划线,首字母不能是数字 系统关键字 不能用在变量名中 保留关键字 区别大小写 a=1,   a='1',   a=(1,2),  ...