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 


D3D Overlay
Goto page Previous  1, 2, 3
 
Post new topic   This topic is locked: you cannot edit posts or make replies.    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
FerrisBuellerYourMyHero
Master Cheater
Reputation: 0

Joined: 14 Feb 2007
Posts: 401
Location: Inside your <kernel>

PostPosted: Fri Nov 21, 2008 4:22 pm    Post subject: Reply with quote

tombana wrote:
_void_ wrote:
tombana wrote:
My code is not a proxy dll. AFAIC a proxy dll is a dll which has the complete original interface rewritten and forwards all the functions.
My dll only changes some of the addresses in the interface to point to my own functions. There is no hooking involved with inline jumps. (Only in the very beginning, but that hook is removed right away).
As I said, the code I posted is not detected by gameguard.


It's not detected by GameGuard because it's already prevented by GameGuard. You're detouring the CreateDevice to you're own function, that isn't proxying?

Yes it's proxying but it's only proxying one function. I think that normally speaking, a proxy dll means that every function is proxied.
And how do you mean it's already prevented by gameguard? It works completely fine...


No its not proxying... proxying refers to a "proxy dll" which is a replacement dll which you put in the same folder as the game, so it loads that dll instead of the original... but yes your right, "proxying" replaces all the functions, so its like all functions are hooked... Its unnecessary to hook all functions because you aren't going to put code in all functions, only ones that you need... Like EndScene for example, by drawing (whatever you want to draw) in EndScene it successfully draws over the game because your drawing is drawn after the game draws all the shit its going to draw... If you drew in a BeginScene hook after calling BeginScene you wouldn't see what you drew because the game would draw over it!! Things are drawn in order from first to last, whatever is drawn last will be on top of whatever was drawn first... get it?

HOOKING is what tombana is doing... He's just hooking the functions he needs, not everything!! And it also doesn't use a proxy dll, he's injecting his dll instead of placing it in the same folder as the dx app as "d3d9.dll"

So thats why hooking is alot better than proxying...

tombana do you know a way to hook the directx functions you desire (like EndScene) after Direct3DCreate8/9 is called and after Create Device is called? Currently my method is the same as yours, you have to inject your dll so that Direct3DCreate(x) is hooked before the game calls it...

I would like my directx hook to work even if its injected after that. Let me know if you find a way that it can be done. I'll do the same Wink

_________________
You know, life moves pretty fast. If you don't stop and look around once in a while, You could miss it!

Back to top
View user's profile Send private message MSN Messenger
tombana
Master Cheater
Reputation: 2

Joined: 14 Jun 2007
Posts: 456
Location: The Netherlands

PostPosted: Fri Nov 21, 2008 4:54 pm    Post subject: Reply with quote

Quote:

tombana do you know a way to hook the directx functions you desire (like EndScene) after Direct3DCreate8/9 is called and after Create Device is called? Currently my method is the same as yours, you have to inject your dll so that Direct3DCreate(x) is hooked before the game calls it...

I would like my directx hook to work even if its injected after that. Let me know if you find a way that it can be done. I'll do the same Wink

That's also what I was searching for Razz Because with some injection methods it injects 'too late' and then Direct3DCreateX is already called.
If the hack is only for a specific game and only for a specific version of the game, you might be able to find some static address/pointer to where the game stores the interface-pointer. Other than that, I have no clue on how to do it.
By the way, the method I use doesn't do hooking as in replacing the first 5 bytes of the function with a jump, because that's detected I think (never tried it) but it 'hooks' by changing only the pointer in the interface. And GG can't detect that because the interface is made up the way it is to be dynamic, so the addresses could change from time to time.[/quote]
Back to top
View user's profile Send private message
dnsi0
I post too much
Reputation: 0

Joined: 04 Jan 2007
Posts: 2674

PostPosted: Sun Nov 23, 2008 9:53 am    Post subject: Reply with quote

I solved that... It is really easy. All you ahve to do is check for the process. Get all of its threads. Suspend it, Inject the dll. Run all threads.
Back to top
View user's profile Send private message
horschtl
How do I cheat?
Reputation: 0

Joined: 14 Dec 2008
Posts: 1

PostPosted: Sun Dec 14, 2008 3:43 pm    Post subject: Reply with quote

dnsi0 wrote:
I made a delphi directx overlay in delphi. If you really want It will give it to you...


I know it's not good to ask for something on the first post, but:

Would you give it to me? I'm looking a very long time for a Delphi Demo / Tutorial / Code Snippet.

Thanks
Back to top
View user's profile Send private message
pedropmp
Cheater
Reputation: 0

Joined: 17 Jan 2010
Posts: 27

PostPosted: Mon Feb 01, 2010 5:45 pm    Post subject: Reply with quote

dnsi0, if you can provide the tutorial to me as well I'll be grateful Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
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