Difference between revisions of "Mono:Lua"

From Cheat Engine
Jump to navigation Jump to search
(Created page with '<!-- Mono:Lua --> Category:Mono Category:Help Category:Lua {{DISPLAYTITLE:Mono - Lua Functions}} {{NeedWork}} == Main Methods == * [[Mono:Lua:LaunchMonoDataCollector…')
 
Line 8: Line 8:
 
== Main Methods ==
 
== Main Methods ==
 
* [[Mono:Lua:LaunchMonoDataCollector|LaunchMonoDataCollector]]: Injects the ''MonoDataCollector'' dll and returns 0 for failure, or the ''monoBase'' returned from the CMD_INITMONO command on the mono pipe.
 
* [[Mono:Lua:LaunchMonoDataCollector|LaunchMonoDataCollector]]: Injects the ''MonoDataCollector'' dll and returns 0 for failure, or the ''monoBase'' returned from the CMD_INITMONO command on the mono pipe.
 +
 
* [[Mono:Lua:monoTypeToVarType|monoTypeToVarType]]: Returns the Cheat Engine type (vtString, vtByte, vtWorkd, vtDword, vtSingle, vtDouble, vtPointer) for the given mono type.
 
* [[Mono:Lua:monoTypeToVarType|monoTypeToVarType]]: Returns the Cheat Engine type (vtString, vtByte, vtWorkd, vtDword, vtSingle, vtDouble, vtPointer) for the given mono type.
* [[Mono:Lua:mono_object_getClass|mono_object_getClass]]: Returns classId, className of the class at the given address in memory.
+
 
 
* [[Mono:Lua:mono_enumDomains|mono_enumDomains]]: Returns a table of domains addresses for each domain in the game.
 
* [[Mono:Lua:mono_enumDomains|mono_enumDomains]]: Returns a table of domains addresses for each domain in the game.
 
* [[Mono:Lua:mono_setCurrentDomain|mono_setCurrentDomain]]: Sets the domain the ''MonoDataCollector'' will use.
 
* [[Mono:Lua:mono_setCurrentDomain|mono_setCurrentDomain]]: Sets the domain the ''MonoDataCollector'' will use.
 +
 
* [[Mono:Lua:mono_enumAssemblies|mono_enumAssemblies]]: Returns table of assembly Ids for each assembly in the current domain from the ''MonoDataCollector''.
 
* [[Mono:Lua:mono_enumAssemblies|mono_enumAssemblies]]: Returns table of assembly Ids for each assembly in the current domain from the ''MonoDataCollector''.
 +
 
* [[Mono:Lua:mono_getImageFromAssembly|mono_getImageFromAssembly]]: Returns the image Id for the passed assembly.
 
* [[Mono:Lua:mono_getImageFromAssembly|mono_getImageFromAssembly]]: Returns the image Id for the passed assembly.
 
* [[Mono:Lua:mono_image_get_name|mono_image_get_name]]: Returns the name of the assembly with the given image Id.
 
* [[Mono:Lua:mono_image_get_name|mono_image_get_name]]: Returns the name of the assembly with the given image Id.
 
* [[Mono:Lua:mono_image_enumClasses|mono_image_enumClasses]]: Returns a table of class Ids for then classes in the given assembly image.
 
* [[Mono:Lua:mono_image_enumClasses|mono_image_enumClasses]]: Returns a table of class Ids for then classes in the given assembly image.
 +
* [[Mono:Lua:mono_image_findClass|mono_image_findClass]]: Returns the class Id of the given class name and namespace in an image.
 +
 +
* [[Mono:Lua:mono_object_getClass|mono_object_getClass]]: Returns classId, className of the class at the given address in memory.
 +
* [[Mono:Lua:mono_findClass|mono_findClass]]: Returns the class Id of the given class name and namespace
 
* [[Mono:Lua:mono_class_getName|mono_class_getName]]: Returns the class name as a string.
 
* [[Mono:Lua:mono_class_getName|mono_class_getName]]: Returns the class name as a string.
 
