如何编写自己的 .net 混淆器
我很好奇人们如何编写自己的混淆器。
简单地执行以下操作有多困难:
- 使用 GUID 类型名称重命名所有公共方法。
我该从哪里开始呢? 我将如何读取 .net dll 程序集、取出公共方法并重命名它们?
I am very curious as to how people write their own obfuscator.
How hard would it be to simply do the following:
- rename all public methods with GUID type names.
Where would I start? How would I go about reading the .net dll assemby, pulling the public methods out and renaming them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以检查这两个使用 Cecil 编写开放式项目的项目源混淆器:
You can check those two projects that are using Cecil to write an open-source obfuscator:
Jason Haley 有一些很棒的链接...
Jason Haley has some great links...
如果您从源代码开始,那么进行文本替换然后通过编译器运行代码非常简单。 如果您从已编译的程序集开始,则需要使用 System.Reflection 命名空间中的内容来加载程序集,并使用 System.CodeDom 来生成可编译的代码单元。
If you're starting with source, it's pretty simple to do text replacements and then run the code through a compiler. If you are starting with a compiled assembly, then you need to use the stuff in the System.Reflection namespace to load the assembly and System.CodeDom to generate compilable code units.