
[Bug]: Failed to Generate Il2Cpp Assemblies for "Gakuen Idolmaster" (Unity 2022.3.57f1) - Cpp2IL: No codegen modules found for mscorlib
taigaoryakisoba opened this issue · 3 comments
All of the following criteria must be met
- All Requirements must be installed.
- Changed the title so that it doesn't just says "[Bug]: "
- I have searched the GitHub issues for my bug, even in the closed issues.
All of the following are optional to answer
- Tried reinstalling the Game.
- Tried reinstalling MelonLoader.
- Tried restarting PC.
- Was able to see the Start Screen.
Describe the issue.
Environment:
- MelonLoader Version: v0.7.0 Open-Beta
- Game Name: Gakuen Idolmaster (学園アイドルマスター, gakumas)
- Game Developer: BANDAI NAMCO Entertainment Inc.
- Unity Version: 2022.3.57f1
- Game Version: 2.0.0 (If known, or from the log)
- OS: Windows 10 (x64)
Describe the bug:
MelonLoader fails to initialize for the game "Gakuen Idolmaster". The console log shows that Il2CppAssemblyGenerator (using Cpp2IL) is unable to generate the necessary assemblies. The key error messages are:
[Fail] [Library] No codegen modules found for mscorlib! Aborting search.
Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL! ---> System.Exception: Failed to find code registration or metadata registration!
This issue seems to stem from Cpp2IL's inability to process the game's Il2Cpp data, specifically for mscorlib
.
To Reproduce:
Steps to reproduce the behavior:
- Install MelonLoader v0.7.0 Open-Beta for "Gakuen Idolmaster" (
gakumas.exe
). - Launch the game.
- Observe the MelonLoader console.
- See error messages related to Il2CppAssemblyGenerator and Cpp2IL.
Expected behavior:
MelonLoader should successfully initialize, generate necessary Il2Cpp interop assemblies, and allow mods to be loaded.
Did you attach your log file?
Yes, I attached my log file to the text box above.
Knowing most Asian games with micro transactions, the metadata is most likely encrypted, which isn't something we can help you with.
Knowing most Asian games with micro transactions, the metadata is most likely encrypted, which isn't something we can help you with.
these values can be dumped by il2cppdumper so i guess it should be able to fixed?
Initializing metadata...
Metadata Version: 31
Initializing il2cpp file...
Applying relocations...
WARNING: find JNI_OnLoad
ERROR: This file may be protected.
Il2Cpp Version: 31
Searching...
CodeRegistration : 7c897f0
MetadataRegistration : 7ef58c8
Dumping...
Done!
Generate struct...
Done!
Generate dummy dll...
Done!
Press any key to exit...
metadata for gkms is not encrypted, while other PE files were encrypted.(gakumas.exe, GameAssembly.dll, etc)
I don't understand the working principle of MelonLoader, but I guess the encryption and obfuscation of these PE files with Protector(HyperTech CrackProof) make it difficult to effectively hook the original entry area.