[How To]Einen Hack Programmieren !

04/23/2010 00:35 schnewin#1
Hey Leute,
hier möchte ich euch gerne mal erklären, wie man einen Hack schreibt.

Der Anfang
Aller Anfang ist schwer....
Als erstes müsst ihr euch eine Programmiersprache aussuchen, die euch Spaß macht und leicht für euch ist. Es gibt sehr viele Programmiersprachen. Ich werde jetzt mal die Bekanntesten auflisten.
-C
-C++
-C#
-Java
-Pascal
-Delphi
-Visual Basic (Real Basic)
-AutoIT
-Assembler
-Python
-J#
-SQL
usw.
Eine Liste mit allen Programmiersprachen findet man Hier.

Welche Programmiersprache soll ich benutzten??


Welche Programmiersprache für dich gut bzw. einfach ist, du musst dich selber mal darüber informieren und gucken, welche dir am meisten Spaß macht und für dich am einfachsten ist. Wenn du Spaß an der Sache findest und du die weiter vertiefen willst, sprich Beruflich später machen willst, dann empfehle ich dir eine der C Sprachen, Java oder halt Html(textbasierte Auszeichnungssprache) oder Php(Scriptsprache) für die Webseiten Programmierung.
Natürlich kann man auch andere Sprachen nehmen, aber wie gesagt ist eure Sache.
Aber schnuppert einfach mal in alle Sprachen rein und guckt welche euch am besten gefällt.
Programmieren ist genau wie Mathe, Englisch oder Deutsch, man lernt es nicht sofort in dem man sich "mal eben" damit beschäftigt, sondern sich reinhängen muss und man lernt nie aus! Es gibt immer was, was man dazu lernen kann. ;)
Für mich zählt AutoIT nicht als Programmiersprache sondern als Scriptsprache. Man kann zwar mit AutoIT viele Sachen machen, aber im gegensatz zu C, C++, C# oder Java ist AutoIT ein Furz.
Wovon ich dir persönlich abrate ist ASM und C (Auch als Maschinensprache bekannt). C wird meist für die Hardware Programmierung benutzt und die meisten Cracks von Spielen wurden in ASM geschrieben bzw. bearbeitet. Und ich würde sagen, das ASM die schwerste Programmiersprache ist.
Ein Beispiel von ASM das berühmte Hello World Programm.

In C++ sieht dieses einfacher aus.

AutoIT

C#

Java

Visual Basic

Python

Delphi

Kleines Programm Beispiel, für ein C# Hack.


Wenn man 0 Ahnung hat vom Programmieren, dann sollte man zur Skriptsprache AutoIT greifen und damit Anfangen zu Programmieren, um überhaupt den Syntax und die Programmierung an sich zu lernen. Aber eigentlich ist es egal mit welcher Sprache ihr anfangt.

Programmieren


So das war jetzt genug Theorie, jetzt an die Praxis.
Ich werde hier in zwei Programmiersprachen bzw. Skriptsprachen eingehen. Einmal C++ und AutoIT (Sehr einfach für Einsteiger).

Als erstes die Download Link.
Für AutoIT empfehle ich das [Only registered and activated users can see links. Click Here To Register...] zu downloaden.
Außerdem sollte man sich die Deutsche Hilfedatei herunterladen, darin sind alle AutoIT Befehle erklärt + Beispiele [Only registered and activated users can see links. Click Here To Register...].

Für C++ ist das [Only registered and activated users can see links. Click Here To Register...] ausreichend oder wenn man für Visual C# und Visual Basic unbedingt compilieren will [Only registered and activated users can see links. Click Here To Register...].

Fangen wir an. :D

Wir fangen mit AutoIT an.

Wir erstellen erstmal einen handle, damit unser Hack das 4Story Fenster finden. Wenn es nicht gefunden wird, erscheint eine MessageBox mit den Hinweis, "Das 4Story Fenster konnte nicht gefunden werden!!".
Code:
$handle = WinGetHandle("4Story", "")
If @error Then
    MsgBox(4096, "Fehler", "Das 4Story Fenster konnte nicht gefunden werden")
Else
So hätten wir das erstmal fertig. :D

Jetzt erstellen wir eine Funktion, die sagt, Wenn ich F1 drücke, dann soll er einen bestimmten Tastendruck an das 4Story Fenster schicken.
Code:
HotKeySet ("^{F1}", "start")

