Difference between revisions of "Mono:Lua"

From Cheat Engine
Jump to navigation Jump to search
Line 11: Line 11:
 
* [[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.
  
 +
=== Domains ===
 
* [[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.
  
 +
=== Assemblies ===
 
* [[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''.
  
Line 19: Line 21:
 
* [[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.
 
  
 +
=== Classes ===
 
* [[Mono:Lua:mono_object_getClass|mono_object_getClass]]: Returns classId, className of the class at the given address in memory.
 
* [[Mono:Lua:mono_object_getClass|mono_object_getClass]]: Returns classId, className of the class at the given address 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_findClass|mono_findClass]]: Returns the class Id of the given class name and namespace
 
* [[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.
Line 31: Line 34:
 
* [[Mono:Lua:mono_class_findMethod|mono_class_findMethod]]: Returns the method Id of the given method name 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.
  
 +
=== JIT ===
 
* [[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_compile_method|mono_compile_method]]: JITs a method if it isn't compiled yet.
 
* [[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_free_method|mono_free_method]]: Frees the method (memory), only if profiler isn't being used, and only works on dynamic methods.
  
 +
=== Methods ===
 
* [[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 42: Line 47:
 
* [[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_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]].
 +
 +
==== Invoke ====
 
* [[Mono:Lua:mono_invoke_method|mono_invoke_method]]: Invokes a method with the given arguments.
 
* [[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''.
+
=== Misc. ===
* [[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.

Revision as of 22:37, 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.

Domains

Assemblies

  • mono_enumAssemblies: Returns table of assembly Ids for each assembly in the current domain from the MonoDataCollector.

Classes

JIT

  • 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.

Methods

Invoke

Misc.


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