eaz Engine
It looks like eaz will decrypt part of the real VM Engine with Real Names.
Check it here:
I think it will be very helpful to handle OpCodeMapping stage.
I don't think it would be reliable to use for OpCodeMapping because I have never seen these names in a real sample.
I don't think it would be reliable to use for OpCodeMapping because I have never seen these names in a real sample.
Yes, all above just exist in Eazfuscator.NET when it starting to vm a program. Not in a sample.
<?xml version="1.0" encoding="utf-8"?> <map format="Eazfuscator.NET Symbol Map" version="1"> <assembly> <name>Yezo.VM.Execution</name> <module> <name>Yezo.VM.Execution.dll</name> <class> <name>Yezo.VM.Core.Instructions.VMGrammar</name> <newname><Eazfuscator CI>.a.h</newname> <fields> <field> <name>Add</name> <newname>Q</newname> </field> <field> <name>Add_Ovf</name> <newname>g</newname> </field> <field> <name>Add_Ovf_Un</name> <newname>w</newname> </field> <field> <name>And</name> <newname>S</newname> </field> <field> <name>Arglist</name> <newname>I</newname> </field> <field> <name>Beq</name> <newname>K</newname> </field> <field> <name>Bge</name> <newname>L</newname> </field> <field> <name>Bge_Un</name> <newname>e</newname> </field> <field> <name>Bgt</name> <newname>m</newname> </field> <field> <name>Bgt_Un</name> <newname>z</newname> </field> <field> <name>Ble</name> <newname>c</newname> </field> <field> <name>Ble_Un</name> <newname>C</newname> </field> <field> <name>Blt</name> <newname>Z</newname> </field> <field> <name>Blt_Un</name> <newname>i</newname> </field> <field> <name>Bne_Un</name> <newname>j</newname> </field> <field> <name>Box</name> <newname>U</newname> </field> <field> <name>Br</name> <newname>k</newname> </field> <field> <name>Break</name> <newname>V</newname> </field> <field> <name>Brfalse</name> <newname>n</newname> </field> <field> <name>Brtrue</name> <newname>h</newname> </field> <field> <name>Call</name> <newname>o</newname> </field> <field> <name>Calli</name> <newname>P</newname> </field> <field> <name>Callvirt</name> <newname>G</newname> </field> <field> <name>Castclass</name> <newname>a</newname> </field> <field> <name>Ceq</name> <newname>x</newname> </field> <field> <name>Cgt</name> <newname>E</newname> </field> <field> <name>Cgt_Un</name> <newname>q</newname> </field> <field> <name>Ckfinite</name> <newname>f</newname> </field> <field> <name>Clt</name> <newname>F</newname> </field> <field> <name>Clt_Un</name> <newname>X</newname> </field> <field> <name>Constrained</name> <newname>T</newname> </field> <field> <name>Conv_I</name> <newname>M</newname> </field> <field> <name>Conv_I1</name> <newname>W</newname> </field> <field> <name>Conv_I2</name> <newname>A</newname> </field> <field> <name>Conv_I4</name> <newname>l</newname> </field> <field> <name>Conv_I8</name> <newname>Y</newname> </field> <field> <name>Conv_Ovf_I</name> <newname>r</newname> </field> <field> <name>Conv_Ovf_I_Un</name> <newname>y</newname> </field> <field> <name>Conv_Ovf_I1</name> <newname>d</newname> </field> <field> <name>Conv_Ovf_I1_Un</name> <newname>N</newname> </field> <field> <name>Conv_Ovf_I2</name> <newname>D</newname> </field> <field> <name>Conv_Ovf_I2_Un</name> <newname>t</newname> </field> <field> <name>Conv_Ovf_I4</name> <newname>u</newname> </field> <field> <name>Conv_Ovf_I4_Un</name> <newname>J</newname> </field> <field> <name>Conv_Ovf_I8</name> <newname>s</newname> </field> <field> <name>Conv_Ovf_I8_Un</name> <newname>b</newname> </field> <field> <name>Conv_Ovf_U</name> <newname>v</newname> </field> <field> <name>Conv_Ovf_U_Un</name> <newname>O</newname> </field> <field> <name>Conv_Ovf_U1</name> <newname>B</newname> </field> <field> <name>Conv_Ovf_U1_Un</name> <newname>p</newname> </field> <field> <name>Conv_Ovf_U2</name> <newname>R</newname> </field> <field> <name>Conv_Ovf_U2_Un</name> <newname>H</newname> </field> <field> <name>Conv_Ovf_U4</name> <newname>Qd</newname> </field> <field> <name>Conv_Ovf_U4_Un</name> <newname>gd</newname> </field> <field> <name>Conv_Ovf_U8</name> <newname>wd</newname> </field> <field> <name>Conv_Ovf_U8_Un</name> <newname>Sd</newname> </field> <field> <name>Conv_R_Un</name> <newname>Id</newname> </field> <field> <name>Conv_R4</name> <newname>Kd</newname> </field> <field> <name>Conv_R8</name> <newname>Ld</newname> </field> <field> <name>Conv_U</name> <newname>ed</newname> </field> <field> <name>Conv_U1</name> <newname>md</newname> </field> <field> <name>Conv_U2</name> <newname>zd</newname> </field> <field> <name>Conv_U4</name> <newname>cd</newname> </field> <field> <name>Conv_U8</name> <newname>Cd</newname> </field> <field> <name>Cpblk</name> <newname>Zd</newname> </field> <field> <name>Cpobj</name> <newname>id</newname> </field> <field> <name>Div</name> <newname>jd</newname> </field> <field> <name>Div_Un</name> <newname>Ud</newname> </field> <field> <name>Dup</name> <newname>kd</newname> </field> <field> <name>Endfilter</name> <newname>Vd</newname> </field> <field> <name>Endfinally</name> <newname>nd</newname> </field> <field> <name>Initblk</name> <newname>hd</newname> </field> <field> <name>Initobj</name> <newname>od</newname> </field> <field> <name>Isinst</name> <newname>Pd</newname> </field> <field> <name>Jmp</name> <newname>Gd</newname> </field> <field> <name>Ldarg</name> <newname>ad</newname> </field> <field> <name>Ldarg_0</name> <newname>xd</newname> </field> <field> <name>Ldarg_1</name> <newname>Ed</newname> </field> <field> <name>Ldarg_2</name> <newname>qd</newname> </field> <field> <name>Ldarg_3</name> <newname>fd</newname> </field> <field> <name>Ldarg_S</name> <newname>Fd</newname> </field> <field> <name>Ldarga</name> <newname>Xd</newname> </field> <field> <name>Ldarga_S</name> <newname>Td</newname> </field> <field> <name>Ldc_I4</name> <newname>Md</newname> </field> <field> <name>Ldc_I4_0</name> <newname>Wd</newname> </field> <field> <name>Ldc_I4_1</name> <newname>Ad</newname> </field> <field> <name>Ldc_I4_2</name> <newname>ld</newname> </field> <field> <name>Ldc_I4_3</name> <newname>Yd</newname> </field> <field> <name>Ldc_I4_4</name> <newname>rd</newname> </field> <field> <name>Ldc_I4_5</name> <newname>yd</newname> </field> <field> <name>Ldc_I4_6</name> <newname>dd</newname> </field> <field> <name>Ldc_I4_7</name> <newname>Nd</newname> </field> <field> <name>Ldc_I4_8</name> <newname>Dd</newname> </field> <field> <name>Ldc_I4_M1</name> <newname>td</newname> </field> <field> <name>Ldc_I4_S</name> <newname>ud</newname> </field> <field> <name>Ldc_I8</name> <newname>Jd</newname> </field> <field> <name>Ldc_R4</name> <newname>sd</newname> </field> <field> <name>Ldc_R8</name> <newname>bd</newname> </field> <field> <name>Ldelem</name> <newname>vd</newname> </field> <field> <name>Ldelem_I</name> <newname>Od</newname> </field> <field> <name>Ldelem_I1</name> <newname>Bd</newname> </field> <field> <name>Ldelem_I2</name> <newname>pd</newname> </field> <field> <name>Ldelem_I4</name> <newname>Rd</newname> </field> <field> <name>Ldelem_I8</name> <newname>Hd</newname> </field> <field> <name>Ldelem_R4</name> <newname>Qy</newname> </field> <field> <name>Ldelem_R8</name> <newname>gy</newname> </field> <field> <name>Ldelem_Ref</name> <newname>wy</newname> </field> <field> <name>Ldelem_U1</name> <newname>Sy</newname> </field> <field> <name>Ldelem_U2</name> <newname>Iy</newname> </field> <field> <name>Ldelem_U4</name> <newname>Ky</newname> </field> <field> <name>Ldelema</name> <newname>Ly</newname> </field> <field> <name>Ldfld</name> <newname>ey</newname> </field> <field> <name>Ldflda</name> <newname>my</newname> </field> <field> <name>Ldftn</name> <newname>zy</newname> </field> <field> <name>Ldind_I</name> <newname>cy</newname> </field> <field> <name>Ldind_I1</name> <newname>Cy</newname> </field> <field> <name>Ldind_I2</name> <newname>Zy</newname> </field> <field> <name>Ldind_I4</name> <newname>iy</newname> </field> <field> <name>Ldind_I8</name> <newname>jy</newname> </field> <field> <name>Ldind_R4</name> <newname>Uy</newname> </field> <field> <name>Ldind_R8</name> <newname>ky</newname> </field> <field> <name>Ldind_Ref</name> <newname>Vy</newname> </field> <field> <name>Ldind_U1</name> <newname>ny</newname> </field> <field> <name>Ldind_U2</name> <newname>hy</newname> </field> <field> <name>Ldind_U4</name> <newname>oy</newname> </field> <field> <name>Ldlen</name> <newname>Py</newname> </field> <field> <name>Ldloc</name> <newname>Gy</newname> </field> <field> <name>Ldloc_0</name> <newname>ay</newname> </field> <field> <name>Ldloc_1</name> <newname>xy</newname> </field> <field> <name>Ldloc_2</name> <newname>Ey</newname> </field> <field> <name>Ldloc_3</name> <newname>qy</newname> </field> <field> <name>Ldloc_S</name> <newname>fy</newname> </field> <field> <name>Ldloca</name> <newname>Fy</newname> </field> <field> <name>Ldloca_S</name> <newname>Xy</newname> </field> <field> <name>Ldnull</name> <newname>Ty</newname> </field> <field> <name>Ldobj</name> <newname>My</newname> </field> <field> <name>Ldsfld</name> <newname>Wy</newname> </field> <field> <name>Ldsflda</name> <newname>Ay</newname> </field> <field> <name>Ldstr</name> <newname>ly</newname> </field> <field> <name>Ldtoken</name> <newname>Yy</newname> </field> <field> <name>Ldvirtftn</name> <newname>ry</newname> </field> <field> <name>Leave</name> <newname>yy</newname> </field> <field> <name>Localloc</name> <newname>dy</newname> </field> <field> <name>Mkrefany</name> <newname>Ny</newname> </field> <field> <name>Mul</name> <newname>Dy</newname> </field> <field> <name>Mul_Ovf</name> <newname>ty</newname> </field> <field> <name>Mul_Ovf_Un</name> <newname>uy</newname> </field> <field> <name>Neg</name> <newname>Jy</newname> </field> <field> <name>Newarr</name> <newname>sy</newname> </field> <field> <name>Newobj</name> <newname>by</newname> </field> <field> <name>Nop</name> <newname>vy</newname> </field> <field> <name>Not</name> <newname>Oy</newname> </field> <field> <name>Or</name> <newname>By</newname> </field> <field> <name>Pop</name> <newname>py</newname> </field> <field> <name>Prefix1</name> <newname>Ry</newname> </field> <field> <name>Prefix2</name> <newname>Hy</newname> </field> <field> <name>Prefix3</name> <newname>Q4</newname> </field> <field> <name>Prefix4</name> <newname>g4</newname> </field> <field> <name>Prefix5</name> <newname>w4</newname> </field> <field> <name>Prefix6</name> <newname>S4</newname> </field> <field> <name>Prefix7</name> <newname>I4</newname> </field> <field> <name>Prefixref</name> <newname>K4</newname> </field> <field> <name>Readonly</name> <newname>L4</newname> </field> <field> <name>Refanytype</name> <newname>e4</newname> </field> <field> <name>Refanyval</name> <newname>m4</newname> </field> <field> <name>Rem</name> <newname>z4</newname> </field> <field> <name>Rem_Un</name> <newname>c4</newname> </field> <field> <name>Ret</name> <newname>C4</newname> </field> <field> <name>Rethrow</name> <newname>Z4</newname> </field> <field> <name>Shl</name> <newname>i4</newname> </field> <field> <name>Shr</name> <newname>j4</newname> </field> <field> <name>Shr_Un</name> <newname>U4</newname> </field> <field> <name>Sizeof</name> <newname>k4</newname> </field> <field> <name>Starg</name> <newname>V4</newname> </field> <field> <name>Starg_S</name> <newname>n4</newname> </field> <field> <name>Stelem</name> <newname>h4</newname> </field> <field> <name>Stelem_I</name> <newname>o4</newname> </field> <field> <name>Stelem_I1</name> <newname>P4</newname> </field> <field> <name>Stelem_I2</name> <newname>G4</newname> </field> <field> <name>Stelem_I4</name> <newname>a4</newname> </field> <field> <name>Stelem_I8</name> <newname>x4</newname> </field> <field> <name>Stelem_R4</name> <newname>E4</newname> </field> <field> <name>Stelem_R8</name> <newname>q4</newname> </field> <field> <name>Stelem_Ref</name> <newname>f4</newname> </field> <field> <name>Stfld</name> <newname>F4</newname> </field> <field> <name>Stind_I</name> <newname>X4</newname> </field> <field> <name>Stind_I1</name> <newname>T4</newname> </field> <field> <name>Stind_I2</name> <newname>M4</newname> </field> <field> <name>Stind_I4</name> <newname>W4</newname> </field> <field> <name>Stind_I8</name> <newname>A4</newname> </field> <field> <name>Stind_R4</name> <newname>l4</newname> </field> <field> <name>Stind_R8</name> <newname>Y4</newname> </field> <field> <name>Stind_Ref</name> <newname>r4</newname> </field> <field> <name>Stloc</name> <newname>y4</newname> </field> <field> <name>Stloc_0</name> <newname>d4</newname> </field> <field> <name>Stloc_1</name> <newname>N4</newname> </field> <field> <name>Stloc_2</name> <newname>D4</newname> </field> <field> <name>Stloc_3</name> <newname>t4</newname> </field> <field> <name>Stloc_S</name> <newname>u4</newname> </field> <field> <name>Stobj</name> <newname>J4</newname> </field> <field> <name>Stsfld</name> <newname>s4</newname> </field> <field> <name>Sub</name> <newname>b4</newname> </field> <field> <name>Sub_Ovf</name> <newname>v4</newname> </field> <field> <name>Sub_Ovf_Un</name> <newname>O4</newname> </field> <field> <name>Switch</name> <newname>B4</newname> </field> <field> <name>Tailcall</name> <newname>p4</newname> </field> <field> <name>Throw</name> <newname>R4</newname> </field> <field> <name>Unaligned</name> <newname>H4</newname> </field> <field> <name>Unbox</name> <newname>Qv</newname> </field> <field> <name>Unbox_Any</name> <newname>gv</newname> </field> <field> <name>Volatile</name> <newname>wv</newname> </field> <field> <name>Xor</name> <newname>Sv</newname> </field> <field> <name>IntCall</name> <newname>Iv</newname> </field> <field> <name>HEBeginRegion</name> <newname>Kv</newname> </field> <field> <name>HEEndRegion</name> <newname>Lv</newname> </field> </fields> </class> <class> <name>Yezo.VM.Execution.Security.Cryptography.BranchingEncryptionHelper</name> <newname><Eazfuscator CI>.a.gy</newname> <methods> <method> <name>GetModulus</name> <newname>N1JQ434P6f0GlqIKzI1y3</newname> </method> <method> <name>Ceq</name> <newname>cunk7hubdIoOZwDqhQTwn4g15PfQZl</newname> </method> <method> <name>DecryptData</name> <newname>eHm836x1sWMAaDSZm2ZBJL6X0</newname> </method> </methods> </class> <class> <name>Yezo.VM.Execution.Security.Cryptography.CryptoStreamHelper</name> <newname><Eazfuscator CI>.a.Sy</newname> <methods> <method> <name>CreateReadableStream</name> <newname>UUqOHGwdobVM1ycYYlKu</newname> </method> </methods> </class> <class> <name>Yezo.VM.Execution.VirtualMachine</name> <newname><Eazfuscator CI>.a.Ly</newname> <methods> <method> <name>GetCodeCryptoSalt</name> <newname>iCvsJKE2CdOn8BtHKQ</newname> </method> <method> <name>GetMethodLabelCryptoSalt</name> <newname>nKr5MDBUHD6hHe</newname> </method> <method> <name>MakeDispatchTable</name> <newname>urXa5w3QQDYhuZiIwMX</newname> </method> <method> <name>ExecuteInstructionsCore</name> <newname>gcfjaVjV9lqrQekNX</newname> </method> <method> <name>IsTransparentProxy</name> <newname>JHVHTGCOsFAb6qcGmn</newname> </method> <method> <name>PreserveStackTrace</name> <newname>ItzWUGQ34cxhBtUUyuXRhX968v</newname> </method> <method> <name>ThrowException</name> <newname>dJVJqlmGyjM4NODlQup</newname> </method> <method> <name>Run</name> <newname>kMrmLvmPKWbzWMhQ8lG541YpA</newname> </method> <method> <name>RunF2</name> <newname>ixwqYE2FAAvE</newname> </method> <method> <name>RunF3</name> <newname>TxHRMfi91LsUevdef</newname> </method> </methods> <properties> <property> <name>AptcaLevel2</name> <newname>Q</newname> </property> <property> <name>IsSecurityIssuePossible</name> <newname>g</newname> </property> </properties> </class> </module> </assembly> </map>
I will try to find more to reasearch.
I see what you mean. It could be useful when updating the tool to different versions of Eazfuscator. Thank you for the share, however, this project will remain targeted at 2022.2.
Tested with ver.2024.1 and working fine.