Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 04:18

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

Advertisement



Trainer Modul!?

Discussion on Trainer Modul!? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Trainer Modul!?

Hallo.
Ich bin dringend auf eure hilfe angewiesen
Ich schreibe zurzeit Testweise einen Trainer für Stronghold.
Den Pointer des Goldes habe ich bereits gefunden.
Screen (wichtig):


1. Sehe ich richtig?

Die "Pointer" Adresse ist "Stronghold Crusader.exe"+009292A4.
009292A4 + Offset 15c ergibt den Pointer?
(Alle anderen Adressen auf dem Screen ändern sicher immer nach einem neustart, also kann es ja nur 009292A4 sein.)

2. Ich finde zurzeit kein anständiges Autoit Tutorial bzw. Code Snippet für einen Trainer. Ich finde nur einen haufen S4League Tuts (Snippets), wo aber überall ohne Offset gecodet wird. Habt ihr da ein geeignetes?

Gruß
Acin™ is offline  
Old 05/16/2013, 20:55   #2
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
Entweder du hast dich ziemlich ungenau ausgedrückt, oder du hast nicht wirklich verstanden, wie ein Pointer funktioniert.
Pseudocode:
Code:
BaseModule = "Stronghold Crusader.exe"
BaseOffset = 0x9292A4
BaseAddress = _MemoryModuleGetBaseAddress(BaseModule) + BaseOffset // = "Stronghold Crusader.exe"+009292A4

Offset = 0x15C
Gold_Address = read(BaseAddress) + Offset // = 0x116BB74 + 15C = 0x116BCD0
Gold_Value = read(Gold_Address) // = 999
read(x) gibt dabei immer den Wert zurück, der an der Speicheradresse x steht.
Die entsprechenden Adressen und den entsprechenden Wert habe ich als Kommentar daneben geschrieben.

Natürlich kann man das auch weniger ausführlich aufschreiben und zusammenfassen zu:
Code:
Gold_Address = read(_MemoryModuleGetBaseAddress("Stronghold Crusader.exe")+009292A4)+0x15C
Gold_Value = read(Gold_Address)
-STORM- is offline  
Old 05/16/2013, 21:05   #3
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Danke dir.
Dies ist nur die auslese funktion, wie würde dann eine zum schreiben aussehen?
Bzw. wird NomadMemory bei deinem Code gebraucht?
Ich habe nicht vor AutoIT zu lernen, deswegen kenne ich mich nicht richtig aus

Gruß
Acin™ is offline  
Old 05/16/2013, 21:28   #4
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
Statt read(x) kannst du die MemoryRead Funktion der NomadMemory.au3 verwenden.
Dabei müssen natürlich die entsprechenden Parameter übergeben werden. Das sind neben der Adresse als erstem Parameter noch das ProcessHandle als Zweiter und der Datentyp in Form eines Strings als dritter. Allerdings ist der Datentyp als Default bereits dword bzw. 4byte, was bei Gold passen sollte.
Code:
_MemoryRead($iv_Address, $ah_Handle, $sv_Type = 'dword')
Analog dazu kannst du den Wert ändern mit:
Code:
_MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')
Dabei kommt $v_Data dazu, also der Wert, den du an die Adresse schreiben willst.
Das Handle wird von _MemoryOpen($PID) zurückgegeben, wobei $PID von ProcessExists("NameDesProzesses") zurückgegeben wird.

In AutoIt:
Code:
$PID = ProcessExists("Stronghold Crusader.exe")
$ah_Handle = MemoryOpen($PID)

$BaseAddress = _MemoryModuleGetBaseAddress($PID, "Stronghold Crusader.exe") + 0x9292A4
$Gold_Address = _MemoryRead($BaseAddress, $ah_Handle) +0x15C

;// GoldWert auslesen
$Gold_Value = _MemoryRead($Gold_Address, $ah_Handle)
;// GoldWert auf 99999 schreiben
_MemoryWrite($Gold_Address, $ah_Handle, 99999)
AutoIt wirst du allerdings lernen müssen. Diesen Code kannst du als Beispiel verwenden, aber zu einem Trainer gehört deutlich mehr.
-STORM- is offline  
Old 05/17/2013, 13:57   #5
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Wie ich schon sagte, habe ich Keine große Ahnung von AutoIT.
Doch wie ich deine Codes nun einbinde, ist mir noch unklar.
Ich würde mich über ein kleines fertiges Trainer script freuen.
(Mit dem Beispiel "Gold").
Wenn du möchtest, kannst du dafür mein e*g Haben.

Gruß
Acin™ is offline  
Old 05/17/2013, 14:08   #6
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
Quote:
Originally Posted by -Rainbow View Post
Den Pointer des Goldes habe ich bereits gefunden.
Die "Pointer" Adresse ist "Stronghold Crusader.exe"+009292A4.
009292A4 + Offset 15c ergibt den Pointer?
(Alle anderen Adressen auf dem Screen ändern sicher immer nach einem neustart, also kann es ja nur 009292A4 sein.)
In dem Spiel ist die Gold Adresse statisch und kein Pointer!

0x00D61208 (v.1.1)


Eine Frage zu CE:



