Concernant l'analyse des fichiers protobuf obfusqués, je propose l'approche suivante basée sur l'extraction des .proto :
L'avantage principal d'utiliser les fichiers .proto déjà extraits réside dans la stabilité des identifiants de champs, qui sont généralement préservés même après obfuscation. Prenons un exemple concret :
// Message d'origine
message Person {
int32 id = 1;
string name = 2;
string email = 3;
}
// Message après obfuscation
message sbc {
int32 feg = 1;
string kan = 2;
string gre = 3;
}
Cette structure conserve des identifiants numériques et permet une rétro-ingénierie relativement accessible, particulièrement en analysant les dépendances entre messages qui peuvent servir de points de référence.
Cependant, deux défis se présentent pour l'extraction des messages obfusqués :
- Via le code source :
- Avantage : Solution pérenne
- Inconvénient : Nécessite un travail conséquent d'analyse par expressions régulières et parsing du code de il2cpp dumper
- Via BepInEx :
- Cette méthode n'est plus viable depuis l'implémentation de l'obfuscation des protos (en tout cas cele décrite dans le readme du repo)
Je propose mon aide pour développer un outil de désobfuscation si quelqu'un peut fournir :
- Soit les protos obfusqués
- Soit les fichiers il2cpp extraits via Asset Ripper
Note : N'ayant pas accès à un environnement Windows, je ne peux pas procéder à l'extraction moi-même.