* [[Mono:Lua:mono_class_getNamespace]]: Returns the namespace of the given class as a string.
 
* [[Mono:Lua:mono_class_getNamespace]]: Returns the namespace of the given class as a string.
Line 22: Line 29:
 
* [[Mono:Lua:mono_class_enumFields|mono_class_enumFields]]: Returns a table of field objects for fields in the given class.
 
* [[Mono:Lua:mono_class_enumFields|mono_class_enumFields]]: Returns a table of field objects for fields in the given class.
 
* [[Mono:Lua:mono_class_enumMethods|mono_class_enumMethods]]: Returns a table of method objects for the methods in the given class.
 
* [[Mono:Lua:mono_class_enumMethods|mono_class_enumMethods]]: Returns a table of method objects for the methods in the given class.
 +
* [[Mono:Lua:mono_class_findMethod|mono_class_findMethod]]: Returns the method Id of the given method name in the given class.
 +
 
* [[Mono:Lua:mono_getJitInfo|mono_getJitInfo]]: Returns a table with the properties given the address of code in memory.
 
* [[Mono:Lua:mono_getJitInfo|mono_getJitInfo]]: Returns a table with the properties given the address of code in memory.
* [[Mono:Lua:mono_image_findClass|mono_image_findClass]]: Returns the class Id of the given class name and namespace in an image.
+
* [[Mono:Lua:mono_compile_method|mono_compile_method]]: JITs a method if it isn't compiled yet.
* [[Mono:Lua:mono_findClass|mono_findClass]]: Returns the class Id of the given class name and namespace
+
* [[Mono:Lua:mono_free_method|mono_free_method]]: Frees the method (memory), only if profiler isn't being used, and only works on dynamic methods.
* [[Mono:Lua:mono_class_findMethod|mono_class_findMethod]]: Returns the method Id of the given method name in the given class.
+
 
 
* [[Mono:Lua:mono_findMethod|mono_findMethod]]: Returns the method Id of the given method name in the given class name in the namespace.
 
* [[Mono:Lua:mono_findMethod|mono_findMethod]]: Returns the method Id of the given method name in the given class name in the namespace.
 
* [[Mono:Lua:mono_method_getName|mono_method_getName]]: Returns the name of a method given the method id.
 
* [[Mono:Lua:mono_method_getName|mono_method_getName]]: Returns the name of a method given the method id.
Line 32: Line 41:
 
* [[Mono:Lua:mono_method_disassemble|mono_method_disassemble]]: ?? Returns a string - ''?? the IL code ??''. ??
 
* [[Mono:Lua:mono_method_disassemble|mono_method_disassemble]]: ?? Returns a string - ''?? the IL code ??''. ??
 
* [[Mono:Lua:mono_method_getClass|mono_method_getClass]]: Returns the class Id a method belongs in.
 
* [[Mono:Lua:mono_method_getClass|mono_method_getClass]]: Returns the class Id a method belongs in.
* [[Mono:Lua:mono_compile_method|mono_compile_method]]: JITs a method if it isn't compiled yet.
+
 
* [[Mono:Lua:mono_free_method|mono_free_method]]: Frees the method (memory), only if profiler isn't being used, and only works on dynamic methods.
+
* [[Mono:Lua:mono_invoke_method|mono_invoke_method]]: Invokes a method with the given arguments.
 +
 
 
* [[Mono:Lua:mono_methodheader_getILCode|mono_methodheader_getILCode]]: Returns ''address'', ''size''.
 
* [[Mono:Lua:mono_methodheader_getILCode|mono_methodheader_getILCode]]: Returns ''address'', ''size''.
 
* [[Mono:Lua:mono_getILCodeFromMethod|mono_getILCodeFromMethod]]: Combination of [[Mono:Lua:mono_method_getHeader|mono_method_getHeader]] and [[Mono:Lua:mono_methodheader_getILCode|mono_methodheader_getILCode]].
 