Wie kann ich dort die Adresse exportieren?

Wenn ich Rechtsklick -> Kopieren mache, kommt so was dabei raus:
<Address>"Name.exe"+961208</Address>

Ich möchte aber die Darstellung so wie oben im Bild, geht das?

MfG
Achat is offline  
Old 05/17/2013, 14:17   #7
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
Quote:
Originally Posted by Achat View Post
Ich möchte aber die Darstellung so wie oben im Bild, geht das?
Das Bild im ersten Post stammt aus CE 6.2.
Da wurde die Ansicht Change Address, zu der du durch Doppelklick auf die Adresse/den Pointer kommst, überarbeitet.

@Rainbow: Was versprichst du dir überhaupt von dem Trainer? Solange du nur ein paar Werte verändern willst, brauchst du doch nichts weiter als CE.
-STORM- is offline  
Old 05/17/2013, 14:29   #8
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Quote:
Originally Posted by -STORM- View Post
Das Bild im ersten Post stammt aus CE 6.2.
Da wurde die Ansicht Change Address, zu der du durch Doppelklick auf die Adresse/den Pointer kommst, überarbeitet.

@Rainbow: Was versprichst du dir überhaupt von dem Trainer? Solange du nur ein paar Werte verändern willst, brauchst du doch nichts weiter als CE.
Diesen Trainer werde ich als Grundgerüst für alle Spiele benutzen.

Quote:
Originally Posted by Achat View Post
In dem Spiel ist die Gold Adresse statisch und kein Pointer!

0x00D61208 (v.1.1)


MfG
Das heisst...?
Acin™ is offline  
Old 05/17/2013, 20:39   #9
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
Quote:
Originally Posted by -Rainbow View Post
Wie ich schon sagte, habe ich Keine große Ahnung von AutoIT.
Doch wie ich deine Codes nun einbinde, ist mir noch unklar.
Ich würde mich über ein kleines fertiges Trainer script freuen.
(Mit dem Beispiel "Gold").
Wenn du möchtest, kannst du dafür mein e*g Haben.

Gruß
Für eGold würde ich dir das wohl machen, aber ehrlich gesagt glaube ich nicht, dass dir der Trainer viel bringt, wenn du den Source nicht verstehst.
-STORM- is offline  
Old 05/17/2013, 20:57   #10
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Alles klar, 64 e*g biete ich.
Den Source werde ich schon verstehen.
Ich habe nicht vor, außer den Trainern noch was anderes in dieser Sprache zu machen.

Gruß
Acin™ is offline  
Old 05/18/2013, 16:59   #11
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
Ok, hab dir jetzt mal nen kleinen Trainer zusammengebaut. So sieht er aus:

Soweit in Ordnung?
Bin bis 18 Uhr erstmal noch on.
Wenn du mir bis dann das eGold schickst, kriegst du den Source (compilen kannst du ja selbst, oder?) direkt.
Ansonsten kannst du auch nen MM suchen, dann dauert es halt etwas länger.
-STORM- is offline  
Old 05/18/2013, 17:32   #12
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
#Gesendet.

Sieht okay aus.
Ich habe es sogar schon selbst gelöst, meins war aber ****, da ich kein Offsets hinzufügen konnte.

Gruß
Acin™ is offline  
Thanks
1 User
Old 05/18/2013, 17:37   #13
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
So, die PN mit dem Source ist raus.
Falls etwas nicht richtig funktioniert, einfach melden.
Eigentlich sollte alles gehen, aber da ich das Spiel nicht zum Testen habe, sind Bugs nicht auszuschließen.

Edit: Die Bewertung für die Transaktion hab ich auch abgegeben.
-STORM- is offline  
Reply


Similar Threads Similar Threads
[asm] modul base
05/28/2012 - General Coding - 1 Replies
ich versuche grade, an die base adresse einer dll zur kommen! ich kann allerdings kein GetModuleHandle verwenden, da das ganze mit meinem crypter zu tun hat. strings sind auch schlecht möglich zu verwenden. ich bräuchte etwas in die richtung, wie es auch mit der process base geht: mov eax, fs: mov eax, ; process base so könnte ich dann zur runtime die ganzen adressen berechnen, relocations kann ich leider auch nicht verwenden, da die auch (möglichst) entfernt werden sollen jemand...
Wp Modul Opera Help
06/08/2011 - DarkOrbit - 7 Replies
Hello, I use Opera, but I can not work in Opera Wp Modules Please Please help me Mozilla Freezes Opera Pluing None Not Working
Gm modul?
07/17/2009 - Metin2 Private Server - 3 Replies
Hey leute... Gibt es eigentlich ein GMmodul zur eingabe von Values? Weil die normalen benutzer können das ja nicht benutzen... Aber da die Pserverfiles ja langsam PUB sind könnte ja evtl. das GMmodul in diesen sachen stecken... Weiss jemand bescheid darüber? Mfg
Public Modul
01/27/2008 - WarRock - 5 Replies
Hi kann irgentjemand wieder mal ein public modul für visual basic 6.0 hier rein schicken ? Ich wäre sehr dankbar :D



All times are GMT +2. The time now is 04:18.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.