Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 09:02

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AutoIt3 Memory Verändern/Beeinflussen

Discussion on AutoIt3 Memory Verändern/Beeinflussen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
BlackRide's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 30
Received Thanks: 9
Post AutoIt3 Memory Verändern/Beeinflussen

Hallo erstmal.
Heute wollte ich euch zeigen wie man Memory eines anderen Programmes
beeinflussen/verändern kann.
Erstmal muss man die .rar Datei downloaden die ich Angehängt habe.
In der .rar Datei sind enthalten: NomadMemory.au3(da sind die befehle inhalten die man braucht für die Memory veränderung aber dazu später), NomadMemory Anleitung.txt (Darin steht wo man die NomadMemory.au3 Datei hintuhen soll)

-1.Download
Man downloadet die NomadMemory.rar Datei die ich hier Angehängt.

-2.Entpacken und in AutoIt3 zu includen
Man entpackt die .rar Datei und tut die NomadMemory.au3 Datei in
C:/Programme/AutoIt3/Include/ rein.
Die .txt Datei kann man löschen. Darin steht wo man die .au3 genau
hintuhen soll.

Einfache Benutzung
Beispiel:
PHP Code:
#include <NomadMemory.au3> ;Hier wird die "NomandMemory.au3" eingebunden
#RequireAdmin  ;Für VistaUser. Dieses Programm könnte evtl. Adminrechte benötigen

