1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Tutorials

MemoryRead

  • Xenobiologist
  • 21. März 2008 um 19:43
1. offizieller Beitrag
  • Xenobiologist
    Xx_Mega_xX
    Beiträge
    5.792
    • 21. März 2008 um 19:43
    • Offizieller Beitrag
    • #1

    Hi,

    ich habe gerade diesen Codeschnipsel im Forum gefunden. Hat jemand Ahnung wie man am besten die Speicheradressen findet? Tools?

    NEIN, ICH BAUE KEINEN BOT!!!

    [autoit]

    #include<WinAPI.au3>
    #include<Constants.au3>

    [/autoit][autoit][/autoit][autoit]

    If Not ProcessExists("calc.exe") Then Exit ; exit if calculator is not running
    Dim $procHwnd = _WinAPI_OpenProcess($PROCESS_ALL_ACCESS, False, ProcessExists("calc.exe")); get access to read/write/anything the process memory
    If Not $procHwnd Then _Exit("Error while getting process handle!") ; if we didn't get a valid 'access' handle then exit
    Dim $pBuffer = DllStructCreate("byte[256]"), $iRead = 0; create our structure(I assume we won't need to read more than 256 bytes), and iRead which specifies how many bytes where really read.
    _WinAPI_ReadProcessMemory($procHwnd, 0x01014dd4, DllStructGetPtr($pBuffer), 256, $iRead) ; here we read the memory
    If Not $iRead Then _Exit("Error while reading data!"); exit if no data was read
    MsgBox(0, "Data Read:", BinaryToString(Binary(DllStructGetData($pBuffer, 1)), 2)) ; convert the unicode text(as it turned out to be stored as) to normal text and display it

    [/autoit][autoit][/autoit][autoit]

    Func _Exit($s_Msg)
    MsgBox(0, "Error", $s_Msg)
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    Mega

    Scripte & Funktionen

    Das Spiel - Yahtzee(Mega)
    LoginWrapper
    Organize Includes

    • Nächster offizieller Beitrag
  • BugFix
    aka McBarby
    Reaktionen
    7
    Beiträge
    11.162
    • 21. März 2008 um 19:49
    • Offizieller Beitrag
    • #2

    Mit Ollydbg öffnen?

    MfG BugFix

    Mein Git | Meine UDF | Array-Tutorial | Bit-Tutorial | Dll-Tutorial | RegExp-Beispiel

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • Xenobiologist
    Xx_Mega_xX
    Beiträge
    5.792
    • 21. März 2008 um 20:01
    • Offizieller Beitrag
    • #3

    Werde ich mal testen. Danke!

    Ich habe was gelesen von ArtMoney und CheatEngine.

    Mega

    Scripte & Funktionen

    Das Spiel - Yahtzee(Mega)
    LoginWrapper
    Organize Includes

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • Fast2
    Beiträge
    478
    • 21. März 2008 um 20:11
    • #4

    CheatEngine :thumbup:
    Ich nutze sie und bin damit sehr zufrieden. Ich habe noch nicht alle Funktionen getestet und brauchen können (Ich bin im Tutorial an der Erstellung eines Funktionfähigen Pointers gescheitert, was aber eher auf eigene Dummheit zurückzuführen ist ;) )
    Und sie ist auch sonst sehr mächtig, in den Optionen kann man API-Hooks aktivieren, die eseinem erlauben z.B. alle Arbeitsspeicherzugriffe abzufangen oder Festplattenzugriffe. Desweiteren kann man sich auch Zugriff auf den Kernel verschaffen.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • akira2012
    Fortgeschrittener
    Beiträge
    250
    • 22. März 2008 um 01:00
    • #5
    Zitat von Xenobiologist

    NEIN, ICH BAUE KEINEN BOT!!!

    Sagen Sie das nicht alle... xD
    Aber könntest du den unwissenden mal erklären was man mit sowas machen kann? o_O

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • BugFix
    aka McBarby
    Reaktionen
    7
    Beiträge
    11.162
    • 22. März 2008 um 08:44
    • Offizieller Beitrag
    • #6
    Zitat

    Aber könntest du den unwissenden mal erklären was man mit sowas machen kann?


    Ich bin mal so frei und antworte dadrauf :)
    Da als Bsp. calc.exe angeführt war, verwende ich das gleich mal.
    Möchtest du den Calculator benutzen ohne die Werte mit Send oder ControlCommand an das Programm zu übergeben, kannst du direkt in die verwendeten Speicherregister schreiben bzw. auch von dort lesen.
    Du kannst auch auf diese Art Daten aus anderen Programmen auslesen. Wenn z.B. ein Festplattentool in einem bestimmten Register die Festplattentemperatur ablegt, kannst du somit dadrauf zugreifen.

    MfG BugFix

    Mein Git | Meine UDF | Array-Tutorial | Bit-Tutorial | Dll-Tutorial | RegExp-Beispiel

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • Xenobiologist
    Xx_Mega_xX
    Beiträge
    5.792
    • 22. März 2008 um 11:41
    • Offizieller Beitrag
    • #7

    Für diejenigen die Bots bauen wollen. Die Schwierigkeit besteht darin die richtige Stelle zum Auslesen zu finden. Spiele benutzen oft mehrere und oder variable Speicheradressen.

    Ich habe auch ein weiteres Skript erfolgreich ausprobiert. Hiermit können sich Autoitskripte Werte über den Speicher austauschen.

    Mega

    Scripte & Funktionen

    Das Spiel - Yahtzee(Mega)
    LoginWrapper
    Organize Includes

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • akira2012
    Fortgeschrittener
    Beiträge
    250
    • 22. März 2008 um 13:03
    • #8

    Also ich begreife es zwar noch nicht so ganz aber es klingt mehr als nützlich. Aber kann ich dann das Programm benutzen ohne es auszuführen oder was bringt es mir sonst die Werte direkt aus dem Speicher zu lesen? oO Oder ist es "nur" dafür das Programm zu nutzen ohne die Benutzeroberfläche?

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • Xenobiologist
    Xx_Mega_xX
    Beiträge
    5.792
    • 22. März 2008 um 13:48
    • Offizieller Beitrag
    • #9

    Nein, so wie du dir Dinge zu merken auf einen Zettel schreibst, schreiben sich Programme Dinge in den Speicher. Hier können diese sehr schnell aktualisiert und angepaßt werden. Der Klassiker für Bots wäre zu gucken, wo steht im Speicher wieviel Geld ich habe und dann die Zahl zu verändern.

    Naja, und sowas würde ich ausprobieren mit dem Taschenrechner von Windows, oder meinetwegen auch mit einem Spiel, aber eben nicht WOW oder sowas!!!

    Mega

    Scripte & Funktionen

    Das Spiel - Yahtzee(Mega)
    LoginWrapper
    Organize Includes

    • Vorheriger offizieller Beitrag
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™