🏆作者:科技、互联网行业优质创作者
🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造
🏆欢迎关注我(Net数字智慧化基地),里面有很多高价值技术文章,是你刻苦努力也积累不到的经验,能助你快速成长。升职+涨薪!!
前言
首先,对于.NET/C#生成的托管的代码,没有100%的保护措施,因为它们的程序执行最终会到二进制/汇编这个层面。而二进制/汇编层面可以针对性的对于指令集(Risc-v/Arm64/x64/Loongarch64)进行反汇编逆向重构。所以,对于.NET/C#生成的托管的代码,能做的只能是有限度的保护、增加理解难度。
软件保护
20年前,.Net刚诞生的时候有个笑话。有人嘲讽微软做托管代码,是为了方便别人破解。事实证明,托管确实比非托管更容易破解和篡改。MSIL遵循了一整套的ECMA-335的规范,对于这个规范了如指掌的程序开发人员来说,托管代码就像纸糊的一样ÿ