$Den_gewuenschten_Stand_eingeben InputBox ("Vorlage für Memory Beeinflussen/Verändern","Geben Sie ihre gewünschte Punktemenge an");Hier erscheint die Textbox wo man dann den gewünschten Punktestand(oder anderesreinschreiben kann
$open 
_MemoryOpen (ProcessExists("Beispielprogramm.exe")) ;Hier wird eine Variable entworfen die überprüft ob die "Beispielprogramm.exe" gerade ausgeführt wird
$adresse1 
0x333333 ;Hier ist eine Variable die die adresse (Hexbeinhaltet.(Diese Addresse wird in Zeile 22 verändert)
$adresse2 0x444444 ;(genauso wie in Zeile 18)Dies ist evlt die 2. Adresse die verändert werden muss damit der Punktestand(oder anderesentgültig verändert wird. (Es können auch mehr als nur 2 Addressen geben)


_MemoryWrite $addresse1$open$Den_gewuenschten_Stand_eingeben"dword");Hier wird die $adresse1  verändert.MemoryWrite =(deutschSpeicherschreiben(in dem Fall den Speicher umschreiben). Hier wird auch überprüft ob die "Beispiel.exe" ausgeführt wird"dword" 4Byte (also ein 4byte scan)
_MemoryWrite $addresse2$open$Den_gewuenschten_Stand_eingeben"dword");Alles genauso wie in der vorigen Zeile nur das hier die $adresse2 umgeschrieben/verändert wird

Das war ein Algemeines Beispiel
Jetzt folgt ein Beispiel:

PHP Code:
#include <NomadMemory.au3>
#RequireAdmin

While Not ProcessExists("pinball.exe")
Sleep (500)
MsgBox (0,"PinballHack by BlackRide","Öffnen Sie bitte die pinball.exe")
Exit
WEnd
WinActive 
("pinball.exe")

$input InputBox "PinballHack by BlackRide""Geben Sie den gewünschten Punktestand an (max. 400.000.000 Punkte)")
Switch 
$input
Case 0 To 400000000
Case Else
Sleep (250)
MsgBox (0"PinballHack by BlackRide""Ihre gewünschte Punktzahl ist zu hoch/ Ihre gewünschte Punktezahl beinhaltet Buchstaben oder andere Zeichen")            
    
Sleep (500)
    
MsgBox (0,"PinballHack by BlackRide","!!Dieser Hack wird nun beendet!!")
    
Sleep (100)
    Exit
        EndSwitch
        
$open _memoryopen (ProcessExists ("pinball.exe"))

$address1 = *******
$address2 = *******

_MemoryWrite ($address1$open$input"dword" )
_MemoryWrite ($address2$open$input"dword" )
Sleep (500)
MsgBox (0,"PinballHack by BlackRide","Die Punkte wurden erfolgreich gesetzt"
Kurze Erklärung:

Also max. kann man 400000000 eingeben.
Das hab ich mit Switch und Case gemacht.
Wenn man einen Buchstaben, andere Zeichen oder eine zu große Summe(außer Zahlen) eingibt tritt "CaseElse" ein und es erscheint eine Msgbox und benachricht uns das wir keine (oder zu große)Zahlen eingegeben haben.
Danach werden wir benachrichtigt das das Script geschlossen wird.
Dann wird das Script geschlossen.

Zu den Variablen $address1 und $address2
Da muss man nun z.B. mit CE Pinball auslesen und die Adressen die für die Punkte verantwortlich sind finden.
Dann muss man die Adresse die man gefunden hat in einer Variable abspeichern. Man wird merken das etwas nicht stimmt.
Das liegt daran das AutoIt diese Art von Hex nicht kennt.
z.B. die Adresse würde so lauten: 00AC3B8C
Dann müsste man die zweite null in ein "x" umschreiben damit das dann so aussieht: 0xAC3B8C
Dann müsste es gehen.
Für den Punktestand können auch 2 oder mehr Adressen verantwortlich sein.
Den Rest hab ich im ersten Beispiel schon erklärt.

Benutzung mit Pointer


Jetzt kommen wir zu den Pointern.
Die gibt es oft in OnlineGames wie z.B. Metin2.
Pointer Tutorial(Cheat Engine) (Bei Problemen, lest euch trotzdem erst einmal alles durch bevor ihr postet, danke)
Als erstes solltet ihr wissen, dass es 2 verschiedene Arten von Memory Adressen gibt, statische-Adressen(sich (so gut wie nie) ändernde memory adressen) und DMA-Adressen(Dynamic Memory Allocations; ändern sich (meist) nach neustart des Spieles)
Pointer(=Eng. Zeiger) sind nichts anders als statische Adressen, die die DMA adressen mit ihren value's(Die werte des memory codes, z.b. bei 100 life 100) versorgen.

Da man meist als erstes DMA adressen findet, lässt sich daraus kein vernünftiges script zusammen stellen, da diese sich nach neustart des spiels ändern und man sie neu suchen muss . Also sucht man die Pointer und arbeitet mit dem .. Wie Nun, es gibt verschiedene Wege einen Pointer zu finden, doch ich erkläre euch die beiden gängigsten wege :

Als erstes braucht ihr schon das nötige Vorwissen über das finden von memory Adressen(kriegt man überall, wo es internet gibt)
Nun braucht ihr eine DMA Adresse dessen Pointer ihr finden wollt , und als nächstes etwas Zeit um euch durch dieses tutorial zu lesen

Ich verwende als Beispiel ein Egoshooter bei dem ich den DMA code der Muntition (30 Patronen) habe.
Der erste Weg den Pointer zu finden:
Wir mache Rechtsklick auf meine Munitions-Adresse und wähle "Find out what writes to this Adress" aus. In dem Fall, dass ein Popup-Fenster kommt, bestätigen wir es mit Ja und erhalten danach ein Neues fenster. Nun drücken wir Alt+Tab, gehen wieder ins spiel, feuern einen Schuss ab (der Wert muss sich auf irgenteine weise verändern) und Alt+Tabbn wieder zu cheat engine zurück. Jetzt müsste Cheat Engine etwas gefunden haben. Wir makieren diese Adresse mit einem einfachem linksklick und klicken dann auf "More Information".


Der rote Code(die jämmerlig makierte 2 ) ist übrigens die Stelle an der unser Wert vom Spiel in dem gefundenen Memory Code abgeändert wird.

Doch was wir brauchen ist die mit der ebenfalls jämmerligen 1 makierte Hex von dem Satz "The value of the Pointer needed to find this address is probably". Dies heißt, dass der Wert(Value) unseres gesuchten Pointers die eben genannte hex ist.
Das finden wir natürlich klasse , und suchen mit einem 4Byte scan, Exact value und nem häckchen bei Hex, nach dieser Value. Wir haben nun eine Adresse im suchfenster oder mit pech mehrere 100 (keine Sorge, meist sind es 1-3 )

Diese fügen wir nun der Adressliste hinzu und klicken auf "Add Address manually" . Nun machen wir ein Häckchen bei Pointer und geben den Adresse Code(nicht die Value!) der ersten Memory Adresse von den eben hinzugefügten ein.Nun auch das Offset( Offset , das Offset muss man sich wie einen Wegweiser von DMA adressen zu deren Pointern vorstellen. ) welches sich in dem "More Information" Fenster von vorhin in dem mit der 2 makiertem teil befindet. Dort versteckt es sich in dem Teil der am ende in den klammern steht(pic: [eax+08]) und ist in diesem Falle "08" ohne die " " . (bei unverständlichkeit dieses Teils gebt bitte bescheid)

Klickt nun auf OK und der Pointer sollte sich in eurer Liste befinden, wenn nicht, ist es endweder ein Multilevel Pointer oder es gibt keinen Statischen Pointer und man muss codeinjection mit einbringen.

Der zweite gängige Weg den Pointer zu finden:
Einfach gleich auf die DMA Adresse rechtsklick und "Pointer Scan for this Adresse" auswählen . Danach auf Default und schließlich auf OK drücken(man lässt alles so wie es ist). Nun scanned cheat engine von alleine nach dem Pointer, aber die chance ihn auch zu kriegen ist geringer . Doch hat cheat engine was gefunden, zeigt er das in dem fenster an, man muss nur doppeltklick darauf machen und hat den Pointer in seiner liste .

Habt ihr den Pointer gefunden? Denn ma auf auf an's scripten/hacken, wir sind auf eure Werke gespannt ! Und keine falsche Scheu sie in diesem forum zu posten!

Ich kann nicht garantieren, dass diese beiden Wege euch immer zum ziel bringen, doch tun sie es meistens







Bei unverständlichkeit meiner Erklärungen bitte bei mir melden.

Wenn ich geholfen hab bitte drück den "THX"-Button


MfG BlackRide
BlackRide is offline  
Thanks
4 Users
Old 03/14/2010, 18:27   #2
 
HardCore.1337's Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
Nett geschrieben, wurde hier aber schon sehr oft erklärt.
Bei MemoryWrite muss man am Ende "DWord" nicht angeben, weil es standardmäßig vorhanden ist.

Dann könntest du noch die Funktion von Pointern erklären. Damit werden hier mehr Schwierigkeiten haben
HardCore.1337 is offline  
Old 03/14/2010, 18:38   #3
 
BlackRide's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 30
Received Thanks: 9
Quote:
Originally Posted by General Desert View Post
Nett geschrieben, wurde hier aber schon sehr oft erklärt.
Bei MemoryWrite muss man am Ende "DWord" nicht angeben, weil es standardmäßig vorhanden ist.

Dann könntest du noch die Funktion von Pointern erklären. Damit werden hier mehr Schwierigkeiten haben
Erstmal Danke
Ja dann werd ich noch die Pointer erklären und werde auch zeigen wie man die mit CE findet.
Dann mal an die Arbeit
BlackRide is offline  
Old 03/14/2010, 19:10   #4
 
epiTR's Avatar
 
elite*gold: 185
Join Date: May 2008
Posts: 3,646
Received Thanks: 603
Es wäre n1, wenn du erklärst wie es in einem richtigen Spiel mit den Pointern + Offsets geht ;-) Wäre dir da echt dankbar!
epiTR is offline  
Old 03/14/2010, 19:57   #5
 
BlackRide's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 30
Received Thanks: 9
Quote:
Originally Posted by dasr2142 View Post
Es wäre n1, wenn du erklärst wie es in einem richtigen Spiel mit den Pointern + Offsets geht ;-) Wäre dir da echt dankbar!
Schon gemacht

