Grundlagen des Gamehackings

Discussion in 'Fragen & Antworten' started by Helios, Jul 2, 2014.

Thread Status:
Not open for further replies.
  1. Helios

    Helios Moderator Staff Member Inventar

    Joined:
    Mar 5, 2013
    Messages:
    141
    Likes Received:
    5
    Da es schon mal mehr oder weniger angesprochen wurde, würde ich hier gerne einen Tutorial/Hilfe Thread starten.
    Sowohl für mich, als auch für andere.

    Zunächst würde ich gerne wissen, wie ihr (erfahrene User: VB Typ, Creeper, Hoschi, SUMan, Skyfail und alle anderen die ich vergessen habe) euch Wissen über das Gamehacken angeeignet habt.
    Ich würde gerne mehr können, als ich gleich schildern werde. Jedoch habe ich mit meinem Wissenstand keinen Anhaltspunkt mit dem ich weiter machen könnte.
    Ich schildere jetzt einfach mal MEIN Problem bzw. Punkte an denen ich nicht weiter komme.

    Soweit, ist es mir durch die tausenden Tutorials und die Hilfe in diversen Foren, möglich geworden mit CE einfache Adressen/Pointer auszulesen und zu beschreiben. Das ganze natürlich auch in einer objektorientierten Programmiersprache (VB).
    Und soweit sind wir nun schon. Ab dort hören die "Lappen"-Tutorials auf.Ich würde gerne so viel mehr über das Reversen wissen, jedoch weiß ich nicht wo ich weiter machen bzw. anfangen soll. Ich würde gerne wissen wie ich z.B. ReClass anwenden kann und Klassen auszulesen und was mir das überhaupt bringt... Oder einfach mal erklären wie man CE erweitert benutzt, ich könnte über 80% nicht nutzen, weil ich nicht weiß was genau mir das jetzt bringt. Ich würde mir gerne einfach erweitertes Wissen aneignen.
    Hier ist ein Punkt, an dem denke ich viele Leute hängen. Wenn ihr Tipps und Tutorials für mich habt, nur her damit. Ich freue mich über jede Antwort, die mir mehr Wissen über das Reversen von Games weitergibt.

    Guten Abend.
     
  2. Skyfail

    Skyfail Administrator Staff Member Administrator Inventar

    Joined:
    Mar 21, 2013
    Messages:
    792
    Likes Received:
    1
    Bei mir ist das mit der Zeit gekommen. Manche Dinge habe ich mir selber beigebracht und andere aus Tutorials etc. Wenn man sich da ein Ziel setzt geht das glaube ich am besten.

    Achja und über C++ habe ich viel durch Cre3per gelernt^^
     
  3. hoschi111

    hoschi111 Administrator Staff Member Administrator

    Joined:
    Dec 19, 2017
    Messages:
    1,148
    Likes Received:
    7
    Schildere uns mal ganz genau, was du für ein Problem hast. Dann hab ich einen greifbaren Ansatz. Zum Beispiel Pointer finden ist gar nicht so schwer, besonders nicht mit dem CE-Debugger.
    ReClass und Co. braucht man meiner Meinung nach gar nicht, da CE seinen eigenen Classmanager hat, aber um das sinnvoll benutzen zu können, musst du schon eine fertige Struct haben.
     
  4. Helios

    Helios Moderator Staff Member Inventar

    Joined:
    Mar 5, 2013
    Messages:
    141
    Likes Received:
    5
    Pointer finden ist in manchen spielen ganz leicht in anderen wiederum nicht. Eine kleine Hilfe würde dafür gut reinpassen.
    Desweiteren was ist eine struct, wie lege ich sie an?
     
  5. hoschi111

    hoschi111 Administrator Staff Member Administrator

    Joined:
    Dec 19, 2017
    Messages:
    1,148
    Likes Received:
    7
    Am Besten kommst du dafür mal auf den TS.
    Eine Struct wird nicht "erstellt" sondern eher nachgebaut. Eine Struct ist vereinfacht gesagt eine Ansammlung von wichtigen Informationen.
    Beispiel:
    Bei fast allen Egoshootern gibt es eine Playerstruct und Radarstruct, wie hier:
    Adresse + 0: Spieler-ID
    Adresse + (Datentypgröße vorherige Adresse): Team-ID
    .
    .
    .
    .
    Das wiederholt sich für jeden Spieler:
    Spieler 2:
    Adresse Spieler 1 + (Gesamtgröße Struct * 1)
    Spieler 3:
    Adresse Spieler 1 + (Gesamtgröße Struct * 2)


    So sind Structs aufgebaut.
     
  6. Helios

    Helios Moderator Staff Member Inventar

    Joined:
    Mar 5, 2013
    Messages:
    141
    Likes Received:
    5
    Ok ab wann seid ihr heute aufm TS ?
     
  7. hoschi111

    hoschi111 Administrator Staff Member Administrator

    Joined:
    Dec 19, 2017
    Messages:
    1,148
    Likes Received:
    7
    Ca. 15 Uhr ;)
     
  8. VBTyp

    VBTyp Addicted Member Inventar

    Joined:
    Apr 16, 2013
    Messages:
    431
    Likes Received:
    1
    Viele lernen aus Tutorials, gibt auch viele gute, aber nach den einfachsten Grundlagen solltest du wirklich damit aufhören und dirs lieber selber beibringen. Das kostet Anfangs mehr Zeit, aber im Nachhinein ersparst du dir einiges. Auf jeden Fall solltest du mit C++ anfangen und dich in ASM (umyhacker auf YT hat dazu ein paar gute Videos gemacht) einarbeiten, sonst wirst du im weiterführenden Gamehacking nicht weiterkommen. Außerdem solltest du dir den Hauptgedanken des Gamehackings verinnerlichen: Alles ist möglich!
    Nur weil einer, mehrere oder sogar alle sagen, etwas könnte nicht realisiert werden, muss das nicht stimmen und vielleicht bist du ja der, der ihnen das Gegenteil beweist ;)
     
  9. Helios

    Helios Moderator Staff Member Inventar

    Joined:
    Mar 5, 2013
    Messages:
    141
    Likes Received:
    5
    Okay :)
    ASM ist wichtig, dass weiß ich, aber ist es unbedingt notwendig C++ zu lernen?
    Danke auf jeden Fall schon mal für eure Antworten.
    Ich hab auch den Thread von dir gesehen VB Typ, ich hoffe da kann ich auch noch etwas lernen.
     
  10. Cre3per

    Cre3per Addicted Member Inventar

    Joined:
    Oct 22, 2012
    Messages:
    697
    Likes Received:
    2
    C++ ist meiner Meinung nach wichtiger als ASM. Mit .net kommst du nicht weit
     
  11. hoschi111

    hoschi111 Administrator Staff Member Administrator

    Joined:
    Dec 19, 2017
    Messages:
    1,148
    Likes Received:
    7
    Mit jeder Hochsprache kommt man weit. Vb.Net ist eine hochsprache. Nicht so viel Dünnpfiff reden. xD
     
  12. VBTyp

    VBTyp Addicted Member Inventar

    Joined:
    Apr 16, 2013
    Messages:
    431
    Likes Received:
    1
    Selbst wenn du net in C++ programmieren willst (was du aber leider machen solltest bis microsoft ihn natives vb auf den markt bringen), wirds dir extrem beim reversen helfen
     
  13. Cre3per

    Cre3per Addicted Member Inventar

    Joined:
    Oct 22, 2012
    Messages:
    697
    Likes Received:
    2
    Man mag genauso weit kommen wie mit C++. Aber wenn du mal so weit gehst ist es mit C++ viel einfacher
     
  14. Helios

    Helios Moderator Staff Member Inventar

    Joined:
    Mar 5, 2013
    Messages:
    141
    Likes Received:
    5
    Also ich frag hier jetzt einfach mal, mit Hoffnung es zu verstehen.

    Ich habe einen Opcode, wenn ich ihn per Auto-Assembler und Code-Injection nop-pe, dann veringert sich mein Geld nicht. Aber, wenn ich z.B. möchte , dass mir mehr Geld abgezogen wird, was muss ich dann machen?
    Hier der Opcode:

    movss [ebx+54],xmm1
     
  15. Skyfail

    Skyfail Administrator Staff Member Administrator Inventar

    Joined:
    Mar 21, 2013
    Messages:
    792
    Likes Received:
    1
    Ich weiß gerade ehrlich gesagt nicht, was movss machen soll, aber ich nehme mal an, dass es eine Abwandlung von mov ist.
    Der Wert im Register xmm1 müsste meines Erachtens nach der Wert sein, den du verändern musst. Diese Instruction verschiebt nur den Wert, du musst die Funktion bearbeiten, die xmm1 setzt.
     
  16. hoschi111

    hoschi111 Administrator Staff Member Administrator

    Joined:
    Dec 19, 2017
    Messages:
    1,148
    Likes Received:
    7
    Oder statt dem Register einfach eine Konstante reinhauen :p

    movss steht für move "float", movsd für move double.
     
Thread Status:
Not open for further replies.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.