sv_cheat bypass with autoit

06/24/2009 01:15 NixIs#1
Hi, das habe ich vor ein paar Tagen als Tutorial geschrieben und dachte poste mal hier rein. Das ist ein CSS Hack. Evenuell müsst ihr Pointer anpassen. Bei mir hat sich das einmal verändert. Statt Array byte hab ich hier 4byte genenommen. Weil memory include das nicht untestützt(glaub ich).

Hi, I've wrote this few days - one week ago as Tutorial and would show you it's possible for CSS too :D. May you have to search yourself for the pointer. One time I got changes in same day. This is not with array byte it's in
4byte. Because the memory include does not support it (i think, but i tried it).
PHP Code:
#RequireAdmin
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <String.au3>
#include <Array.au3>
#include <NomadMemory.au3>
SetPrivilege("SeDebugPrivilege"1

Opt("TrayMenuMode",1)
$Form1 GUICreate("CSS sv_cheats bypass by NixIs alias MaZy"130108203124)
;
////$Label1 = GUICtrlCreateLabel("", 25, 33, 100, 28)
GUISetBkColor(0x9DB9EB)
$cb1 GUICtrlCreateCheckbox("sv_cheat bypass"101010018)
$cb2 GUICtrlCreateCheckbox("r_drawothermodels"105010018)
GUICtrlSetState(-1$GUI_DISABLE)
$cb3 GUICtrlCreateCheckbox("mat_wireframe"107010018)
GUICtrlSetState(-1$GUI_DISABLE)
GUISetState(@SW_SHOW)
TraySetClick("9")
TrayCreateItem("Made by NixIs aka MaZy")
TrayCreateItem("")
$tbeenden TrayCreateItem("Beenden")
Opt("TrayMenuMode",1)

;
////Variable setzen für adresse $cb1 = checbox _ma = memory adress
Global $cb1_ma 0x2051F724 ;//sv_cheats
Global $cb2_ma 0x243AEC3C ;//r_drawothermodels
Global $cb3_ma 0x204F035C ;//mat_wireframe



;//Memory Editing TEIL als Funktion
func setmemory($adresse$value)
$window "hl2.exe"


$Open _memoryopen(ProcessExists($window))
$write _MemoryWrite($Adresse$Open$value'dword')
EndFunc


While 1
    $nMsg 
GUIGetMsg()
        Switch 
$nMsg
            
Case $GUI_EVENT_CLOSE
                Msgbox
(0,"Made by NixIs aka MaZy"" CSS sv_cheats bypass" & @CRLF "       Made by NixIs aka MaZy")
                Exit
            Case 
$cb1 ;//Ist sv_cheats aktiv?
                
If BitAND(GUICtrlRead($cb1), $GUI_CHECKEDThen
                    setmemory
($cb1_ma1)
                    
GUICtrlSetState($cb2$GUI_ENABLE)
                    
GUICtrlSetState($cb3$GUI_ENABLE)

                Else ;
//wenn nicht aktiv werden alle hacken rausgenommen und alles auf standard gesetzt.
                    
setmemory($cb1_ma0)
                    
setmemory($cb2_ma1)
                    
setmemory($cb3_ma0)
                    
GUICtrlSetState($cb2$GUI_UNCHECKED)
                    
GUICtrlSetState($cb3$GUI_UNCHECKED)
                    
GUICtrlSetState($cb2$GUI_DISABLE)
                    
GUICtrlSetState($cb3$GUI_DISABLE)
                EndIf
            Case 
$cb2
                
If BitAND(GUICtrlRead($cb2), $GUI_CHECKEDThen
                    setmemory
($cb2_ma2)
                Else
                    
setmemory($cb2_ma1)
                EndIf                
            Case 
$cb3
                
If BitAND(GUICtrlRead($cb3), $GUI_CHECKEDThen
                    setmemory
($cb3_ma2)
                Else
                    
setmemory($cb3_ma0)
                EndIf                
        EndSwitch

    
$tmsg TrayGetMsg() ;// ist der befehl für das traymenü
        
Switch $tmsg
            
Case $tbeenden
                Msgbox
(0,"Made by NixIs aka MaZy"" CSS sv_cheats bypass" & @CRLF "       Made by NixIs aka MaZy")
                Exit
        EndSwitch
WEnd 
You can remove my name ofcourse
06/24/2009 01:50 schlurmann#2
Das ist dumm. Patche den richtigen conditional jump, dann hast du 1. sofern das Spiel nicht geupdatet wird eine statische Adress (Module Base + XXXXX) und 2. nicht so eine hohe Belastung des Rechners durch solche Schleifenspielchen.

Deine Formulierungen offenbaren übrigens, dass du in keinster Weise eine Ahnung hast wovon du überhaupt redest.

Don't be hatin'.
06/24/2009 03:10 __wadim#3
wozu wird das ganze jetzt in autoit gemacht? gibt doch schon genug solcher sv bypass'es und ausserdem würde das viel sauberer gehen oO
06/24/2009 20:54 NixIs#4
Quote:
Originally Posted by schlurmann View Post
Das ist dumm. Patche den richtigen conditional jump, dann hast du 1. sofern das Spiel nicht geupdatet wird eine statische Adress (Module Base + XXXXX) und 2. nicht so eine hohe Belastung des Rechners durch solche Schleifenspielchen.

Deine Formulierungen offenbaren übrigens, dass du in keinster Weise eine Ahnung hast wovon du überhaupt redest.

Don't be hatin'.
Das ist keine While schleife. Guck mal richtig. Es wird nur was geschrieben wenn
PHP Code:
$nMsg GUIGetMsg()
Switch 
$nMsg 
eintrifft. Und daher tut es nicht unendlich male. Also ist schon alles cool :D

Außerdem teste oder rechechiere oder verstehe einfach allgemein was die Codes so tun bevor du wie du hier antwortest. Verfolge mal das System mit Assambler. Du wirst sehen das ist das gleiche effect. xor wird zu mov. und?? ich hab statt bytes 4byte gesendet. Hast du schon C++ code gesehen? Da läuft das patchen genauso ab. Nur das sie array bytes nehmen. Damit sie überblickt haben wenn sie den opcodes sehen(gemeint ist wieder finden). Und wie schon geschrieben habe ich das aber nicht mit AutoIT hinbekommen, auch weil ich keine lust hatte, habe ich dann den Pointer zu 4byte ungewandelt per Cheat Engine(type ändern) und hab es so realisiert. Also ich will nicht sagen das vielleicht keine Ahnung hast aber hier hast du mal richtig reingeschrissen.
Man kann mit Auto it sogar ein bereich nopen. 90 array byte einfach. Ein Beispiel:
90 Array Byte sind 9460368 4byte. Das einmal schreiben. Fertig gepatched

Wenn du meinst ein Client so patchen das meine eine .exe Datei neu erstellt. Das mach ich nie und werd auch net. Nicht bei Online sachen.

@__wadim
Aus langeweile? ^^ Auch um manchen zu Zeigen das es auch geht. Ich schreibe mit C++(Aber bin Total der noob) und AutoIT. Und mich nervt es total wenn jemand der C++ ganz gut kann und mir versucht zu sagen mit AutoIT kann man das nicht. Dann find ich es, aber gut, dass man es zeigen kann, dass es doch geht. Zwar ist dieser Script voll kleinigkeit aber es gibt auch größere Projekte.
06/25/2009 01:05 schlurmann#5
Code:
While 1
:rolleyes:?

Ich bin nicht mit AutoIT vertraut, aber für mich sieht der Code aus, als würdest du die Werte in einer Schleife permanent schreiben, und dies ist dumm.

Zu deinem weiteren Text kann ich nichts sagen, du schreibst wie ein 8 Jähriges Grundschulkind und ich kann da beim besten Willen keinen Sinn finden.

Quote:
xor wird zu mov
???

Quote:
ich hab statt bytes 4byte gesendet
???

Quote:
Hast du schon C++ code gesehen?
Warum schreibst du in AutoIT, wenn du doch anscheinend C beherrschst? ;)

Quote:
Pointer zu 4byte ungewandelt per Cheat Engine
'Scuse me?

Quote:
Also ich will nicht sagen das vielleicht keine Ahnung hast aber hier hast du mal richtig reingeschrissen
Mach dich bitte nicht lächerlich.

Quote:
90 Array Byte sind 9460368 4byte. Das einmal schreiben. Fertig gepatched
What the shit?

Quote:
Wenn du meinst ein Client so patchen das meine eine .exe Datei neu erstellt. Das mach ich nie und werd auch net. Nicht bei Online sachen.
Ich glaube du solltest dich generell mal über Speicher und Windows PE Files informieren. ;)
06/25/2009 17:37 __wadim#6
das is ja ma hart, was einige hier so schreiben!
06/25/2009 18:33 RDTSC#7
Supertolles 'ProofOfConcept' :P
Ist schon klar, dass das geht, also wäre soetwas nicht nötig gewesen.

Es kotzt aber total an, dass heutzutage jeder kleine Pisser mit so einem scheiß MemoryHack ankommt.
Diese Spasten verhunzen das ganze Spiel.

Einerseits muss ich schlurmann zustimmen... der Text von NixIs ergibt < 0 Sinn...
Andererseits kann ich aber keine wirklichen Schwachstellen im Skript finden.
07/08/2009 14:10 NixIs#8
Also kommt das nur mir so vor oder ist das so. Jeder der versucht mich runterzumachen wird gebannt lol.

@schlur

Bist zwar gebannt, aber eine antwort kriegst du trotzdem.
Du hast selbst zugegeben, dass du kaum AutoIT verstehst, aber sagst, dass ich in meinen Skript unendliche While Schleife habe. Natürlich. Eine While Schleife lass mein GUI am Leben sonst würde es sich beenden. Das selbe effekt hat man in WINDOWS API auch und das ist gar nicht dumm!! Wie schon erklärt ist drinne ein Switch funktion genauso wie in Windows API!!!.. einfach erklärt, die Klicks von mir auf der GUI wahrnimmt und sie entsprechend verwaltet.

Ja du hast recht. Meine Deutschkenntnisse sind leider meine schwächen. Ich bin selbst ein Ausländer, aber ich bin bei Ausländern auch aufgewachsen und hatte dort gar keine deutsche Freunde, weil da auch kaum welche gewohnt haben. Ich konnte bist erste Klasse fasst kein Deutsch und sohat sich das dann entwickelt. Ich verstehe zwar die meisten grammatische Teile, wie Kommas setzen Groß- und Kleinschreiben, aber die meisten auch nicht. Aber auch kein Wunder. Wenn ich mal welche Frage egal Lehrer oder Freunde.. ich kriege nur dasselbe antwort. "Man kann es einfach". Wenn ich zum Beispiel die Frage stelle wie: Wann erkenne ich, wann man "dem" oder "den" benutzen muss.

Zu C++. Ja ich beherrsch ein wenig. Aber beherrschen heißt nicht gleich das man alles perfekt hinbekommt. C++ ist nur ein Weg, wo man was drauf bauen kann sprich: Ein Programm, Erweiterung, Hacks aber um das zu schaffen braucht man nochmal andere Kenntnisse. Beispiel Memory Hacken. Kernel32.dll kennen lernen. GUIs erstellen? Windows API. Malen? DirectX oder OpenGL. Und nebenbei: Wo habe ich denn geschrieben, dass ich es beherrsche? Außerdem habe ich das gemacht, weil ich in ************* unterwegs bin. Und dort Tutorials schreibe die etwas mit C++, etwas mit AutoIT bot und Assambles zu tun hat. Aber vorallem gehts mir darum Leuten zu zeigen die immer sagen "Mit Autoit geht so etwas nicht, aber mit c++ schon".

Quote:
'Scuse me
Dazu kein Kommentar.
Quote:
Mach dich bitte nicht lächerlich.
Auch dazu kein Kommentar :mofo:
Quote:
What the shit?
: Die sich damit auskennen wissen was das heißen und gemeint sein soll.

Alles cool? :cool:

Ich finde es echt schade, wenn man was erklärt und etwas zeigen will gleich welche mit sprüchen ankommen "das ist kacke, was ist das". Das ist auch der Grund, wieso ich mich von dieser Forum langsam entferne. Da will man was gutes tun dann so etwas :D. Aber ich chill :bandit:. Dieser Forum ist sehr gut nur die meisten Kiddies versauen es.
07/08/2009 18:11 link#9
Btw. der Sh!t ist seit 2k5 public...

Ach, "dem" ist Dativ und "den" ist Akkusativ ;-)

Im Dativ stehen meistens indirekte Objekte und man fragt mit 'Wem?' danach:
"Ich gebe dem lustigen Lurch ein Geschenk." -> "Wem gebe ich ein Geschenk?":
"Dem lustigen Lurch (gebe ich ein Geschenk)."

Im Akkusativ stehen meistens direkte Objekte und man fragt mit 'Wen/Was?' danach:
"Ich gebe dem Lurch ein voll kewles Geschenk" -> "Wen oder Was (Da 'Geschenk' neutral ist, lautet die korrekte Frage 'Was?') gebe ich dem Lurch?":
"Ein voll kewles Geschenk (gebe ich dem Lurch)."