一个对C#程序混淆加密,小巧但够用的小工具

490 阅读2分钟

对于我们程序员来说,平常开发的桌面应用程序,如果不进行一定程度的加密、混淆,是很容易通过反编译手段进行破解的,特别是一些商业用途的C#软件,更是容易被破解。

所以今天给大家推荐一个对C#程序加密混淆项目,可用于学习。

项目简介

这是一个基于.Net 4开发的加密混淆工具,该项目具备功能:自动化生成loader,实现加密、混淆、bypass沙箱、多种现有进程注入技术,动态编译生成。

该项目比较轻量,比起市面上的加密混淆工具,比较简单,可当着学习用途。

功能列表

程序文件上传

支持选择文件、DNS、Http文件上传,其中dns,http自动判断上线;http优先级高于DNS。

混淆加密

支持类名、方法名、变量混淆,可以统计自己的需求自由灵活选择。

反沙箱检测

进程黑名单

存在以下进程认为是虚拟机,直接退出。

"vmsrvc", "tcpview", "wireshark", "visual basic", "fiddler", "vmware", "vbox", "process explorer", "autoit", "vboxtray", "vmtools", "vmrawdsk", "vmusbmouse", "vmvss", "vmscsi", "vmxnet", "vmx_svga", "vmmemctl", "df5serv", "vboxservice", "vmhgfs", "vmtoolsd"

MAC地址检测

网卡MAC地址包括以下开头,直接退出。

"000569","000C29","001C14","005056","080027"

磁盘检测

磁盘大小小于50G,判定为虚拟机,直接退出。

启动启动时间检测

开机运行时间低于1h,判定为虚拟机,直接退出。

CPU核心数量与语言检测

CPU逻辑个数小于4个或者操作系统语言不是中文,判定为虚拟机,直接退出。

时间加速检测

运行时间存在加速,判定为虚拟机,直接退出。

bypass技术

  1. 进程镂空

  2. Dinvoke 调用API

  3. 载入第二个NTDLL绕过HOOK

  4. 映射注入

  5. syscall

技术框架

1、基于Net framework 4.0开发

项目结构

图片

界面

图片

项目地址:github.com/MicrobBlue/…

- End -