andy012345,
Do you have a working example you can show?
-Bit_Hacker
andy012345,
Do you have a working example you can show?
-Bit_Hacker
Here's the current version of what not to do.
You should never perform the followingtasks from within DllMain:
- Call LoadLibrary or LoadLibraryEx (either directly or indirectly). This can cause a deadlock or a crash.
- Synchronize with other threads. This can cause a deadlock.
- Acquire a synchronization object that is owned by code that is waiting to acquire the loader lock. This can cause a deadlock.
- Initialize COM threads by using CoInitializeEx. Under certain conditions, this function can call LoadLibraryEx.
- Call the registry functions. These functions are implemented in Advapi32.dll. If Advapi32.dll is not initialized before your DLL, the DLL can access uninitialized memory and cause the process to crash.
- Call CreateProcess. Creating a process can load another DLL.
- Call ExitThread.Exiting a thread during DLL detach can cause the loader lock to be acquired again, causing a deadlock or a crash.
- Call CreateThread. Creating a thread can work if you do not synchronize with other threads, but it is risky.
- Create a named pipe or other named object (Windows 2000 only). In Windows 2000, named objects are provided by the Terminal Services DLL. If this DLL is not initialized, calls to the DLL can cause the process to crash.
- Use the memory management function from the dynamic C Run-Time (CRT). If the CRT DLL is not initialized, calls to these functions can cause the process to crash.
- Call functions in User32.dll or Gdi32.dll. Some functions load another DLL, which may not be initialized.
- Use managed code.
andy012345,
That's interesting, I've never read that before. So, how are you suppose to call CreateThread inside a dll?
Do you have a reference link to where you got that at?
-Bit_Hacker
You are misunderstanding many things. 1) Blizzard likes to do delayed bans. You will not know if your program is detectable until it is too late (or you notice warden scanning offsets that you have modified). 2) Nothing is undetectable. You are looking for the word undetected, which you have no proof of this as you seem to know little about warden. 3) Simply asking for +Rep discourages people from repping you, and may even lead to getting -Rep if the wrong people see it.
You contributed to the site, which is good. Its more the fact that you made some statements that were incorrect, which is what people were commenting on.
Sychotix,
I understand what your saying. Thank you.
-Bit_Hacker
In Wow, hooking endscene will never get banned (confirmed). But I know few about warden for diablo3.
You can hook EndScene all you want (currently). Blizzard is very lax about rendering programs (such as Fraps, xsplit, etc) which also hook EndScene.
However, if Blizzard decides, they can easily ban you for hooking it. Its not likely, but its possible. Also, a dependency on Detours is meh. You can easily write your own hook in < 10-20 lines and drop the dependency all together. (I do so in my bootstrapper for .NET)
Also, read the forum rules. Asking for rep is against the rules. Be happy Kur hasn't seen your post yet, or it will get you into the negatives for rep.
Last edited by Apoc; 06-02-2012 at 08:09 PM.
I'm not sure if there are newer/better alternatives that have been developed since I stopped doing WoW hacking, but I used to find CEGUI quite useful for in-game GUI development (unless you're trying to learn D3D programming, in which case rolling your own is better).
Main Page - CEGUI Wiki - Crazy Eddie's Gui System for Games (Open Source)
Cypher,
For some reason every time I try and draw text to the screen the game crashes. I'm not sure whats wrong. I've looked at the variables they all seem valid.
my ( ID3DXFONT m_font ) structure is being created fine. I'm confused as it doesn't work...
Variables checked:Code:// --- Draw Text --- void Menu::Draw_Text( LPCSTR textToDraw, int x, int y, D3DCOLOR color ) { //Rectangle RECT rct = {x - 120, y, x + 120, y + 15}; // Draw m_font->DrawTextA(NULL, textToDraw, -1, &rct, DT_NOCLIP, color ); }// --- End of Draw Text ---
-Bit_HackerCode:textToDraw: Diablo III x value: 190 y value: 30
If it crashes you look at the exception which is telling you where and why it crashed. The info you've posted doesn't give much details.
Edit:
I noticed from the code you've posted earlier that you aren't hooking IDirect3DDevice9::Reset. I don't know how ID3DXFont will behave when trying to render to a lost device, but that might be it.
Last edited by _Mike; 06-04-2012 at 08:17 AM.
If they were going to ban you anyways banning does not occur instantly, but they ban in waves, so they collect and flag people's accounts giving them false security and then they'll take them all out with a massive blow.
Hooking endscene is legit, but the only thing you have to worry about would be warden's signature scan, but the only way that will happen is if you're using public code (that is used in a popular project), or release your code public and it becomes popular enough for blizzard to go after ; )
And releasing code is okay because a large majority of people will not know how to compile, but someone could release a compilation of your code xP
overall something like this is pretty low risk
Awesome Post Btw : )
Last edited by UserNamex32; 06-11-2012 at 09:13 PM.
would love it if you rar'ed your project files and uploaded them lol