LINUX SB 快照站

大家的 C# 程序都是怎么做混淆保护的?

原帖: linux.sb/topic/12975 · 共 7 楼 · 标题快照 2026-08-16 12:05:38

楼主
发帖 2026-08-16 12:03:36 · 快照 2026-08-16 12:05:38

长久以来,一直在用 .NET Reactor 给 C# 程序做保护。用久了感觉,对付直接拖进 dnSpy、ILSpy 看代码确实有用,尤其是字符串和方法体保护。
但程序总要运行,运行时该解开的还是会解开。真碰上 JIT Dump,这层保护就没想象中那么硬。
重命名也不能乱开。项目一大,反射、序列化和按名称绑定的地方很多,排除规则得一直跟着维护。虚拟化更挑代码,热路径不敢碰,有些复杂方法还可能直接被跳过。光看“保护成功”没什么意义,最后还是得反编译成品确认。
现在更倾向于 Reactor 负责托管层,真正关键的逻辑放到 Native,或者干脆不下发。
长期用 Reactor 的朋友,运行时 Dump 这块还有没有更实用的处理方式?
希望可以交流一下。

#1
发帖 2026-08-16 12:15:27 · 快照 2026-08-16 12:16:21

没啥用 还是能被破解

#2
发帖 2026-08-16 12:16:02 · 快照 2026-08-16 12:16:21

你去 吾爱破解 论坛交流一下吧

#3
发帖 2026-08-16 12:25:11 · 快照 2026-08-16 12:28:57

@LeeHow #1 是的,c#不管怎么搞,被破解只是时间问题,c#逆向的难度相对于其他语言来说,是比较小的

#4
发帖 2026-08-16 15:47:22 · 快照 2026-08-16 15:48:59

没有饼友用c#写程序有保护的烦恼吗

#5
发帖 2026-08-16 23:03:47 · 快照 2026-08-17 20:25:06

aot啊,用ai帮忙
启动秒开,程序执行速度是之前n倍

#6
发帖 2026-08-16 23:48:24 · 快照 2026-08-17 20:25:06

@benben #5 AOT 考虑过,去 IL 和启动速度确实有优势。不过程序里反射和动态加载比较多,不是改个发布参数就能直接上。执行速度也得看具体场景,AOT 后照样能做原生逆向。现在主要还是想聊 Reactor 这类托管保护面对运行时 Dump 时的问题