Splitting up for context.
Quote:
Originally Posted by Mostey
So I got some questions regarding this, hopefully you can provide me some answers here since I'm not very familar with the architecture of a hack (+ bypass)
|
The obligatory part: Cheat. It's called "cheat", not "hack".
Quote:
Originally Posted by Mostey
1. Bypassing is a must in most online games, red about the techniques to detect hacks but how can that be prevented? Sending "false" packets to fake the protection?
|
When interacting with Hackshield, do only ever read, but never write. Be careful when fiddling with the virtual memory protection and write locking when necessary. Avoid having to write to read-only memory where possible. If Hackshield finds you, force quit with
quick_exit to cancel the ban.
Quote:
Originally Posted by Mostey
2. When it comes to design (not codedesign), what are people using most to realize D3D Menus where you can select your options? Got some basics of DirectDraw but actually I have no clue how to implement such an menu because I was drawing some circles and triangles and did try to understand how it works. (which I hopefully did)
|
Use D3D9 libraries and avoid using D3DX9 where possible. Use low-level libraries with custom vertices and
DrawPrimitive instead of
DrawPrimitiveUP (which is easy to use, but incredibly slow).
You may render to the
IDirect3DDevice9 instance anywhere between a call to
IDirect3DDevice9::BeginScene and
IDirect3DDevice9::EndScene from the same thread these functions are called from.
This means you will have to hook at least one function from the game which is a definite risk as Hackshield may scan these parts of memory. The safest thing to do is to either just stay away from any function in
IDirect3DDevice9 and find another function called inbetween
BeginScene and
EndScene or to modify the virtual method table of the instance of
IDirect3DDevice9.
Quote:
Originally Posted by Mostey
3. Hooking, why is it that important? I know what hooking is but why do people hook functions? Do they add some personal stuff in there or what's the point here?
|
Just read about the risks of multithreading. One write-access to a memory location is enough to let any other access to the same location fail with an Access Violation Exception. This may be caught by a Structured (or Vectored) Exception Handler, but that is both a pain to implement and incredibly slow.
The other thing is to modify system interaction. Many people here hook stuff like WinSock2
send,
recv,
sendto and
recvfrom to change certain packet. I also use
SetWindowLongPtr with
GWLP_WNDPROC to hook the window input procedure.
Quote:
Originally Posted by Mostey
4. Assuming that pattern scans are needed here, wanted to know when pattern scans are needed and when the regular address scan is enough.
|
There is no such thing like "address scans", but "pattern scans" do exist. Scanning for a memory pattern just means that you look for parts of memory in a specified area that did not change over the last updates and thus do not need to manually find the address again. It's not necessary, but definitely helpful for updating the cheat.
Quote:
Originally Posted by Peter File
 - Wie warrock ist das denn?
|
Das witzige ist, dass sie es trotzdem noch "verschlüsseln", aber die Funktion mit 0 als Key aufrufen.
Quote:
Originally Posted by legit999555
The Best is, that you pming Raz9r. He have the most Skills in this Section for sure and can answer any Question correct.
|
No. Just no. I do not reply to such PMs.
Quote:
Originally Posted by Cyno™
1. In WarRock you don't need to Bypass Hackshield completely. You just have to make undetected D3D9 Hooks ( for showing your Menu ), use a Undetected Injector and don't modify the .text section and you Cheat will be fully ud.
|
Some tips along this post:
– Do inject as early as possible and delay Hackshields startup until all your memory modifications in the
.code section have been made.
– Never modify the
.text section. Don't even bother to try.
– When modifying the
.data section, be careful not to raise Access Violations.
Quote:
Originally Posted by Cyno™
2. Most of the Cheat creators in the WarRock Scene are using the D3D9Menu class of Hans or the LTFX Menu where NEO took part in coding it.
In my option both of them are not really efficient so i did my own Menu class. Its like that You add items( a struct with information like the name of the item and a pointer to a variable which is used for toogleing it on/off )to a Vector/Array
and then you draw them with a D3D Font ( for example ID3DXFont:  rawText which is part of the D3D9 SDK ). Then the last step is to check if the Menu keys are currently being pressed and if for example the Upper key is pressed you decrease an iterator to a vector/ the index of a array which shows which item is currently selected. For getting the Basics of such an Menu i recommend you checking out Public cheat Projects.
|
Correction:
ID3DXFont is not a part of the D3D9 SDK, but rather a part of the D3DX9 SDK. Az0rbix released some nice font and render classes using
DrawPrimitive instead of
DrawPrimitiveUP, you might want to check out on that.
Quote:
Originally Posted by Cyno™
3. For doing a D3D9 Menu you need to hook into the DirectX functions because you can't draw D3D9 elements within you own thread but only in the Present/Endescene functions.
|
Corrected that above. The main reason for a hook is that you don't want to lock the main thread of the game while you're drawing. Otherwise any point between
BeginScene and
EndScene is totally fine.