devsoft on 4:59 PM 06/07/2023: @mito, can this be a sort of DeVirtualization? I'm only asking because imagining there were 2 methods after the readline(), and one is called when 0 and other when not, in that case I guess I wouldn't be able to trace the not selected method...
SPOILER!!! =
****************************************************************
****** System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal.Prefix() ******
# Parameter(System.String[]) = System.String[]
# Instance(System.Reflection.RuntimeMethodInfo) = Void EiIjGx(System.String[])
# Instance FullDescription = static System.Void iRyVey::EiIjGx(System.String[] 5OUUUj)
# Instance MetadataToken = 100663300
# Instance IsAssembly = False
****************************************************************
****** System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal.Prefix() ******
# Parameter(System.String) = MitoVM 2.0 Devirtme!
# Instance(System.Reflection.RuntimeMethodInfo) = Void set_Title(System.String)
# Instance FullDescription = static System.Void System.Console::set_Title(System.String value)
# Instance MetadataToken = 100666194
# Instance IsAssembly = False
****************************************************************
****** System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal.Postfix() ******
****************************************************************
****** System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal.Prefix() ******
# Parameter(System.Int32) = 13
# Instance(System.Reflection.RuntimeMethodInfo) = Void set_ForegroundColor(System.ConsoleColor)
# Instance FullDescription = static System.Void System.Console::set_ForegroundColor(System.ConsoleColor value)
# Instance MetadataToken = 100666160
# Instance IsAssembly = False
****************************************************************
****** System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal.Postfix() ******
****************************************************************
****** System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal.Prefix() ******
# Parameter(System.String) = math object initialized
# Instance(System.Reflection.RuntimeMethodInfo) = Void WriteLine(System.String)
# Instance FullDescription = static System.Void System.Console::WriteLine(System.String value)
# Instance MetadataToken = 100666233
# Instance IsAssembly = False
****************************************************************
You must me logged to submit a solution
Solution by devsoft: Solution with PDF file and logs from my trace with the IL code of some methods that ware virtualized, and all the executions with their respective parameters and response.