Register for your free account! | Forgot your password?

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

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

Advertisement



ASM Befehl überschreiben

Discussion on ASM Befehl überschreiben within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
ASM Befehl überschreiben

Abend,
ich habe folgenden ASM Code in einem Programm den ich gerne durch das darunter stehende ersetzen will:

Orginal:
Code:
JPO client.5957636D
Verändert:
Code:
JMP client.5957636D
Das ganze habe ich wie folgt versucht:

PHP Code:
#RequireAdmin
#include 'Detour.au3'
$Open OpenProcess($PROCESS_ALL_ACCESSFalseProcessExists("test.exe"))
    
$Write WriteProcessMemory($Open0x59575E5E"E9 0A050000")
CloseHandle($Open
Ich verstehe leider noch nicht ganz in welcher form man den ASM Befehl ersetzen muss !? Ich habe hier mal den Hex Code genommen der neben dem Befehl in OllyDBG stand (E9 0A050000) doch bin mir nicht sicher ob das so richtig ist ?
Croco™ is offline  
Thanks
1 User
Old 11/21/2012, 20:10   #2


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,847
mach das ganze doch per nomadmemory

Code:
#include <NomadMemory.au3>

$ProcessID = ProcessWait("test.exe")
$Memoryhandle = _MemoryOpen($ProcessID)
_MemoryWrite(0x59575E5E, $Memoryhandle, "0xE90A050000", "byte[5]")
_MemoryClose($Memoryhandle)
besser wär es jedoch, die letzten 4 bytes der adresse wegzulassen. heißt ich würde es lieber so machen:

Code:
#include <NomadMemory.au3>

$ProcessID = ProcessWait("test.exe")
$Memoryhandle = _MemoryOpen($ProcessID)
_MemoryWrite(0x59575E5E, $Memoryhandle, "0xE9", "byte[1]")
_MemoryClose($Memoryhandle)
K1ramoX is offline  
Thanks
1 User
Old 11/22/2012, 15:05   #3
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Wieso ist es besser die letzten 4 weg zu lassen ?
Croco™ is offline  
Thanks
1 User
Old 11/22/2012, 15:29   #4
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by ©ⓡⓞ©ⓞ View Post
Wieso ist es besser die letzten 4 weg zu lassen ?
Wenn du die 4 Bytes weglässt, funktioniert dein programm auch wenn sich die addresse ändert. Prinzipiell macht es aber keinen so großen Unterschied, weil wenn sich der Code ändert wird sich mit Sicherheit auch die Stelle ändern an der der Code steht.

Btw. du musst den Code wie du oben geschrieben hast einfügen lassen, ja. Prinzipiell is dein Code richtig aber wenn du auf Nummer sicher gehen willst benutze diese UDF:

Und schau dir _MemoryWriteBytes an. Das is genau das was du suchst.
Shadow992 is offline  
Thanks
1 User
Old 11/22/2012, 16:12   #5
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Ich habe gerade nochmal in OllyDBG nach meiner Adresse gesucht und festgestellt das sie sich beim Neustarten des Programmes ändert. Brauche ich nun den Pointer oder wie kann ich mir das vorstellen ?
Croco™ is offline  
Thanks
1 User
Old 11/22/2012, 17:25   #6


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,847
Quote:
Originally Posted by Shadow992 View Post
Wenn du die 4 Bytes weglässt, funktioniert dein programm auch wenn sich die addresse ändert. Prinzipiell macht es aber keinen so großen Unterschied, weil wenn sich der Code ändert wird sich mit Sicherheit auch die Stelle ändern an der der Code steht.
er kann ja nen pattern scan einbauen o:
K1ramoX is offline  
Old 11/22/2012, 19:31   #7
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by K1ramoX View Post
er kann ja nen pattern scan einbauen o:
Was meinste warum ich auf meine UDF verlinkt habe, die ganz zufällig nen Pattern-Scan implementiert hat? ;D

Quote:
Originally Posted by ©ⓡⓞ©ⓞ View Post
Ich habe gerade nochmal in OllyDBG nach meiner Adresse gesucht und festgestellt das sie sich beim Neustarten des Programmes ändert. Brauche ich nun den Pointer oder wie kann ich mir das vorstellen ?
Dafür brauchst du einen Pattern-Scan.
Am besten du googlest mal nach Pattern-Scan tutorials.
Shadow992 is offline  
Old 11/22/2012, 20:06   #8


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,847
Quote:
Originally Posted by Shadow992 View Post
Dafür brauchst du einen Pattern-Scan.
Am besten du googlest mal nach Pattern-Scan tutorials.
pattern scan bei ner dynamischen adresse? dafuq
K1ramoX is offline  
Old 11/22/2012, 20:22   #9
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by K1ramoX View Post
pattern scan bei ner dynamischen adresse? dafuq
Er hat sich undeutlich ausgedrückt.
Entweder er meint die Addresse an der der Code steht, dann ist Pattern-Scan die einzige sinnvolle Möglichkeit.

Oder er meint die Addresse hinter dem JMP-Befehl aber auch dann ist ein Pattern-Scan möglich.

Man scannt einfach bis zum Jump und liest dann per ReadProcessMemory die darauf folgenden Bytes aus und wandelt sie entsprechend in eine Zahl um und schon hat man seine Addresse.

Egal was von beidem es ist, da er bereits die Stelle im Code hat und nicht die Addresse in CE, ist ein Pattern-Scan bei beiden Varianten keineswegs overpowered.
Shadow992 is offline  
Old 11/22/2012, 21:03   #10


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,847
Quote:
Originally Posted by Shadow992 View Post
Er hat sich undeutlich ausgedrückt.
Entweder er meint die Addresse an der der Code steht, dann ist Pattern-Scan die einzige sinnvolle Möglichkeit.

Oder er meint die Addresse hinter dem JMP-Befehl aber auch dann ist ein Pattern-Scan möglich.

Man scannt einfach bis zum Jump und liest dann per ReadProcessMemory die darauf folgenden Bytes aus und wandelt sie entsprechend in eine Zahl um und schon hat man seine Addresse.

Egal was von beidem es ist, da er bereits die Stelle im Code hat und nicht die Addresse in CE, ist ein Pattern-Scan bei beiden Varianten keineswegs overpowered.
er schrieb dass sich die adresse nach jedem game neustart verschiebt. heißt also, dass er nen pointer scan machen muss, was bringt denn ein pattern scan bei einer dynamischen adresse? schon alleine wegen der maske kann das garnit luppen ;o

nochmal zu dem patterscan, er brauch einfach nur ne pattern loggen bis zu dem jmp, will er die addy nach dem jmp rechnet er einfach die addy +4 oder wie viel bytes die addy halt hat
K1ramoX is offline  
Old 11/22/2012, 22:39   #11
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by K1ramoX View Post
er schrieb dass sich die adresse nach jedem game neustart verschiebt. heißt also, dass er nen pointer scan machen muss, was bringt denn ein pattern scan bei einer dynamischen adresse? schon alleine wegen der maske kann das garnit luppen ;o

nochmal zu dem patterscan, er brauch einfach nur ne pattern loggen bis zu dem jmp, will er die addy nach dem jmp rechnet er einfach die addy +4 oder wie viel bytes die addy halt hat
Das ist totaler Quatsch er hat selbst gesagt, dass sich die Addresse in OLLY andauernd verschiebt, das heißt er hat jetzt erst einmal nichts mit Pointern am Hut und wenn es nicht mehr möglich ist einen Befehl über Patter-Scan zu finden, dann ist es erst recht nicht möglich den Pointer dazu zu finden, das kannst du vergessen.

Abgesehen davon scheinst du nicht zu wissen was ein Pattern-Scan bzw. ein Pointer wirklich ist, sonst würdest du merken, dass es möglich ist (und auch mit viel höherer Sicherheit) Pointer ebenso über Pattern-Scan rauszufinden.
Shadow992 is offline  
Old 11/23/2012, 13:53   #12
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Man lernt ja viel wenn Zwei sich streiten ähh diskutieren natürlich.
Ich wollte nochmal kurz eine Frage in den Raum werfen.
Wenn ich jetzt z.B mit CE nach einem Wert suche, und dann die Adresse von diesem in Olly suchen lassen, habe ich dann meine Basis für meinen Pattern Scan ?
(Ich hab mir mal folgendes Tutorial angesehen: )
Croco™ is offline  
Reply


Similar Threads Similar Threads
nexon acc überschreiben
05/31/2012 - WarRock - 4 Replies
hey leute also ich will mein acc überschreiben wennj ich bei nexon auf die seite geh und will den putch runterladen dann muss ich mich einloggen ja das mach ich auch und dann kommen da so vereinbarungen und bei der zweiten weiß ich nicht ob ich link warrock oder creat warrock drücken soll ich habe angst das mein acc dann weg ist ????
G1 Überschreiben
03/17/2012 - WarRock - 2 Replies
Hallo Com, Habe schon das ganze Wr Forum durchsucht habe bisher aber nichts gefunden... Ist es möglich von einem Ungebannten acc. G1 auf einen anderen zu überschreiben? & warum ist es so, das manche 2 Seiten Katana codes bekommen ohne irgendwelche anderen? Gewollt oder Bug? Grüße ;)
Premium überschreiben ?
02/04/2011 - WarRock - 14 Replies
Ich habe noch 9 Tage ein Gold Premium laufen , wenn ich mir jetzt zB noch ein Gold premium kaufen würde wird dass alte dann überschrieben? also 38 tage und bekomme ich dann auch die 55k dinar dazu ? P.S : Bei Goldpremium kann man sich doch eine waffe aussuchen wenn man es kauft stimmt das ?? mfg
Zeile überschreiben
07/16/2009 - AutoIt - 3 Replies
Hallo Wie kann ich in einer txt Datei die erste Zeile überschreiben statt den neuen Text anzuhängen? Gruß Rosemarie
GM Befehl Mobs rufen? Wer kennt den Befehl?
04/13/2008 - Metin2 - 27 Replies
Hallo, ich wollte mal von euch wissen ob jemand diesen Befehl kennt, und die Id von diesen Mobs oder Metin Steine Items etc.. IceSpeed



All times are GMT +2. The time now is 09:59.


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.