Func start()
WinWaitActive ("4Story")
SendKeepActive("[CLASS:4Story]")
Send("{TAB}")
Send("{F1}")
Send("z")
EndFunc
So unsere kleine Funktion wartet bis 4Story aktiv ist und sendet an das 4Story Fenster die Tastenkombination "Tab, F1 und dann Z".
Also Ingame sucht er nach einem Monster (Mit Tab), greift mit F1 an und lootet das Monster mit Z. Wenn man F1 drückt. Jetzt gibt es noch die Möglichkeit mit PixelSearch kleine Bots zu programmieren.
Aber wir wollen ja was größeres machen.

Wie kann ich eine bestimmte Adresse mit AutoIT beschreiben??
Diese Antwort werde ich euch jetzt geben.
als erstes müsst ihr
Code:
#include <NoMadMemory.au3>
inkludieren.
Quote:
$ID = WinGetProcess("4Story")
$process = _MemoryOpen($ID)
Hier speichern wir den Prozess 4Story in die $ID Variable ab.
Jetzt können wir den Befehl "MemoryWrite" benutzten.
Code:
_MemoryWrite(0x0254569, $prcoess, 100)
Hiermit beschrieben wir die Adresse "0254569", von dem Prozess 4Story, mit dem Wert "100".
Gesamte Code
Code:
#include <NoMadMemory.au3>
$ID = WinGetProcess("4Story")
$process = _MemoryOpen($ID)
_MemoryWrite(0x0254569, $prcoess, 100)
Ein gutes Tutorial dazu ist [Only registered and activated users can see links. Click Here To Register...] zu finden.
So das war der kleine Einblick in die Skriptsprache AutoIT und Gamehacking. Ich hoffe es hat euch gefallen. Es gibt natürlich andere und effizientere Möglichkeiten. Nur kann ich AutoIT nicht und wollte euch nur ein paar kleine Beispiele zeigen.
Wem die Sprache gefällt, gibt es noch ein paar gute Tutorials.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Kommen wir zu dem C++ Tutorial.

Code:
#include <windows.h>
#include <iostream>
using namespace std;

    HWND hwnd;
    hwnd = FindWindow(0,L"4Story");
    HANDLE hStdOut;
    hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    DWORD Id;
    HANDLE ProcessHandle;

