View previous topic :: View next topic |
Author |
Message |
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Tue Aug 19, 2014 7:16 am Post subject: Mono data collector update |
|
|
Since for some reason some people here hardly ever check the main site, I'll post it here as well
There has been an update to the mono data collector that adds 64-bit support and can better deal with renamed mono dll's. (call mono_dissect() yourself in those cases as the menu only checks for a dll called mono.dll as a more invasive scan would probably slow ce down)
http://cheatengine.org/download/monodatacollector.rar
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Redouane Master Cheater Reputation: 3
Joined: 05 Sep 2013 Posts: 363 Location: Algeria
|
Posted: Tue Aug 19, 2014 8:05 am Post subject: Re: Mono data collector update |
|
|
Dark Byte wrote: | Since for some reason some people here hardly ever check the main site, I'll post it here as well
There has been an update to the mono data collector that adds 64-bit support and can better deal with renamed mono dll's. (call mono_dissect() yourself in those cases as the menu only checks for a dll called mono.dll as a more invasive scan would probably slow ce down)
http://cheatengine.org/download/monodatacollector.rar |
Did you update the installer as well?
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Tue Aug 19, 2014 8:33 am Post subject: |
|
|
no, it's just an add-on you can extract over ce for now
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
dracoflamulas How do I cheat? Reputation: 0
Joined: 09 Oct 2014 Posts: 1
|
Posted: Thu Oct 09, 2014 10:48 am Post subject: |
|
|
Would you mind going a bit into detail about what you mean by calling "mono_dissect() yourself"? I've already copy/pasted the autorun folder from within the RAR file to the original and now have a MDC, MDC32, and MDC64 .dll files in the autorun>dlls folder. So what exactly do I rename, where do I find it and/or place into which folder, and what do I rename it to?
Already updated the DotNetDataCollector before doing the MonoDataCollector. Do I add an extension of any kind to the ceserver file? It doesn't have an extension and I cannot find any similar file name.
Thank you in advance for any help.
|
|
Back to top |
|
|
Hatschi Master Cheater Reputation: 2
Joined: 28 Jan 2010 Posts: 327
|
Posted: Thu Oct 09, 2014 10:58 am Post subject: |
|
|
If you attach CE to a mono based game a menu called mono appears. Mono_dissect is probably the LUA command to force mono dissection in case CE won't recognize it as a mono game.
|
|
Back to top |
|
|
tfigment Advanced Cheater Reputation: 2
Joined: 12 Oct 2012 Posts: 93
|
Posted: Sat Jan 03, 2015 11:25 pm Post subject: |
|
|
I updated the monodatacollector autorun script to do some extra work. Basically, on some games the number of Classes in the assemblies is large and its hard to find so I sorted the classes in the dissect dialog.
It looks like there was an attempt at auto structure population but I couldn't figure out how to make it work for mono unlike .NET which seems to work. As a result, I added a script to export the selected mono class (and references) as a CSX file. Feel free to incorporate this into the main branch if it you think its worthy.
I noticed 2 things which may be bugs.
1. the fields type value may be the wrong thing to return currently. Its currently a pointer that cannot be used directly but what would be valuable is the address to the class that it points to. I workaround this using readInteger but suspect this is not correct behavior. I didn't test on a 64 bit mono game or with the 32-bit CE but it works fine in my testing.
2. When importing CSX files in the Data Dissector it takes a very long time if there are a lot of classes. I suspect that the problem is related to pointer child structure resolution since most of that information is lost even if the referred to structure is present in the file. Also related is that the Structures menu seems corrupted and basically becomes a thin vertical line.
I just edited a CT file directly and inserted the CSX contents and it loads very fast and the menu does not have any issues and scrolls properly.
I also had to update the frm file and since the current lua file with old dlls hangs my CE so I included the current dlls in case anyone wants this.
mediafire /download/7dxwqrua8apnpk4/monocollector-csx.rar
Edit: Updated lua script with some invalid character protection when obfuscators are used
Description: |
lua script with Structure file export. Updated. |
|
Download |
Filename: |
monoscript.lua |
Filesize: |
40.88 KB |
Downloaded: |
1434 Time(s) |
Last edited by tfigment on Sun Jan 04, 2015 2:32 pm; edited 1 time in total |
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Sun Jan 04, 2015 5:23 am Post subject: |
|
|
auto structure population works the same as .net but you have to activate the mono features before you can use it, and make sure there are no active breakpoints
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
tfigment Advanced Cheater Reputation: 2
Joined: 12 Oct 2012 Posts: 93
|
Posted: Sun Jan 04, 2015 2:36 pm Post subject: |
|
|
Ok. My issue apparently was related to use of the Static data as a pointer since the game I was using uses that as the starting point for most useful pointers. Anyway still a great feature.
It does not seem to work recursively when expanding pointers or handle static fields correctly when dynamically inspecting but overall works well. I'll take a look into extending that for myself and share if it is usable.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Sun Jan 04, 2015 2:38 pm Post subject: |
|
|
you may also be interested in this topic: http://forum.cheatengine.org/viewtopic.php?t=577110
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
tfigment Advanced Cheater Reputation: 2
Joined: 12 Oct 2012 Posts: 93
|
Posted: Mon Jan 05, 2015 2:04 am Post subject: |
|
|
thanks. I posted some issues I had with static vtables and AA there.
I added more changes to the monocollector.
This version will push the changes directly into the structures directly from a right mouse click on the classname in the dissector. Also fixed the name sanitizer since my understanding of lua is rough and didn't realize the regular expression was not working as expected.
Also added some quick methods for adding the static fields to the table memory records for fast inspection. Makes things much easier to find interesting stuff in an adhoc session.
As an aside there is a bug in getStructureCount it should push the integer on the lua stack before returning. The new structure code does not work without this fix.
Code: |
function getStructureCount(L: PLua_State): integer; cdecl;
begin
result:=1;
lua_pushinteger(L, DissectedStructs.Count);
end;
|
mediafire /download/dcclcz9bswzs5ra/monocollector-csx-v2.rar
|
|
Back to top |
|
|
tfigment Advanced Cheater Reputation: 2
Joined: 12 Oct 2012 Posts: 93
|
Posted: Sun Jan 25, 2015 2:07 pm Post subject: |
|
|
Next update I have for monocollector fixes more issues I had with regular expression name filtering. Added 2 functions mono_class_from_mono_type and mono_class_get_element_class to better inspect the field types and for Arrays get the underlying element type. I then updated the mono structure generator to create arrays and some generics automatically. The recursive structures are now mostly local to avoid cluttering the global namespace.
More questionably, I added some Autoassembly scripts for generating records to fetch static members for easier table development. I'll understand if this part doesn't make it into the main branch. I only did 80x86 assembly since I could not get x64 assembly to work correctly as pointers were being generated as 32-bit assembly.
Anyway I found this useful so am sharing it back.
Source Patch:
mediafire download/y8286eebudk7qza/ce-monocollector-figment-v3.patch
Binaries: (Requires CE 6.5 when available for getStructureCount fix)
mediafire download/rx4lyrfqux4m6ax/monocollector-figment-v3.7z
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Sun Jan 25, 2015 8:38 pm Post subject: |
|
|
thank you
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
tfigment Advanced Cheater Reputation: 2
Joined: 12 Oct 2012 Posts: 93
|
Posted: Mon Feb 16, 2015 2:36 am Post subject: |
|
|
Made some more edits of my collector version and sharing back.
I exposed mono_class_findMethodByDesc() which is a more friendly search for method with ability to distinguish overloaded methods by arguments.
Exposed a means of loading arbitrary assemblies via mono_loadAssemblyFromFile().
Added mono_invoke_method() which allows for execution of any method and including marshaling arguments back and forth.
Source Patch:
mediafire download/88vhzvds7707ger/ce-monocollector-figment-v4.patch
Binaries: (Requires CE 6.5 when available for getStructureCount fix)
mediafire download/qrjztq53fdov53k/monocollector-figment-v4.rar
|
|
Back to top |
|
|
tfigment Advanced Cheater Reputation: 2
Joined: 12 Oct 2012 Posts: 93
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Sun Mar 29, 2015 3:29 pm Post subject: |
|
|
thanks, i'll check it out and do some tests
i've been a bit busy with other stuff(work and personal stuff) , but i have this topic bookmarked and will apply it when i get to that part of ce (before next version)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
|