Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


UnityEngine.dll not visible in enumerated Dlls and Symbols

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
ta_trainer
Advanced Cheater
Reputation: 0

Joined: 24 Dec 2006
Posts: 76

PostPosted: Mon Sep 21, 2015 3:37 pm    Post subject: UnityEngine.dll not visible in enumerated Dlls and Symbols Reply with quote

Hi

The enumerated Dlls and Symbols for the unity game is mainly showing the EXE file and mono.dll (using latest CE beta)
Managed Dlls are not showing up

having the code reversed using "JetBrains dotPeek", I have found many interesting functions that I want to hook in UnityEngine.dll

could someone plz tell me"
1) Why not all Dlls are showing up
2) is there a way to locate the dll and enumerate it
3) is there a way to do "foreign function interface" FFI in CE Lua on that DLL

My target is to locate the function in memory and call it with my parameters

Thanks

Edit:
I have just learned that Managed .Net Dlls are not native.
what are my options here?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25807
Location: The netherlands

PostPosted: Mon Sep 21, 2015 4:49 pm    Post subject: Reply with quote

1: The enumerate dll's and symbols window only shows dll's loaded using the windows dll load mechanism.
Mono doesn't use that mechanism to load dll's (as it has a way to load them nor non-windows systems, there's no need for it)

2: yes.
activate the mono features, and then go to dissect mono.
There you can find the dll you're interested in

3: I have no idea what you mean (I don't use official names). There are some functions available that allow you to load a new .net dll into the target domain and do stuff if you like.

If you mean editing an method, you could compile (JIT) a method you're interested in (there's a lua function for it in the monoscript.lua file and mono dissect window) and then edit the native code. (Or before it's jitted find the native code, and then edit the IL code )

_________________
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
View user's profile Send private message MSN Messenger
ta_trainer
Advanced Cheater
Reputation: 0

Joined: 24 Dec 2006
Posts: 76

PostPosted: Mon Sep 21, 2015 6:23 pm    Post subject: Reply with quote

Dark Byte wrote:
1: The enumerate dll's and symbols window only shows dll's loaded using the windows dll load mechanism.
Mono doesn't use that mechanism to load dll's (as it has a way to load them nor non-windows systems, there's no need for it)

2: yes.
activate the mono features, and then go to dissect mono.
There you can find the dll you're interested in

3: I have no idea what you mean (I don't use official names). There are some functions available that allow you to load a new .net dll into the target domain and do stuff if you like.

If you mean editing an method, you could compile (JIT) a method you're interested in (there's a lua function for it in the monoscript.lua file and mono dissect window) and then edit the native code. (Or before it's jitted find the native code, and then edit the IL code )


OMG, man, I can not thank you enough.
will have to dig deep into this.
but for now, let me share what I was able to do with this dissect info

The class of interest is called BotController, before dissecting, I was able somehow through trial and error to locate it in memory but was not able to make sense of all its variables.
the mono dissect feature is now showing me the offset of every single variable with its type!!!

for example:
Class BotController:
offset 0x10 pgoPlayer (type UnityEngine.GameObject)
offset 0x14 pgoLocalPlayer (type UnityEngine.GameObject)
...etc

I have never had this level of luxury before!

Dark Byte, I have methods offsets too
example:
0xb4d440 setAttack

is there a way call these methods?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25807
Location: The netherlands

PostPosted: Tue Sep 22, 2015 4:39 am    Post subject: Reply with quote

yes, you could jit that metbod and then call it

you do need the class instance (in ecx) before you can call it though. (code injection on a method of that same class is the easiest)

_________________
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
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites