首页 > 其他分享 >.net 混淆工具

.net 混淆工具

时间:2023-06-03 21:38:22浏览次数:37  
标签:混淆 ConfuserEx ConfuserEx2 https net obfuscar com 工具

obfuscation tools

.net 社区有很多混淆工具, 比如这个清单: https://github.com/NotPrab/.NET-Obfuscator 比较有名的商业工具有 .NET REACTOR https://www.eziriz.com/,

开源软件中, 最受欢迎的有:

obfuscar 验证 (弃用)

obfuscar 使用很简单, 但 github 上没有预编译的版本, 需要通过源码编译 Obfuscar.Console.exe 程序.

参考官方文档定制我们的混淆设置, 比如下面就是一个简单的示例.

Obfuscar.xml 文件

<?xml version="1.0" encoding="utf-8" ?>
<Obfuscator>
	<!--输入路径-->
	<Var name="InPath" value="." />
	<!--输出路径:加密混淆过的路径-->
	<Var name="OutPath" value=".\Obfuscator_Output" />
	<!--混淆代码的参数-->
	<Var name="ReuseNames" value="false" />
	<Var name="HideStrings" value="false" />
	<Var name="KeepPublicApi" value="false" />
	<Var name="HidePrivateApi" value="true" />
	<!--要混淆的模块-->
	<Module file="$(InPath)\test.exe">
		<!--SkipType跳过指定的类 Program是Main所在的类名-->
		<SkipType name="Program" />
		<!--SkipMethod 跳过指定的方法-->
		<SkipMethod type="Program" name="Main" />
	</Module> 
</Obfuscator>

混淆使用命令:

net48\Obfuscar.Console.exe  Obfuscar.xml

测试效果, 我的项目大量使用 dapper ORM, 经过 obfuscar 混淆后, 总是 crash.

.net 混淆工具_github

ConfuserEx2 验证(推荐)

首先说明的是, 我的程序是Winform 程序, 用的是 .net framework 4.8, 经过验证 ConfuserEx 和 ConfuserEx2 效果都很好, 这里仅介绍 ConfuserEx2 的使用.

保护手段:

  1. ConfuserEx2 支持压缩 pack, 可以提高反编译的难度, 但经常被杀毒软件误报, 所以不建议使用.
  2. ConfuserEx1 也支持压缩 pack, 在我的电脑不会被杀毒软件报警, 但不确定其他杀毒软件是否会报警, 所以不建议使用.
  3. 不得不说混淆很有可能会引起程序异常, 尤其是对于匿名类的支持, 所以我仅仅选择了必要的保护措施, 经过实验和参考该项目的wiki , 分别是 ctrl flow, anti debug, anti ildasm, harden, 另外去除了 ConfuserEx 的 watermark , 这里最关键的是 ctrl flow.
  4. anti debug 保护是通过启动监控debug的线程实现的, 所以文档中建议不要对所有的assembly 进行 anti debug 保护, 仅仅对 main assembly保护, 已避免性能损失.

项目文件

ConfuserEx2 提供GUI和CLI两种工具, 可以将混淆任务保存为项目文件, 下面就是我使用的项目文件.

<project outputDir="D:\my_workspace\test\src\bin\Debug\Confused" baseDir="D:\my_workspace\test\src\bin\Debug" xmlns="http://confuser.codeplex.com">
  <rule pattern="true" inherit="false">
    <protection id="ctrl flow" />
    <protection id="anti debug" />
    <protection id="anti ildasm" />
    <protection id="harden" />
    <protection id="watermark" action="remove" />
  </rule>
  <module path="test.exe" />
</project>

GUI设置截图如下:


.net 混淆工具_C#_02



标签:混淆,ConfuserEx,ConfuserEx2,https,net,obfuscar,com,工具
From: https://blog.51cto.com/u_15585381/6408695

