为了防止程序发布后被一些“坏人”破解,开发者通常会对自己的代码进行混淆。这篇博客将介绍一款使用很广,并且混淆效果也不错的工具ConfuserEx

新建一个C# 控制台程序,HelloWorldApp

  1. using System;
  2.  
  3. namespace HelloWorldApp
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. Console.WriteLine(HelloWorld());
  10. }
  11.  
  12. public static string HelloWorld()
  13. {
  14. return "Hello World!";
  15. }
  16. }
  17. }

目前有很多.NET的反编译工具,例如ILSpyJustDecompile.下面使用ILSpy对HelloWorldApp.exe进行反编译。

OK.很轻松就把代码进行了反编译。下面介绍如何使用ConfuserEx来对HelloWorldApp进行代码混淆。

将需要混淆的DLLs或者Exe拖拽到Drag input modules区域。

注意:这里需要额外说明一下,当前HelloWorldApp.exe程序是没有签名的。如果我们对DLLs或者Exe签过名,这里需要额外的将签名文件添加进来。请看下面的截图。

选择对HelloWorldApp.exe签名的那个Key文件路径,输入key对应的密码。

选择Global Setting或者单个选择exe或者dll,点击右侧“+”。

最后一步,点击Protect,

现在再使用ILSpy对代码进行反编译,结果如下,

现在使用ILSpy对其反编译,看不到源代码了。同时我也测试了JustDecompile,也是无法看到源代码的。

感谢您的阅读。

[Tool]使用ConfuserEx混淆代码的更多相关文章

  1. 使用Dotfuscator 进行.Net代码混淆 代码加密的方法

    混淆代码能在一定程度上放置代码被盗用,保护我们的知识产权 1.打开vs2012,选择工具-〉Dotfuscator Software Services 2.选择你需要混淆的DLL 文件,可以多选择 3 ...

  2. C#使用Dotfuscator混淆代码以及加密

    http://www.cnblogs.com/tianguook/archive/2012/10/06/2713105.html C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进 ...

  3. Dotfuscator可以实现混淆代码、变量名修改、字符串加密

    C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破.使用VS自带的Dotfuscator可以实现混淆代 ...

  4. 利用android proguard混淆代码

    利用android proguard混淆代码 2014-02-05 17:50 1207人阅读 评论(1) 收藏 举报 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上 ...

  5. 【转】Android 混淆代码总结

    http://blog.csdn.net/lovexjyong/article/details/24652085 为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的 ...

  6. C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 今天讲讲如 ...

  7. C#使用Dotfuscator混淆代码的加密方法

    C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破.使用VS自带的Dotfuscator可以实现混淆代 ...

  8. 转:C#使用Dotfuscator混淆代码的加密方法

    Author:flymorn Source:flymornCategories:C#编程 PostTime:2011-9-16 1:04:49 正 文:   C#编写的代码如果不进行一定程度的混淆和加 ...

  9. java混淆代码的使用

    前言:为了保护我们的劳动成果,我们来学习java混淆代码工具的使用. 1.下载retroguard.jar 进入http://www.retrologic.com/retroguard-downloa ...

随机推荐

  1. EmployeeTest

    package fourthf; public class EmployeeTest { public static void main(String[] args) { // TODO Auto-g ...

  2. 机器学习——支持向量机(SVM)之核函数(kernel)

    对于线性不可分的数据集,可以利用核函数(kernel)将数据转换成易于分类器理解的形式. 如下图,如果在x轴和y轴构成的坐标系中插入直线进行分类的话, 不能得到理想的结果,或许我们可以对圆中的数据进行 ...

  3. Pivot Table

    1. Disable menu 'Disable show/hide Field list menu sht.PivotTables().EnableFieldList = False ''scrip ...

  4. Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。

    这几天在写一个导出word的功能,使用 Microsoft.Vbe.Interop.dll和Office.dll 在本地都可以正常运行,但是上传到服务器后就报错,如下图: 对于此问题,也在网上查了一些 ...

  5. Node.js API 初解读(一)

    Node.JS API 初解读 Version: NodeJs v6.2.0 一. Assert 1.简介 Assert模块主要用于断言.如果表达式不符合预期,就抛出一个错误. 该模块用于编写程序的单 ...

  6. 关于MySQL的wait_timeout连接超时问题报错解决方案

    bug回顾 : 想必大家在用MySQL时都会遇到连接超时的问题,如下图所示: ### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ...

  7. 【Java】增强的for流程

    增强for循环语法: for(type element: array) {       System.out.println(element); } 可遍历输出数组元素,但无法获取元素下标. 相关链接 ...

  8. Nacl开发

    环境搭建:http://www.bojinxiaozhu.com/2014/0221/80.html http://blog.csdn.net/xoyojank/article/details/814 ...

  9. Java上等价类划分测试的实现

    利用JavaFx实现对有效等价类和无效等价类的划分: 代码: import javafx.application.Application;import javafx.event.ActionEvent ...

  10. php php-5.6.4.tar.bz2 apache 兼容问题 child pid 27858 exit signal Segmentation fault

    环境 [root envirotar]# uname -a Linux i2..el6.x86_64 # SMP Thu Jul :: UTC x86_64 x86_64 x86_64 GNU/Lin ...