[英]How to See the content of Decompiled code
我试图混淆我的项目。 我使用了 Unity Asset Store 中的 Obfuscator 插件。 我想看看我的混淆代码是什么样子的。 所以我做了逆向工程,得到了 Assembly-CSharp.dll 文件。 当我在 DNspy 上打开它时,我会检查我的类名,它只显示方法名而不是方法的内容。 我怎么知道我的代码是否被混淆了。 我正在使用 IL2CPP 和 .net 4。有什么方法可以查看方法的内容。 在此处输入图像描述
我建议您考虑改用 Telerik JustDecompile 程序集浏览器和 Skater .Net Obfuscator 来满足您的特定目的。 它使您能够仅对您的Assembly-CSharp.dll的某些特定类进行混淆。 通过使用 Skater .Net Obfuscator,您不需要混淆整个 dll 文件。 然后您将能够在 Telerik JustDecompile 界面中浏览受保护的类。 假设您的Assembly-CSharp.dll 包含几个类,如下所示。 My_Class_1类的成员很少。 让我们只使用 Skater Obfuscator 来混淆该类。 混淆器有几个界面选项卡,允许用户选择应该保护哪些元素和修饰符。 有“私人成员”、“公共成员”、“字符串”等选项卡。
转到大多数选项卡并选择与My_Class_1类关联的复选框,如上所示的“字符串”。 当Assembly-CSharp.dll的混淆过程完成后,在 Telerik JustDecompile 中打开生成的程序集。 选择My_Class_1类进行浏览。 实际上,我们无法通过其名称找到该类,因为它被混淆了。 我们可以建议那是那个类。
IL2CPP 基本上是将 c# 代码转换为 c++ 代码以提高效率并获得更好的性能,因此您使用 DNSpy 检查的 dll 是 c++ DLL,反转 c++ 代码并非不可能,但非常困难,您只能使用转储函数名称
使用此工具的唯一好处是获取内存中的偏移量,因此玩家可以通过更改该偏移量的值在游戏中作弊
您正在使用 Unity 的“Obfuscator”插件,但不知道代码是否正确。 您可以尝试以下方法:
预防措施:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.