int main()
{
    
    if(!hwnd)
    {
        SetConsoleTextAttribute(hStdOut, FOREGROUND_RED | FOREGROUND_INTENSITY);

        cout << "4Story wurde nicht gefunden!!...." << endl;

        

    }
    else
    {
        SetConsoleTextAttribute(hStdOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY);

        cout << "4Story gefunden!! :D" << endl;
        cout << "Fensterhandle: " << hwnd << endl;

        GetWindowThreadProcessId(hwnd,&Id);
        cout << "ProcessID: " << Id << endl;

        ProcessHandle = OpenProcess(PROCESS_VM_WRITE |PROCESS_VM_OPERATION ,false, Id);
        cout << "ProcessHandle: " << ProcessHandle << endl;
ALs erstes Definieren wir unsere Variablen und legen mit FindWindow den Namen unseres Fenster fest("4Story").
WICHTIG!! Wir müssen uns unbedingt Das Fensterhandle (mit hwnd), die ProcessID (GetWindowThreadProcessId(hwnd,&Id) (Wird in die Variable &Id gespeichert) und den ProcessHandle (ProcessHandle = OpenProcess(PROCESS_VM_WRITE |PROCESS_VM_OPERATION ,false, Id);)
damit wir mit WriteProcessMemory arbeiten können.
Danach fragen wir mit einer If und Else abfrage ab, ob das Fenster 4Story gefunden wurde ich nicht. Wenn nicht gibt er uns aus "4Story nicht gefunden!!....".
Jetzt fällt uns "SetConsoleTextAttribute(hStdOut, FOREGROUND_RED | FOREGROUND_INTENSITY);"
auf, was bewirkt es??
Das ist dafür gut, das die Schriftfarbe unserer Konsole geändert wird, in unseren Fall in Rot.
Wenn 4Story gefunden wurde, soll er das Fensterhandle, die Processid und das Processhandle ausgeben.

Kommen wir zum WriteProcessMemory.

Code:
WriteProcessMemory(ProcessHandle,(LPVOID)address2,&value,sizeof(int),NULL);
Jetzt müssen wir noch 2 Variablen definieren, damit unser WPM weiß, welche Adresse er beschreiben soll und mit welchem Wert.

Code:
address2 = 0x0254566;
value = 100;

WriteProcessMemory(ProcessHandle,(LPVOID)address2,&value,sizeof(int),NULL);
So nun beschreiben wir mithilfe von WPM die Adresse 0254566, von dem ProcessHandle, mit dem Wert 100.

Der Gesamte Code.

Code:
#include <windows.h>
#include <iostream>
using namespace std;

    HWND hwnd;
    hwnd = FindWindow(0,L"4Story");
    HANDLE hStdOut;
    hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    DWORD Id;
    HANDLE ProcessHandle;


int main()
{
    
    if(!hwnd)//Nach dem 4Story Fenster suchen.
    {
        SetConsoleTextAttribute(hStdOut, FOREGROUND_RED | FOREGROUND_INTENSITY);

        cout << "4Story wurde nicht gefunden!!...." << endl;

        

    }
    else
    {
        SetConsoleTextAttribute(hStdOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY);

        cout << "4Story gefunden!! :D" << endl;
        cout << "Fensterhandle: " << hwnd << endl;

        GetWindowThreadProcessId(hwnd,&Id);
        cout << "ProcessID: " << Id << endl;

        ProcessHandle = OpenProcess(PROCESS_VM_WRITE |PROCESS_VM_OPERATION ,false, Id);
        cout << "ProcessHandle: " << ProcessHandle << endl;
        WriteProcessMemory(ProcessHandle,(LPVOID)address2,&value,sizeof(int),NULL);
Ich hoffe der kleine Einblick in C++ und Gamehacking hat euch gefallen.
Wem es Interessiert noch ein paar Tutorials und gute Links.

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

WEITERE PROGRAMMIERSPRACHEN WERDEN FOLGEN!! :D
Ich hoffe dieser kleiner Einblick gefällt euch. Es gibt bessere Methoden, aber mir egal.
Ich werde den Thread immer weiter bearbeiten, damit viele zum programmieren "angestiftet" werden und so der Bereich etwas aktiver wird.

MFG
04/23/2010 07:18 eliass123#2
Ein sehr dickes Thanks an dich.
Somit ermöglichst du vielen aus unserer Community ihr "inneres Talent" zu finden ^^.
04/23/2010 09:20 Superx321#3
Ein thx für die Mühe ;)

Fehlt eig. nur noch jemand in der Section hier, der einen RICHTIGEN bypass Coden kann... ;)
04/23/2010 11:01 schnewin#4
Danke euch. :D

Leider beherrsche ich keine Programmiersprache gut und habe 0 Ahnung, wie man einen Bypass codet. :D
Ich muss mal gucken,, ob ich irgendwo ansätze findet wie man einen Bypass schreiben könnte....

Was heute noch kommt ist,
-Hallo Welt Beispiele in Java, C# und Visual Basic.
-Vielleicht Gamehacking mit C#.

MFG
04/23/2010 12:50 Krakatoas#5
Ich hatte mich hier damals nur angemeldet damit ich expo_botters alten Hack benutzen (Thankschecker) kann. (Was auch den dummen Username erklärt. Aber er gefällt mir irgendwie. Habe nur gemerkt das Krakataua, also der Vulkan, ohne R am Ende geschrieben worden ist. :'D Naja, wenn meine Infraction weg ist lass ich ihn ändern. :D

Jetzt habt ihr alle mich dazu gebracht mich mit dieser "Hackmaterie" auseinaderzusetzen. Werde mich ein bisschen mehr damit beschäftigen und hoffe dieser Thread kann mir helfen. Alleine schon wegen der Mühe ein Thanks. :-3
04/23/2010 13:36 Mattthias#6
#reported cause: Wrong Section --> Gibt ne E*PVP Coders Section, da wär es angebracht !



EDIT:

Mit AutoIt kann man auch alles machen :)

Alle wege führen nach Rom, man brauch nur eine Karte (die programmierlogik)

Wer es nicht glaubt, es gibt genügend AutoIt Spiele + Programme die das beweisen:

Pokemon,
Mario,
Doodle Jump (really) <-- Für PC
uvm
04/23/2010 14:12 No Hawx#7
Ah ja, und mit deinem Tutorial soll man jetzt Hacks programmieren :facepalm:
-Fail- !
04/23/2010 14:57 Mattthias#8
KekzCracker :D

Das tut ist für LV 1 Pointer

Und man sollte etwas mehr ahnung haben, als nur den quelltext zu kopieren :D
04/23/2010 15:22 schnewin#9
1. Ist das ein kleiner Einblick, wie man mit den Programmiersprachen einen hack schrieben könnte!
Und was ist daran 'fail'? Wenn man keine Ahnung hat einfach mal die Fresse halten!
Du hast doch überhaupt keine Ahnung von Programmieren oder sonst etwas.

Und was für Quelltexte zsm kopieren? o.o
Ich habe von AutoIT keine Ahnung, nur die Anfangssachen ein bisschen.
Aber für Leute, die so etwas gerne Anfangen wollen, und eine Sprache gefunden hat, welche einen Interessiert, kann man einen kleinen Einblick in die Hack Programmierung kriegen. Und der C++ Code ist von mir. o.o

Und alle die was gegen meinem Thread haben, die sollen mir eine PN schreiben und hier nicht alles voll Spamen.

MFG

Edit: Wer hat den Thread verschoben? o.o Für diesen Bereich ist der nicht optimal! Beim nächsten mal soll der Mod mir Bescheid sagen.
In meinen Auge gehört das hier nicht rein, ist viel zu schlecht dafür. o.o
04/23/2010 21:18 MrSm!th#10
Ganz nett, aber bitte fasse C, C++ und C# nicht einfach lieblos als C Sprachen zusammen.
C und C++ haben unterschiedliche Prinzipien und C# ist wieder was ganz anderes, auch wenn sie sich alle stark in der Syntax ähneln.
04/24/2010 16:01 schnewin#11
Oh, ist natürlich ein fieser Fehler von mir. X.x

#Update:
- Fehler behoben.
- 4 Programmiersprachen Beispiele hinzugefügt.
- Java
- Visual Basic
- Python
- Delphi

#Push :D

Weitere Updates werden kommen, wenn ich Zeit habe.

MFG
04/24/2010 16:36 Christai#12
Quote:
Originally Posted by schnewin View Post
Oh, ist natürlich ein fieser Fehler von mir. X.x

#Update:
- Fehler behoben.
- 4 Programmiersprachen Beispiele hinzugefügt.
- Java
- Visual Basic
- Python
- Delphi

#Push :D

Weitere Updates werden kommen, wenn ich Zeit habe.

MFG
wie geht das:Wir erstellen erstmal einen handle, damit unser Hack das 4Story Fenster finden. Wenn es nicht gefunden wird, erscheint eine MessageBox mit den Hinweis, "Das 4Story Fenster konnte nicht gefunden werden!!".

BITTE UM ANTWORT!!!!
04/24/2010 17:25 schnewin#13
Steht doch da drunter. 0o
PHP Code:
$handle WinGetHandle("4Story""")
If @
error Then
    MsgBox
(4096"Fehler""Das 4Story Fenster konnte nicht gefunden werden")
EndIf 
MFG
04/25/2010 08:55 xunit#14
Quote:
Originally Posted by schnewin View Post
Steht doch da drunter. 0o
PHP Code:
$handle WinGetHandle("4Story""")
If @
error Then
    MsgBox
(4096"Fehler""Das 4Story Fenster konnte nicht gefunden werden")
Else 
MFG
ne ebnt nicht

Wenn er nur den handle testen will muss es so sein :p

PHP Code:
$handle WinGetHandle("4Story""")
If @
error Then
    MsgBox
(4096"Fehler""Das 4Story Fenster konnte nicht gefunden werden")
EndIf 
Else schliest das Skript ja nicht ab^^

(nicht das ich davon Ahnung habe aber habe wegen dem Post auch mal mit rumgespielt^^)
04/25/2010 10:25 Jay Niize#15
ich finde das TuT wirklich gut und ausführlich!
Wenn du soweiter machst kanns noch sticky werden, denn ich ↓
#vote4sticky