Perfare / Il2CppDumper

Unity il2cpp reverse engineer
MIT License
6.98k stars 1.37k forks source link

Junk field name in il2cpp.h #542

Open DRayX opened 2 years ago

DRayX commented 2 years ago

Note: if you do not provide all of the following information I will directly ignore and close this issue

I'm also seeing some fields with no name, e.g.

    struct Dpr_Battle_Logic_CA_t____6___o__W____L__E__1___n__NW_____V___t___Z_b__r______6D_J_______t_______p_____h_______f_____w_U_o* ;

The script.json also has junk names:

    {
      "Address": 31841600,
      "Name": "System.Array$$InternalArray__IEnumerable_GetEnumerator<���|\t���u�zb^�,�\u00016��T\u0016=_�)-�*�E|�\u0014%X�@05���?�m^U��BH�Qdv$�\nm�1�ڛ��1(ͬ­B.y���>",
      "Signature": "System_Collections_Generic_IEnumerator_T__o* System_Array__InternalArray__IEnumerable_GetEnumerator_________u_zb_____6__T_________E____X__05_____m_U__BH_Qdv___m_1____1___B_y____ (System_Array_o* __this, const MethodInfo_1E5DD40* method);",
      "TypeSignature": "iii"
    },
Perfare commented 2 years ago

It looks like the obfuscation plugin is used, but unfortunately, I don’t have any plans to clear the obfuscation at the moment.

DRayX commented 2 years ago

Ya, I'm sure it's obfuscation. I'm not really looking to de-obfuscate the names, but would it be possible to ensure that the output values in the header and script.json are at least valid identifiers? It looks like in some instances the junk characters are replaced with underscores, while in others they are not.