tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
1637
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    Guten tag erstmal

    ich habe mir bisher nur ie zeit mit batch / vbs scripting vertrieben und habe jetzt nach langem überlegen zu Delphi gewechselt

    die entwicklungsumgebund die ich nutze ist Borland Delphi 7 Enterprise

    Die situation ich versuche einen Trainer(Cheatprogramm das automatisch cheats eingibt) für ein spiel zu schreiben
    die normale umgebung habe ich bereits Buttons/Beschriftung/extra dialoge etc.

    da ich aber erst damit begonen habe ...habe ich nun die folgenden fragen:

    1. Wie finde ich das handle eines externen fensters raus
    2. wie sende ich einen textstring an eine externe anwendung
    3.wie finde ich heraus ob das fenster den string weiterverarbeitet
    4.gibt es eine möglichkeit bestimmte "fenster befehele" für bspweise cheatcodes rauszufinden?
    5. wie benutzt man das objekt Tcheackbox?
    Geändert von Nawi0 (03.03.10 um 06:42 Uhr)
     

  2. #2
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Bis auf die letzte Frage sind das eigentlich keine Delphi-Fragen.

    Und eine Komponente TCheackBox kenne ich nicht. Meinst du TCheckBox?
    Diese würdest du in einem Fenster verwenden und könntest über die Eigenschaft
    Checked ermitteln/festlegen, ob die CheckBox gesetzt ist.
    Man kann bspw. im Ereignis OnClick der Checkbox auf das Setzten/Entfernen des Häkchens reagieren. Aber meinst du wirklick TCheckBox?
     

  3. #3
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    Zitat Zitat von vop Beitrag anzeigen
    Bis auf die letzte Frage sind das eigentlich keine Delphi-Fragen.

    Und eine Komponente TCheackBox kenne ich nicht. Meinst du TCheckBox?
    Diese würdest du in einem Fenster verwenden und könntest über die Eigenschaft
    Checked ermitteln/festlegen, ob die CheckBox gesetzt ist.
    Man kann bspw. im Ereignis OnClick der Checkbox auf das Setzten/Entfernen des Häkchens reagieren. Aber meinst du wirklick TCheckBox?
    erstmal danke für die antwort

    ich denke es sind delphi fragen wenn ich davon ausgehe das ich hier vlt tipps / codes zu lösung meiner fragen in delphi bekomme

    tippfehler ja ich meine Tcheckbox
    das problem hab ich gelöst
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    procedure TForm1.CheckBox1Click(Sender: TObject);
    const
    a = 'a';
    b = 'b';
    begin
    if checkbox1.Checked then showmessage(a) else
    showmessage(b);
    end;

    so gehts
    nun noch den rest ...
    Geändert von Nawi0 (10.03.10 um 13:40 Uhr)
     

  4. #4
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    weis keiner oder will mir einfach nur keiner sagen? ...-.- :S
     

  5. #5
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Vermutlich hat keiner deine Fragen richtig verstanden.

    Zeige doch einfach mal an Beispielen, was du bereits probiert hast und erläutere etwas genauer, was du eigentlich vor hast.

    Gruß vop
     

  6. #6
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    Zitat Zitat von vop Beitrag anzeigen
    Vermutlich hat keiner deine Fragen richtig verstanden.

    Zeige doch einfach mal an Beispielen, was du bereits probiert hast und erläutere etwas genauer, was du eigentlich vor hast.

    Gruß vop
    eben das ist das problem ich habe in der borland hilfe nix gefunden mit dem ich klar komme....
    ich hatte auch einiges versucht naja ziemlich erfolglos

    wie gesagt ich schreibe noch nicht sehr lange......

    nun also nochmal eine genauere erklärung

    ich versuche:

    das handle einer externen anwendung ( starcraft )herauszufinden ;

    dann mit dem ausgelesenen handle einen cheat code Z.b.: Show me the money
    zu übermitteln und zu hoffen das es irgendwie klappt ;

    das is eigentlich schon der ganze zauber aber da ich ein anfänger bin hab ich keine ahnung wie ich das anstellen soll und die hilfe von dem programm find ich nich besonders hilfreich da es dort keine erklärung zu den begriffen gibt oder sie genauso kompliziert sind wie die begriffe selber ._.-

    erm naja das is das was ich bis jetz habe die sorce kann ich auch schicken das aber nur via pm
     

  7. #7
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Nach meinem Verständnis kannst du nicht einfach einem laufenden Programm einen Code unterschieben, wenn das Programm nicht eine Schnittstelle dafür vorgesehen hat.

    Du könntest lediglich, wie andere Cheat-Programme auch, Speicheradressen manipulieren. Das ist aber kein Delphi-Problem. Leider kann ich dir hier auch nicht weiter helfen.
    Stattdessen müsstest du dich mal intensiver mit anderen Cheatprogrammen befassen....
     

  8. #8
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    Zitat Zitat von vop Beitrag anzeigen
    Nach meinem Verständnis kannst du nicht einfach einem laufenden Programm einen Code unterschieben, wenn das Programm nicht eine Schnittstelle dafür vorgesehen hat.

    Du könntest lediglich, wie andere Cheat-Programme auch, Speicheradressen manipulieren. Das ist aber kein Delphi-Problem. Leider kann ich dir hier auch nicht weiter helfen.
    Stattdessen müsstest du dich mal intensiver mit anderen Cheatprogrammen befassen....
    danke für die info aber wie komme ich an die source von einem anderen cheat programm ran?
     

  9. #9
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Garnicht.

    Das Prinzip wurde ja schon genannt: Zuerst hast du zB 1234 Geld, suchst im Speicherbereich vom Spiel nach dieser Zahl und findest so heraus, an welcher Adresse die Geldvariable ist.
    Wenn du das hast, kannst du auf diese Adresse andere Werte schreiben und so deine Geldmenge verändern
     

  10. #10
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    Zitat Zitat von sheel Beitrag anzeigen
    Garnicht.

    Das Prinzip wurde ja schon genannt: Zuerst hast du zB 1234 Geld, suchst im Speicherbereich vom Spiel nach dieser Zahl und findest so heraus, an welcher Adresse die Geldvariable ist.
    Wenn du das hast, kannst du auf diese Adresse andere Werte schreiben und so deine Geldmenge verändern

    ich fühl mich grad bisl hilflos lol wie komm ich an den speicerberreich ran?

    wie gesagt ich mach das noch net lange und auch ohen eine richtige anleitung *learning by doing*

    sry for N*obing around =/
    Geändert von Nawi0 (18.03.10 um 09:43 Uhr)
     

  11. #11
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Schau mal hier
    http://www.delphi-library.de/topic_S...n_34077,0.html
    Delphi 7 und Starcraft...hehe

    Der Code ist zwar nicht ganz fehlerfrei, aber als Anhaltspunkt, welche Funktionen man braucht wie man sie verwendet usw. kann man ihn wahrscheinlich schon brauchen
     

  12. #12
    Nawi0 Nawi0 ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    71
    Zitat Zitat von sheel Beitrag anzeigen
    Schau mal hier
    http://www.delphi-library.de/topic_S...n_34077,0.html
    Delphi 7 und Starcraft...hehe

    Der Code ist zwar nicht ganz fehlerfrei, aber als Anhaltspunkt, welche Funktionen man braucht wie man sie verwendet usw. kann man ihn wahrscheinlich schon brauchen

    Ersmal danke für den Link ich hab das mal durchgelesen und ausprobiert und weis jetzt durch dich das ich das wohl eher mit den Ram Adressen machen sollte der Hacken an der Sache is das die Links Tot sind und ich das Beispiel getestet hab.....
    Aber es passiert Ingame absolut rein gar nix xD
    Tsearch findet den Process leider nicht.
    Also habe ich Artmoney verwendet dieses Programm gibt mir diese Ausgaben:

    Beschreibung:
    Minandern(geändert von Wert 1)
    Adresse:
    0057F10C
    Wert:
    8549
    Typ:
    Ganzzahl 4 Bytes

    Beschreibung:
    Vespändern(geändert von Wert 2)
    Adresse:
    0057F10C
    Wert:
    9524
    Typ:
    Ganzzahl 4 Bytes


    wenn ich diese werte auf 10xxx ändere, bekomme ich ingame die entsprechende zahl mineralien(geld) oder Vespin Gas(auch eine wichtige resource vergleichbar mit geld).

    Nun als nächstes habe ich dias hier versucht :
    Code :
    1
    2
    3
    4
    5
    6
    
        WriteProcessMemory(HandleWindow,ptr($0057F10C5),buf,1,write);              
        WriteProcessMemory(HandleWindow,ptr($0057F10C6),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($0057F10C7),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($0057F10C8),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($0057F10C9),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($0057F10CA),buf,1,write);

    doch leider ohne Erfolg der Uhrsprüngliche Code von dem Link sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    
        WriteProcessMemory(HandleWindow,ptr($401F75),buf,1,write); //es wird der speicher umgeschrieben in der addresse 401F75 und es wird 1 byte geschrieben
        WriteProcessMemory(HandleWindow,ptr($401F76),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($401F77),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($401F78),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($401F79),buf,1,write);
        WriteProcessMemory(HandleWindow,ptr($401F7A),buf,1,write);

    Was mache ich falsch?

    tut mir echt leid das ich hier so rumnerf =/

    ich habe mir vorgenomen am Dienstag den Delphi Workshop besuchen um etwas mehr zu lernen


    #####
    Edit #
    #####

    Art money verfügt leider über keinen debugger und ich kann dies hier nich rausfinden:

    mineralien abziehen : 401F75 mit dem wert 8990A0D44F00
    vespin-gas abziehen : 401F89 mit dem wert 8988D9D44F00
    #####
    End #
    #####
    Geändert von Nawi0 (18.03.10 um 22:28 Uhr)
     

Ähnliche Themen

  1. Access 97, Anfängerhilfe
    Von Anytix im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 20.02.08, 08:44
  2. Anfängerhilfe
    Von Walhalla im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 14.06.04, 07:33
  3. Hilfe in Delphi bitte
    Von Hirntot im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 16.05.03, 20:42
  4. CSS AnfängerHilfe
    Von LordTrikon im Forum CSS
    Antworten: 6
    Letzter Beitrag: 18.10.01, 15:47