Wenn ich hier jetzt JNZ auf JE setze dann hab ich meinen Wallhack aktiviert.
Ok mit WriteProcessMemory eben die Opcodes anpassen kriege ich auch hin.
Aber das seltsame ist, sobald ich mein CSS neu starte finde ich die Adresse 600982EC nicht mehr wieder (mit OllyDebugger versucht die Adresse wieder zufinden).
Der ASM Code den ich oben gepostet habe ist laut OllyDebugger in der client.dll zu finden.
Immer wenn ich CSS neustarte dann gibt mir Cheat Engine auch immer ein neues Offset aus (an den Offsets steht dann z.b. mov [esi+30],ecx) ok esi+30 ist ein Pointer das leuchtet mir ja ein das der sich immer ändern kann.
Aber wenn mov [esi+30],ecx z.b. an Offset XY steht dann gehe ich davon aus das mov [esi+30],ecx auch noch an Offset XY steht wenn ich CSS neustarte.
Wenn ich hier jetzt JNZ auf JE setze dann hab ich meinen Wallhack aktiviert.
vac ban incoming.^^
bin mir nicht sicher, ob ich dich richtig verstehe, aber die funktion wird relativ zur client.dll sein.
also z.b. client.dll + 0x??????...
zeigt ce normalerweise im code fenster an.
Immer wenn ich CSS neustarte dann gibt mir Cheat Engine auch immer ein neues Offset aus (an den Offsets steht dann z.b. mov [esi+30],ecx) ok esi+30 ist ein Pointer das leuchtet mir ja ein das der sich immer ändern kann.
Das einzige Offset das ich hier sehe ist +0x30. Register+x ist kein Zeiger, das nennt sich Addition.
Quote:
Originally Posted by Asul on frenzy
Aber wenn mov [esi+30],ecx z.b. an Offset XY steht dann gehe ich davon aus das mov [esi+30],ecx auch noch an Offset XY steht wenn ich CSS neustarte.
Quote:
When you assume, you make an ass out of u and me.
Quote:
Originally Posted by Dr. Coxxy
vac ban incoming.^^
Als ich das letzte Mal in CS:S rumgepatcht habe hat VAC das nicht interessiert. Ist allerdings schon einige Jährchen her.
Quote:
Originally Posted by Dr. Coxxy
die funktion wird relativ zur client.dll sein.
Sehr wahrscheinlich, kann mir nicht vorstellen dass Valve jetzt schon bei jedem Start Opcodes verschiebt.
bin mir nicht sicher, ob ich dich richtig verstehe, aber die funktion wird relativ zur client.dll sein.
also z.b. client.dll + 0x??????...
zeigt ce normalerweise im code fenster an.
client.dll + 0x
Wo finde ich so etwas in ce O_o.
Ich hab mal ein anderes Programm in ce geladen.
Aber irgendwie sowas wie ... +0x finde ich dort nicht. Der Code den man auf dem Screenshot sieht ist aus der STLP45.DLL
Oder weiss jemand ob es da eine Zufallsfunktion gibt die sagt:
Wenn Zufallszahl = 1 prüfe Offset AB
Wenn Zufallszahl = 2 prüfe Offset CD
und so weiter.
Das sich ein Programm so verhält habe ich bisher noch nicht gesehen.
Und nochmal kurz zu VAC. (Mir egal ob das VAC proof ist oder nicht, es gibt auch Server ohne VAC auf anderen teste ich das sowieso nicht.)
Aber irgendwie sowas wie ... +0x finde ich dort nicht. Der Code den man auf dem Screenshot sieht ist aus der STLP45.DLL
Oder weiss jemand ob es da eine Zufallsfunktion gibt die sagt:
Wenn Zufallszahl = 1 prüfe Offset AB
Wenn Zufallszahl = 2 prüfe Offset CD
und so weiter.
Das sich ein Programm so verhält habe ich bisher noch nicht gesehen.
Und nochmal kurz zu VAC. (Mir egal ob das VAC proof ist oder nicht, es gibt auch Server ohne VAC auf anderen teste ich das sowieso nicht.)
Bibliotheken werden nicht immer an die selbe Stelle geladen.
Adresse des Opcodes - Base Adresse der client.dll = Offset
Base Adresse der client.dll + Offset = Adresse des Opcodes
Bitte hör auf den Begriff "Offset" als Synonym für Adresse zu benutzen.
Wenn Zufallszahl = 1 prüfe Offset AB
Wenn Zufallszahl = 2 prüfe Offset CD
Bitte hör auf den Begriff "Offset" als Synonym für Adresse zu benutzen.
Stimmt das ließt sich als würde ich das meinen, aber so meinte ich das nicht.^^
Ich schau mal ob ich mir ein Programm schreiben kann was einfache Muster in DLL bzw. PE Dateien findet. So schwer sollte das ja nicht sein ...
Danke für eure Hilfe, falls ich es net hinbekomme melde ich mich nochmal.
( Ich nehme auch gerne Tipps an wie man es besser oder leichter lösen kann. )
Stimmt das ließt sich als würde ich das meinen, aber so meinte ich das nicht.^^
Ich schau mal ob ich mir ein Programm schreiben kann was einfache Muster in DLL bzw. PE Dateien findet. So schwer sollte das ja nicht sein ...
Danke für eure Hilfe, falls ich es net hinbekomme melde ich mich nochmal.
( Ich nehme auch gerne Tipps an wie man es besser oder leichter lösen kann. )
Ich hab mir gerade mal deine Formeln nochmal angeschaut und da ist mir eingefallen das ich sowas schon mal rausgetüfftelt hatte.
So langsam komme ich der Sache näher:
var=611e0000
var + 382F0 = Wallhack Offset JNZ änderen in JE schon hat man den Wallhack
Das Problem ist das var nicht jedes mal 611e0000 also müsste ich noch irgendwie auslesen an welche Stelle die Adresse gemappt wird. Es ist ja immer zufällig daher wird man es denke ich nicht so einfach berechnen können.
Das steht wohl nicht zufällig irgendwo im PEB oder?^^
[Bevor jetzt wieder wer mit Offset bla bla Adresse anfängt das was im OllyDbg ganz links steht (die linke Spalte) das nennt man Offset. Falls wer anderer Meinung ist ok aber vielleicht können wir es hier Offset nennen sonst bin ich ]
Was genau willst du eigentlich noch erklärt haben? Du berechnest die Entfernung des Opcodes von der .dll Base, holst dir vorm Patchen die base und addierst die Entfernung. Ich kann's noch zwanzig mal wiederholen, klarer wird's nicht werden.
Das ist nicht "meine Meinung" zu der Definition des Begriffes Offset. Das ist die Definition. Eine andere gibt es nicht. Und nein, Ollys linke Spalte zeigt Adressen, keine Offsets. Ich nenne Elefanten auch nicht Giraffen nur weil's für dich einfacher ist.
Vielleicht solltest du mal das in seinem Zitat lesen.
Er versucht dir nun schon seit einer Seite zu erklären, dass die Dll wohl immer an eine andere Stelle im Speicher geladen wird.
Offsets innerhalb des Moduls sind aber konstant, also hol dir das Offset von der Dll Base zum Opcode (Rechnung hat er geposted, wobei man da mit Grundschullogik auch drauf kommt) und halte es in deinem Code fest.
Bevor du irgendwas patchst, holst du dir die Dll Base mit GetModuleHandle (Das Handle ist äquivalent zur Base Adresse) und addierst dieses Offset wieder, dann hast du die Adresse deines Pointers und kannst von da weiter rechnen.
Ich hoffe, nun ist es verständlich.
Gerade Cheat Engine nimmt einem die Vorarbeit eigentlich ab, normalerweise stehen Adressen da immer im Format ModulName+Offset, außer, man fügt die Adresse selbst hinzu, du solltest also direkt das Offset sehen und den Modulnamen hast du dann auch und kannst ihn GetModuleHandle übergeben.
Meistens ist es das Main Module, welches oft die Base 0x400000 hat, weshalb man sich die Rechnung auch oft sparen kann. Bei Dlls sieht das auch mal anders aus.
Counter-Strike Source Wallhack 12/28/2011 - Counter-Strike Hacks, Bots, Cheats & Exploits - 7 Replies Hey Leute :)
Ich stelle euch hier meinen Wallhack zu Verfügung es ist ein ganz normaler Wallhack er ist undetected allerdings ist er nicht mehr undetected, wenn ein neues Steam Update raus kommt sollte eins raus kommen meldet euch bei mir und ihr bekommt einen neuen.
Wallhack: Pic-Upload.de - CSS-Wallhack.png
Im Spiel: Pic-Upload.de - Im-Spiel.png
Mit freundlichen Grüssen s0Nny