所以我有一个安卓游戏。其Assembly-CSharp.dll原因.NET Reflector显示
文件不是可移植的可执行文件。DOS 标头不包含“MZ”签名
它是加密的。该应用程序似乎在应用程序启动时解密该程序集。
所以我曾经UltraCompare指出与以前版本相比有什么变化(它没有加密)。
classes.dex是相同的,所以没有更改 Java 代码。
libmain.so和libunity.so是一样的,但libmono.so有很大的变化。
有这似乎与加密等相关的一些新添加的符号TEAEncrypt,TEADecrypt,TEAEncryptString,TEADecryptString,和一些单库的C#内部调用程序一样ves_icall_System_Security_SecureString_EncryptInternal。
如果这是加密的方式,我会问那些函数在哪里调用。
有一些变化Assembly-CSharp-firstpass.dll,Assembly-UnityScript.dll,Assembly-UnityStript-firstpass.dll与一个同样的变化模式。我无法弄清楚这是什么意思。
那么Assembly-CSharp.dll在运行时可以在哪里解密呢?或者有没有在运行时解密的另一种方法?