相关文章

  • 1、KVM安装部署及virt-manager图形化工具创建安装虚拟机、命令行工具virt-install创建
    KVM安装部署KVM做单机管理虚拟机,Openstack集群管理虚拟机docker单机管理容器,k8s集群管理容器宿主机环境准备在vmware安装linux系统,并在设置中开启虚拟化CPU开启虚拟化一:开启虚拟化引擎两项内容二:提高内存和处理器至8G验证开启虚拟化grep-Em1"vmx|svm"/proc/cpuinfoInt......
  • VMWare 虚拟机安装系统出现unsuccessful EFI Network
    问题:解决方法:重新打开虚拟机内的系统就可以安装了......
  • CoreFreq:一款强大的监控 CPU 的专业工具
    CoreFreq是一个用于英特尔64位处理器的CPU监控程序,并且支持Atom、Core2、Nehalem、SandyBridge及以上、还有AMD0F家族。它的核心建立在内核模块上,用于从每个CPU核心检索内部性能计数器,并且与收集数据的守护进程一起工作,一个小型控制台客户端连接到该守护程序并......
  • 在 Windows 7 安装过程中,如果需要注入驱动程序,则可以使用一些注入驱动工具。以下是一
    在Windows7安装过程中,如果需要注入驱动程序,则可以使用一些注入驱动工具。以下是一些常见的Windows7镜像注入驱动工具:DISM(DeploymentImageServicingandManagement)工具:它是Windows操作系统自带的镜像注入工具,可以向新安装的Windows7映像添加驱动程序或其他更新......
  • JVM-常用工具(jps、jstat、jinfo、jmap、jhat、jstack、jconsole、jvisualvm)使用
    场景记录JVM中常用工具。jps:虚拟机进程状态工具jps(JVMProcessStatusTool):虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID。命令格式:jps[options][hostid]示例:jps-l 选项:-q 只......
  • MYSQL:无锁变更工具Pt-online-schema-change
    一、MySQL常用的无锁变更工具OnlineSchemaChange:OnlineSchemaChange(OSC)工具是MySQL官方提供的一种无锁变更工具,它可以在不停止MySQL服务器的情况下对表结构进行修改。OSC利用了InnoDB存储引擎的特性,使用复制和重放日志的方式来实现无锁变更。pt-online-schema-change:pt-......
  • Access数据库文件HeroDB.MDB用什么工具可以打开呢?
    我们在架设GOM引擎的版本的时候,可能会发现,有的版本默认选择Access数据库,选择Access数据库的版本,我们可以在D:\mirserver\Mud2\DB这个路径找到一份HeroDB.MDB的文件,这是一个集成数据库,和HeroDB不一样DBC2000的数据库是有3个数据库文件的,分别是Magic.DB、Monster.DB、StdItems.DB,代表......
  • 代理IP技术解加强网络隐私和绕过访问限制的有效工具
      代理IP是一种常用的网络工具,旨在加强用户的隐私保护并绕过访问限制。本文将对代理IP的工作原理、类型以及应用领域进行深入解析,帮助读者更好地了解并利用这一技术。一、代理IP的工作原理代理IP的基本原理是通过转发网络请求和响应来隐藏用户的真实IP地址。当用户通过代理服......
  • Scoop软件管理工具
    Scoop为什么选择scoopscoop可以帮你一行代码实现安装软件,省去搭建环境的环节。例如安装python只需一行代码:scoopinstallpython安装在windows终端中输入以下代码设置PowerShell执行策略Set-ExecutionPolicy-ExecutionPolicyRemoteSigned-ScopeCurrentUser下载安......
  • 一款强大的监控 CPU 的专业工具
    它的核心建立在内核模块上,用于从每个CPU核心检索内部性能计数器,并且与收集数据的守护进程一起工作,一个小型控制台客户端连接到该守护程序并显示收集的数据。CoreFreqCPUMonitoring它提供了高精度的重新捕获CPU数据的基础工作:核心频率和比率;SpeedStep(EIST)、TurboBoost、超线......