* [[Mono:Lua:mono_getILCodeFromMethod|mono_getILCodeFromMethod]]: Combination of [[Mono:Lua:mono_method_getHeader|mono_method_getHeader]] and [[Mono:Lua:mono_methodheader_getILCode|mono_methodheader_getILCode]].
 
* [[Mono:Lua:mono_iamge_rva_map|mono_iamge_rva_map]]: ?? Not sure what this is. ??
 
* [[Mono:Lua:mono_iamge_rva_map|mono_iamge_rva_map]]: ?? Not sure what this is. ??
 
* [[Mono:Lua:mono_loadAssemblyFromFile|mono_loadAssemblyFromFile]]: Loads a ''C#'' assembly in the target process.
 
* [[Mono:Lua:mono_loadAssemblyFromFile|mono_loadAssemblyFromFile]]: Loads a ''C#'' assembly in the target process.
* [[Mono:Lua:mono_invoke_method|mono_invoke_method]]: Invokes a method with the given arguments.
 
  
  
 
== Cheat Engine Hooks ==
 
== Cheat Engine Hooks ==
 
* [[Mono:Lua:mono_initialize|mono_initialize]]: Sets up hooks, calls old open process hook if there was one, and calls ''syncrhonize("mono_OpenProcessMT")''.
 
* [[Mono:Lua:mono_initialize|mono_initialize]]: Sets up hooks, calls old open process hook if there was one, and calls ''syncrhonize("mono_OpenProcessMT")''.
 +
 
* [[Mono:Lua:mono_OpenProcessMT|mono_OpenProcessMT]]: If timer (t) parameter is not nil; destroys timer then enumerates modules looking for 'mono.dll', and adds the mono menu item to Cheat Engine main form.
 
* [[Mono:Lua:mono_OpenProcessMT|mono_OpenProcessMT]]: If timer (t) parameter is not nil; destroys timer then enumerates modules looking for 'mono.dll', and adds the mono menu item to Cheat Engine main form.
 
* [[Mono:Lua:mono_OpenProcess|mono_OpenProcess]]:  
 
* [[Mono:Lua:mono_OpenProcess|mono_OpenProcess]]:  
 +
 
* [[Mono:Lua:mono_structureDissectOverrideCallback|mono_structureDissectOverrideCallback]]: Called by CE when a structure is being dissected to fill in the values if we know the structure.
 
* [[Mono:Lua:mono_structureDissectOverrideCallback|mono_structureDissectOverrideCallback]]: Called by CE when a structure is being dissected to fill in the values if we know the structure.
 
* [[Mono:Lua:mono_structureNameLookupCallback|mono_structureNameLookupCallback]]: Called by CE when creating a new structure in the structure dissector.
 
* [[Mono:Lua:mono_structureNameLookupCallback|mono_structureNameLookupCallback]]: Called by CE when creating a new structure in the structure dissector.

Revision as of 22:34, 5 May 2018


This entry needs a lot of work. Please contribute if you can.

Check this page to see if there are some suggestions for adding to Mono:Lua.

Main Methods

  • LaunchMonoDataCollector: Injects the MonoDataCollector dll and returns 0 for failure, or the monoBase returned from the CMD_INITMONO command on the mono pipe.
  • monoTypeToVarType: Returns the Cheat Engine type (vtString, vtByte, vtWorkd, vtDword, vtSingle, vtDouble, vtPointer) for the given mono type.
  • mono_enumAssemblies: Returns table of assembly Ids for each assembly in the current domain from the MonoDataCollector.
  • mono_getJitInfo: Returns a table with the properties given the address of code in memory.
  • mono_compile_method: JITs a method if it isn't compiled yet.
  • mono_free_method: Frees the method (memory), only if profiler isn't being used, and only works on dynamic methods.


Cheat Engine Hooks

  • mono_initialize: Sets up hooks, calls old open process hook if there was one, and calls syncrhonize("mono_OpenProcessMT").
  • mono_OpenProcessMT: If timer (t) parameter is not nil; destroys timer then enumerates modules looking for 'mono.dll', and adds the mono menu item to Cheat Engine main form.
  • mono_OpenProcess:


Mono Dissector Methods


See also