Difference between revisions of "Mono:Lua:mono method disassemble"
Jump to navigation
Jump to search
(Replaced content with '<span style="font-size:25px;color:red">Sorry! Content not available.</span>') |
m (Reverted edits by This content is not available (Talk) to last revision by TheyCallMeTim13) |
||
Line 1: | Line 1: | ||
− | + | [[Category:Mono]] | |
+ | [[Category:Lua]] | ||
+ | '''function''' mono_method_disassemble(''methodId'') ''':''' integer | ||
+ | |||
+ | ?? Returns a string - ?? the IL code ??. ?? | ||
+ | |||
+ | ===Function Parameters=== | ||
+ | {|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | !align="left"|Parameter | ||
+ | !align="left"|Type | ||
+ | !style="width: 80%;background-color:white;" align="left"|Description | ||
+ | |- | ||
+ | |methodId | ||
+ | |integer | ||
+ | |The method's ID | ||
+ | |} | ||
+ | |||
+ | |||
+ | == Examples == | ||
+ | === In Lua Engine form === | ||
+ | : While attached to [https://wikipedia.org/wiki/Cuphead Cuphead]. | ||
+ | '''Input:''' | ||
+ | <pre> | ||
+ | local mId = mono_findMethod('', 'PlayerStatsManager', 'TakeDamage') | ||
+ | print(mono_method_disassemble(mId):gsub('\n', '\r\n')) | ||
+ | </pre> | ||
+ | '''Output:''' | ||
+ | <pre> | ||
+ | IL_0000: ldarg.0 | ||
+ | IL_0001: call 0x060035cc | ||
+ | IL_0006: brfalse IL_000c | ||
+ | IL_000b: ret | ||
+ | IL_000c: ldarg.0 | ||
+ | IL_000d: ldfld 0x04002f4b | ||
+ | IL_0012: brfalse IL_0018 | ||
+ | IL_0017: ret | ||
+ | IL_0018: call 0x06001012 | ||
+ | IL_001d: callvirt 0x0600104c | ||
+ | IL_0022: brfalse IL_0028 | ||
+ | IL_0027: ret | ||
+ | IL_0028: ldarg.0 | ||
+ | IL_0029: call 0x060035d9 | ||
+ | IL_002e: brfalse IL_0034 | ||
+ | IL_0033: ret | ||
+ | IL_0034: ldarg.0 | ||
+ | IL_0035: call 0x060035d4 | ||
+ | IL_003a: ldc.r4 0 | ||
+ | IL_003f: ble.un IL_004f | ||
+ | IL_0044: ldarg.0 | ||
+ | IL_0045: ldc.r4 0 | ||
+ | IL_004a: call 0x060035d5 | ||
+ | IL_004f: call 0x060035c2 | ||
+ | IL_0054: brtrue IL_0063 | ||
+ | IL_0059: call 0x0600360f | ||
+ | IL_005e: brfalse IL_0064 | ||
+ | IL_0063: ret | ||
+ | IL_0064: ldarg.0 | ||
+ | IL_0065: dup | ||
+ | IL_0066: call 0x060035c6 | ||
+ | IL_006b: ldc.i4.1 | ||
+ | IL_006c: sub | ||
+ | IL_006d: call 0x060035c7 | ||
+ | IL_0072: ldarg.0 | ||
+ | IL_0073: call 0x06002fef | ||
+ | IL_0078: callvirt 0x06002ff9 | ||
+ | IL_007d: brtrue IL_008c | ||
+ | IL_0082: ldsfld 0x040015bb | ||
+ | IL_0087: br IL_0091 | ||
+ | IL_008c: ldsfld 0x040015bc | ||
+ | IL_0091: stloc.0 | ||
+ | IL_0092: call 0x06001029 | ||
+ | IL_0097: brtrue IL_00a6 | ||
+ | IL_009c: call 0x0600102b | ||
+ | IL_00a1: brfalse IL_00b8 | ||
+ | IL_00a6: ldloc.0 | ||
+ | IL_00a7: brfalse IL_00b8 | ||
+ | IL_00ac: ldloc.0 | ||
+ | IL_00ad: callvirt 0x060018cb | ||
+ | IL_00b2: ldarg.0 | ||
+ | IL_00b3: call 0x060035f0 | ||
+ | IL_00b8: ldarg.0 | ||
+ | IL_00b9: call 0x06003601 | ||
+ | IL_00be: ldarg.0 | ||
+ | IL_00bf: call 0x060035c6 | ||
+ | IL_00c4: ldc.i4.3 | ||
+ | IL_00c5: bge IL_00dc | ||
+ | IL_00ca: call 0x06001023 | ||
+ | IL_00cf: dup | ||
+ | IL_00d0: ldfld 0x040030e3 | ||
+ | IL_00d5: ldc.i4.1 | ||
+ | IL_00d6: add | ||
+ | IL_00d7: stfld 0x040030e3 | ||
+ | IL_00dc: ldc.r4 1 | ||
+ | IL_00e1: ldc.r4 0.2 | ||
+ | IL_00e6: ldarg.0 | ||
+ | IL_00e7: call 0x06002fef | ||
+ | IL_00ec: callvirt 0x06002ff9 | ||
+ | IL_00f1: call 0x06000f52 | ||
+ | IL_00f6: ldarg.0 | ||
+ | IL_00f7: call 0x060035c6 | ||
+ | IL_00fc: ldc.i4.0 | ||
+ | IL_00fd: bgt IL_010d | ||
+ | IL_0102: ldarg.0 | ||
+ | IL_0103: call 0x06003603 | ||
+ | IL_0108: br IL_011a | ||
+ | IL_010d: ldarg.0 | ||
+ | IL_010e: ldarg.0 | ||
+ | IL_010f: call 0x0600360c | ||
+ | IL_0114: call 0x0a000140 | ||
+ | IL_0119: pop | ||
+ | IL_011a: ret | ||
+ | 83 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | {{MonoSeeAlso}} | ||
+ | |||
+ | === Related Functions === | ||
+ | * [[Mono:Lua:mono_class_findMethod|mono_class_findMethod]] | ||
+ | * [[Mono:Lua:mono_findMethod|mono_findMethod]] | ||
+ | * [[Mono:Lua:mono_method_getName|mono_method_getName]] | ||
+ | * [[Mono:Lua:mono_method_getHeader|mono_method_getHeader]] | ||
+ | * [[Mono:Lua:mono_method_getSignature|mono_method_getSignature]] | ||
+ | * [[Mono:Lua:mono_method_disassemble|mono_method_disassemble]] | ||
+ | * [[Mono:Lua:mono_method_getClass|mono_method_getClass]] | ||
+ | * [[Mono:Lua:mono_methodheader_getILCode|mono_methodheader_getILCode]] | ||
+ | * [[Mono:Lua:mono_getILCodeFromMethod|mono_getILCodeFromMethod]] | ||
+ | * [[Mono:Lua:mono_invoke_method|mono_invoke_method]] |
Latest revision as of 19:07, 18 March 2019
function mono_method_disassemble(methodId) : integer
?? Returns a string - ?? the IL code ??. ??
Function Parameters[edit]
Parameter | Type | Description |
---|---|---|
methodId | integer | The method's ID |
Examples[edit]
In Lua Engine form[edit]
- While attached to Cuphead.
Input:
local mId = mono_findMethod('', 'PlayerStatsManager', 'TakeDamage') print(mono_method_disassemble(mId):gsub('\n', '\r\n'))
Output:
IL_0000: ldarg.0 IL_0001: call 0x060035cc IL_0006: brfalse IL_000c IL_000b: ret IL_000c: ldarg.0 IL_000d: ldfld 0x04002f4b IL_0012: brfalse IL_0018 IL_0017: ret IL_0018: call 0x06001012 IL_001d: callvirt 0x0600104c IL_0022: brfalse IL_0028 IL_0027: ret IL_0028: ldarg.0 IL_0029: call 0x060035d9 IL_002e: brfalse IL_0034 IL_0033: ret IL_0034: ldarg.0 IL_0035: call 0x060035d4 IL_003a: ldc.r4 0 IL_003f: ble.un IL_004f IL_0044: ldarg.0 IL_0045: ldc.r4 0 IL_004a: call 0x060035d5 IL_004f: call 0x060035c2 IL_0054: brtrue IL_0063 IL_0059: call 0x0600360f IL_005e: brfalse IL_0064 IL_0063: ret IL_0064: ldarg.0 IL_0065: dup IL_0066: call 0x060035c6 IL_006b: ldc.i4.1 IL_006c: sub IL_006d: call 0x060035c7 IL_0072: ldarg.0 IL_0073: call 0x06002fef IL_0078: callvirt 0x06002ff9 IL_007d: brtrue IL_008c IL_0082: ldsfld 0x040015bb IL_0087: br IL_0091 IL_008c: ldsfld 0x040015bc IL_0091: stloc.0 IL_0092: call 0x06001029 IL_0097: brtrue IL_00a6 IL_009c: call 0x0600102b IL_00a1: brfalse IL_00b8 IL_00a6: ldloc.0 IL_00a7: brfalse IL_00b8 IL_00ac: ldloc.0 IL_00ad: callvirt 0x060018cb IL_00b2: ldarg.0 IL_00b3: call 0x060035f0 IL_00b8: ldarg.0 IL_00b9: call 0x06003601 IL_00be: ldarg.0 IL_00bf: call 0x060035c6 IL_00c4: ldc.i4.3 IL_00c5: bge IL_00dc IL_00ca: call 0x06001023 IL_00cf: dup IL_00d0: ldfld 0x040030e3 IL_00d5: ldc.i4.1 IL_00d6: add IL_00d7: stfld 0x040030e3 IL_00dc: ldc.r4 1 IL_00e1: ldc.r4 0.2 IL_00e6: ldarg.0 IL_00e7: call 0x06002fef IL_00ec: callvirt 0x06002ff9 IL_00f1: call 0x06000f52 IL_00f6: ldarg.0 IL_00f7: call 0x060035c6 IL_00fc: ldc.i4.0 IL_00fd: bgt IL_010d IL_0102: ldarg.0 IL_0103: call 0x06003603 IL_0108: br IL_011a IL_010d: ldarg.0 IL_010e: ldarg.0 IL_010f: call 0x0600360c IL_0114: call 0x0a000140 IL_0119: pop IL_011a: ret 83