Wenn ich helfen konnte bitte gebt mir ein THX
(durch drücken des THX Buttons^^)
3 THX sind ja jämmerlich.
BlackRide is offline  
Old 03/15/2010, 18:25   #6
 
elite*gold: 0
Join Date: Sep 2009
Posts: 445
Received Thanks: 286
Sry, aber der Teil mit den Pointern ist ein bisschen zu unübersichtlich, finde ich;D
Man weiß halt net genau, welche Adresse man wo angeben soll;D
Mach am besten noch ein Bild rein.
Banana.Crafts is offline  
Old 03/15/2010, 18:29   #7
 
HardCore.1337's Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
Jetzt noch wie man die Pointer in AutoIt einfügt und dann ist perfekt.
Thx griegste trotzdem schonmal
HardCore.1337 is offline  
Old 03/15/2010, 19:24   #8
 
BlackRide's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 30
Received Thanks: 9
Quote:
Originally Posted by KillingBanana View Post
Sry, aber der Teil mit den Pointern ist ein bisschen zu unübersichtlich, finde ich;D
Man weiß halt net genau, welche Adresse man wo angeben soll;D
Mach am besten noch ein Bild rein.
Von wechem Schritt genau soll ich einen Screnn hinzufügen?

Quote:
Originally Posted by General Desert View Post
Jetzt noch wie man die Pointer in AutoIt einfügt und dann ist perfekt.
Thx griegste trotzdem schonmal
Ok dann werd ich auch das noch tun
BlackRide is offline  
Reply

