[Metin2] MemoryRead + Write??

07/14/2010 21:04 elementskate#1
Hi,

Ich hab einen kleinen Relog-Bot (mit Pixelsearch) für Metin 2 mit Autoit programmiert. Das ganze klappt ganz gut, allerdings möchte ich nun eine Stufe weitergehen.
Unzwar in Richtung MemoryRead bzw. MemoryWrite.
Tutorials habe ich mir schon angesehen, schlau werde ich daraus leider nicht.
Hat jemand Tipps wie ich das am besten realisieren kann?

mfg elementskate
07/14/2010 21:09 FetterArsch500#2
Weit wirste nicht kommen da die Adressen vion Metin2 ( außer Fog und Zoom ) nicht statisch sind.
Allerdings würde ich dir das Herz von LordKill und das von _DownTime ans Herz legen ;)
07/14/2010 21:14 °Non_Public°#3
Durch die Patches von den Metin2 Offis, werden sehr viele Hacks gefixxt...
Vllt. könnte man es auf P-Server mit der Mc.exe schaffen, hab ich noch nicht probiert...
Werde ich vllt. noch austesten ob es auf P-Server geht ;O
07/14/2010 21:20 elementskate#4
Quote:
Originally Posted by °Non_Public° View Post
Durch die Patches von den Metin2 Offis, werden sehr viele Hacks gefixxt...
Einen Hack möchte ich ja nicht programmieren, ich möchte eher meinen Relogbot etwas verbessern. Z.b. ohne Pixelsearch den Status von Metin2 auslesen.
07/15/2010 19:20 FetterArsch500#5
@Non Public :)

Ich hab schon Hacks für Pserver geschrieben und die funkltionieren gut
07/15/2010 20:07 Imaginär#6
Quote:
Originally Posted by elementskate View Post
Einen Hack möchte ich ja nicht programmieren, ich möchte eher meinen Relogbot etwas verbessern. Z.b. ohne Pixelsearch den Status von Metin2 auslesen.
Per Memory einloggen und dazu AutoIt verwenden..

Bin mir nicht ob das funktionieren könnte. In ASM gibt es jedoch sicherlich eine Weg, einen hiddenloginbot zu entwickeln.

Habe, glaube ich, sogar schon eine Entdeckt mit OllyDbg.

Schau dir das Tut von xWaffeleisen an, wie der UseItemfunktion findet und in C++ verarbeitet.
Anstatt nach UseItem, suchste dann halt nach " Login ", dann solltest du es haben ;)
07/16/2010 22:20 _sh0x#7
Naja wie man sieht hatts Easymetin2 geschafft :D Ich würd aber erstmal bei Metin2 mit einen einfachen Dynamischen Speedhack anfangen. Ist ganz leicht hier ein Beispiel Script hoffe er hilft dir vllt,lies dir mal die Komentare die ich dahin geschrieben habe durch :D

Code:
#include <NomadMemory.au3>;;;;;;Ist der Nomad Include sollte Klar sein :D
#RequireAdmin;;;;;Damit der Script bei Vista Usern klappt brauchen wir Admin Rechte



SetPrivilege("SeDebugPrivilege", 1);;;So solltest du immer beginnen

While Not ProcessExists( "metin2client.bin" );;;;Zuerst soll unser Script schön darauf warten bis der Prozess
sleep (100);Metin2client.bin geöffnet wird. Das heißt es editiert erst die Memory wenn Metin2 geöffnet ist
WEnd
InputBox ( "Metin2 Speedhack" , "Trage hier den Speed ein" );;;Hier wirst du den WErt hinschreiben in den du den Wert ändern willst

$Open = _memoryopen(ProcessExists( "metin2client.bin" ) );;;;Zuerst öffnen wir die Memory
$Adresse = 0x;;Nach 0x kommt der Pointer den du mit CE herausgefunden hast hin. Am Anfang kannst du das auch mit normalen dynamischen Addressen mache...
$Read = _memoryread($Adresse,$Open,"dowrd" );;Hier liest er die Memory aus
$write = _memorywrite ($Adresse,$Open,$Input );;;Und hier ist das Ziel....! Er ändern den die Adresse der Memory bzw in dass was du in die Inputbox geschreiben hast

;;;;Das sollte jetzt ein Speedhack sein ! Ich hoffe ihc konnte dir helfen!
07/17/2010 09:50 bladerofdarknes#8
Quote:
$Adresse = 0x;;Nach 0x kommt der Pointer den du mit CE herausgefunden hast hin. Am Anfang kannst du das auch mit normalen dynamischen Addressen mache...
:facepalm:
die sind immer dynmanisch
07/17/2010 10:56 NuHOplLeS#9
kug dir vlt mal mein [TuT]
.. vlt hilftst dir weiter
[Only registered and activated users can see links. Click Here To Register...]
07/17/2010 11:16 elementskate#10
Quote:
Originally Posted by Dawi95 View Post
Naja wie man sieht hatts Easymetin2 geschafft
Heißt das Easymetin2 loggt sich endlich automatisch wieder ein?

Ich habe meinen Relogbot jz mit ImageSearch gemacht und bin eigentlich schon relativ zufrieden.

Das mit dem Memorywrite usw muss ich mir noch genauer anschauen, da ich aus dem irgendwie nicht schlauer werde xD



mfg elementskate
07/17/2010 13:03 bladerofdarknes#11
easymetin2 hookt auch das ganze spiel, oder wieso meint ihr dass das fenster solange braucht bis es entfreezed, oder wieso ihr durchwände gehen könnt? ;)
dazu hast du in autoit nicht wirklich die mittel, ein api hook wird wohl nichts bringen
07/17/2010 20:08 elementskate#12
Quote:
Originally Posted by bladerofdarknes View Post
easymetin2 hookt auch das ganze spiel, oder wieso meint ihr dass das fenster solange braucht bis es entfreezed, oder wieso ihr durchwände gehen könnt? ;)
dazu hast du in autoit nicht wirklich die mittel, ein api hook wird wohl nichts bringen
Ähhhh okeee :confused::confused:
07/18/2010 12:18 buFFy!#13
Ich liebe es wie diese gesamte Sektion über Dinge spekuliert von denen Sie keine Ahnung hat :)

Du kannst (auch mit au3) die Loginfunc hooken und beim call deine parameter auf den stack pushen oder die parameter einfach zur funktion parsen.

Die Loginfelder im loginscreen von m2 sind standardmäßig nichts besonderes und ihr wert ist im Speicher zu finden (mit logischen suchwerten).

Und nochmal: Es ist VÖLLIG egal ob die addresse DMA oder static ist. Wenn du weißt wie kannst du dir jede addresse besorgen.