我的项目中某一部分信息比较敏感,但是.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. Java代码加密与反编译(一):利用混淆器工具proGuard对jar包加密

    Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候.所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译.通 ...

  9. Python程序的混淆和加密

    混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本.同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了, ...

随机推荐

  1. hihoCoder #1199 : Tower Defense Game ——(树型dp)

    题目链接:https://hihocoder.com/problemset/problem/1199. 题意:一棵以1为根的树,每个点有一个p值和q值,到这个点需要当前分数大于等于p,然后消耗掉(p- ...

  2. C# SQL优化 及 Linq 分页

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...

  3. HDU 1087 Super Jumping! Jumping! Jumping

    HDU 1087 题目大意:给定一个序列,只能走比当前位置大的位置,不可回头,求能得到的和的最大值.(其实就是求最大上升(可不连续)子序列和) 解题思路:可以定义状态dp[i]表示以a[i]为结尾的上 ...

  4. ubuntu设置vim语法高亮显示和自动缩进

    转自:http://nichael1983.blog.163.com/blog/static/114969433201002711850604/ 今天自己学习使用vim,当我在vim中输入程序时,默认 ...

  5. 自定义View(4)Canvas和Paint常用绘制函数

    画布Canvas 在Android下进行2D绘图需要Canvas类的支持,它位于"android.graphics.Canvas"包下,直译过来为画布的意思,用于完成在View上的 ...

  6. iOS-SQLite数据库使用介绍

    iOS-SQLite数据库使用介绍 SQLite是MySQL的简化版,更多的运用与移动设备或小型设备上.SQLite的优点是具有可移植性,它不需要服务器就能运行,同时,它也存在一些缺陷,首先,没有提供 ...

  7. systemtap [主设备号,次设备好,inode]监控文件

    SystemTap 是监控和跟踪运行中的linux 内核的操作的动态方法,SystemTap 应用:对管理员,SystemTap可用于监控系统性能,找出系统瓶颈,而对于开发者,可以查看他们的程序运行时 ...

  8. js全角字符转为半角字符

    //全角转半角 function CtoH(str){ var result=""; for (var i = 0; i < str.length; i++){ if (st ...

  9. warnings.warn(&quot;allowed_domains accepts only domains, not URLs. Ignoring URL entry %s in allowed_doma

    多页面循环爬取数据抛出如下异常 warnings.warn("allowed_domains accepts only domains, not URLs. Ignoring URL ent ...

  10. QML 用QSortFilterProxyModel实现搜索功能

    搞了一晚上终于实现了,写个博客纪念一下吧. c++部分的代码: #include <QQmlApplicationEngine> #include <QQmlContext> ...