You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/Releases/index.md
+36
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,42 @@ Save file as 'monohelper.lua' in the 'autorun' directory where CE is installed
4
4
5
5
* delete forms and unselect image on reload (mostly nicety for making changes during development of this)
6
6
* fixed parameter detection of 'single' and 'double' for XMM registers
7
+
* TODO: Figure out way to hook the right overloaded method
8
+
* Could be pretty short AA script looking for parameter signatures
9
+
* TODO: Add static fields as option to search?
10
+
* Filter for 'Static Fields Only'? - works as default shows all classes/fields/methods
11
+
* Filter classes as classes that contain static fields (and/or methods?)
12
+
* Filter static methods too? How do static methods work?
13
+
* TODO: DblClick on static field generates script with {$lua} code to find it and define?
14
+
* Alternate: LUA code to get base address for static class and define? - doesn't work with mono generate struct due to conflicting offsets, maybe CLASS_FIELD as define?
15
+
* TODO: uncheck 'HideSelection' on forms so you can see the selected items in listViews after they've lost focus
16
+
* TODO: popup on method -> generate 'find pointer' script
17
+
* Actually adds a new memrec to CE with a script doing my standard stuff to find the pointer
18
+
* Method 'PlayerController:Update' will globalalloc 'pPlayerController_Update'
19
+
* push rax
20
+
* mov rax,pPlayerController_Update
21
+
* inc dword ptr [rax] // counter
22
+
* mov [rax+8], rcx // parameter 1
23
+
* mov [rax+10], rdx // parameter 2
24
+
* movss [rax+18], xmm3 // parameter 3
25
+
* pop rax
26
+
* Table entries under script as a group header for counter and parameters
27
+
* TODO: Alternate for having memrecs for script and pointers - more difficult but cooler
28
+
* Able to hook methods from window, list in separate window and enable/disable/remove
29
+
* LUA could keep track of a 'globals' memory region and where the pointers for each method are
30
+
* LUA could show count, pointers, etc in it's own window
31
+
* LUA could open structure dissect and generate structure using it's information for names
32
+
* TODO: generate script inside mono method, not at start - three options:
33
+
1. Simple inject - use bytes being replaced and exact address
34
+
2. AOB - use AOB search to find point in code, bytes must remain the same
35
+
3. Advanced AOB - allow hooking code with offset of field
36
+
* One option would be to identify the field and change the value based on mono dissect
37
+
* Example: 'movss [rax+5c],xmm0 // set current health'
38
+
* 5c is offset of 'currentHealth' field, look for that offset in the type the method belongs on
39
+
* LUA code in top of script will alter the AOB to search for
40
+
* LUA code in top of script will search for AOB only inside method boundaries (or start of method + x + 100) for instance where x is offset we're hooking, or will stop when it finds another 'push rbp; mov rbp, rsp', or when it finds a ret (though there could be more than one of these)
41
+
* use readmem/writemem to replace with exact code, or use AOB found in step 1 that we're replacing (how? separate enable/disable sections)
0 commit comments