Tags
.au3, autoit3, memory, nomadmemory


Similar Threads Similar Threads
Zufallszahl warscheinlichkeitsbereich beeinflussen.
07/30/2010 - General Coding - 2 Replies
Gehen wir davon aus ich möchte eine Zufallszahl generieren welche innerhalb einer gewissen Zahlenmenge liegt. Innerhalb dieser Zahlenmenge soll aber eine Zahlenmenge sein welche doppelt so häufig auftritt wie die Restmenge, wie bewerkstellige ich dies? Also ich erschaffe eine Zufallszahl zwischen 1 und 4 var x; x = Random(1, 4); So.
Menschen Beeinflussen
12/31/2009 - Off Topic - 23 Replies
Wer gut mit Menschen umgehen und sie beeinflussen kann, kommt schneller ans Ziel. Ob als Teamleiter, Verkäufer oder für die eigene Karriere. Mit dem Prinzip der Gegenseitigkeit können andere Menschen dazu gebracht werden, dass sie nach den eigenen Wünschen handeln. Empathie und soziale Fähigkeiten sind dafür die Voraussetzungen. Einfluss beruht stark auf dem Prinzip der Gegenseitigkeit. Man hat sozusagen gesät, was man erntet. Am besten hält man sich an die goldene Regel, die da heißt:...
Habe eine wichtige frage zu write process memory (packete verändern und zurück senden
10/28/2009 - General Coding - 3 Replies
Hey Leute Habe mal eine wichtige frage. Ihr wisst doch bestimmt das man bei einem Spiel sachen bauen kann z.b eine Waffe für seinen charackter. Ist es möglich mittels write memory process... oder auch anders z.b rohstoffe die man bekommt beliebig die anzahl zu verändern und an den server zurück zu schicken? Ich möchte nur wissen ob es möglich ist, soweit bin ich noch nicht, werde erstmal einfache bots schreiben, die Leben auslesen und paar mobs killen können ^^.
Erweckung beeinflussen?
07/11/2009 - Flyff - 4 Replies
Hallo, ich hoffe ich bin hier im Bereich richtig mit meiner Frage^^ Wenn nicht bitte nicht erschlagen sondern nur einfach in den richtigen Bereich verschieben ^^ Ich suche sowas wie ein Tool womit man dass Erwecken der Waffen und Suits auf nem P-Server beeinflussen kann. Also ein Prog womit ich bestimmen kann wie das Item, welches ich gerade erwecke, erweckt werden soll. Gibt es sowas schon? Ich habe die SuFu genutzt aber nix gefunden. Also bitte keine dummen Antworten wie SuFu...
Mit Dll Injection Memory verändern?
05/09/2007 - General Coding - 7 Replies
Tag... Ich habe mir so überlegt ob man eine Dll schrieben könnte die den Memoryinhalt verändert? Z.b nehmen wir mal Cheatengine und ein Spiel. Nun Suche ich z.b die Ammoadresse wenn ich sie gefunden habe kann ich die Value ja freezen und natürlich ändern. Und dies möchte ich halt ohne die Cheatengine machen halt mit einer Dll. Geht das überhaupt? Und die 2te Frage... Wenn ich jetzt ein Trainer erstellt habe, nun ihn im Game benutze aber dann von Gameguard gekickt werde.



All times are GMT +1. The time now is 09:04.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.