|
You last visited: Today at 16:35
Advertisement
Adresse + offsets
Discussion on Adresse + offsets within the AutoIt forum part of the Coders Den category.
03/18/2015, 14:03
|
#1
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
Adresse + offsets
Moin,
Quote:
#include "pointer.au3"
$PID = ProcessExists("mc2.exe")
$Handle = _MemoryOpen($PID)
$Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe "), "mc2.exe")
$address = "0x" & Hex($address + Dec("2C2720"))
Dim $offset[5] = [0, Dec("24"), Dec("1898"), Dec("20"), Dec("2c")]
$Read= _MemoryPointerRead($Address, $Handle, $Offset, "float")
for $n = 1 to 2
$Read[0] = 0x7c + $Read[0]
Next
InputBox(0,"",hex($Read[0]))
|
wo ist der fehler, dass nicht wenn angenommen $read[0] = 73DF094
nicht 73DF110 rauskommt sondern sowas in der art 4095500000000000
Quote:
$ad = 0x73DF094
for $n = 1 to 3
$ad = 0x7c + $ad
Next
MsgBox(0,"",hex($ad))
|
das funktioniert
LÖSUNG
Code:
#RequireAdmin
#include "pointer.au3"
$PID = ProcessExists("mc2.exe")
$Handle = _MemoryOpen($PID)
$Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
$address = "0x" & Hex($address + Dec("2C2720"))
Dim $offset[5] = [0, Dec("24"), Dec("1898"), Dec("20"), Dec("2c")]
$Read= _MemoryPointerRead($Address, $Handle, $Offset, "float")
$Read=StringReplace($Read[0],"0x","")
InputBox(0,"",Dec($Read))
MsgBox(0,"",_DezToHex(dec($Read)))
$neu = "0x"&_DezToHex(dec($Read))
for $n = 1 to 2
$Read = 0x7c + $neu
Next
InputBox(0,"",_deztohex($Read))
Func _DezToHex($iDez)
Local $iHex,$iRest,$iTemp
While $iDez <> 0
$iRest = Mod($iDez,16)
$iDez -= $iRest
Switch $iRest
Case 10
$iRest = "A"
Case 11
$iRest = "B"
Case 12
$iRest = "C"
Case 13
$iRest = "D"
Case 14
$iRest = "E"
Case 15
$iRest = "F"
EndSwitch
$iTemp &= $iRest
$iDez /= 16
WEnd
For $Index = StringLen($iTemp) To 0 Step -1
$iHex &= StringMid($iTemp,$Index,1)
Next
Return $iHex
EndFunc
|
|
|
03/18/2015, 14:32
|
#2
|
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
|
Dann schreib das mal so:
Code:
$neueAdresse = 0x73DEB40 + 0x7C * Hex($x)
|
|
|
03/18/2015, 15:02
|
#3
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
0x73DEB40 + 0x7C * 3 erreicht dasselbe.
|
|
|
03/18/2015, 16:22
|
#4
|
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
|
In diesem Fall stimmt es  .
Aber falls er nun x immer als Dezimalzahl angeben will (Auch wenn es nicht schlau ist), dann wäre Hex schon wichtig.
|
|
|
03/18/2015, 16:29
|
#5
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
das funkt.
für x = 1
ich lese die adresse aus Read[0] = 0x00000000073DEB40
$neueAdresse = Read[0]+ 0x7C * Hex(1)
dann ist
$neueAdresse = 124
wieso wird read[0] 0 ? wenn ich 0x00000000073DEB40 direkt einsetze:
$neueAdresse = 0x00000000073DEB40 + 0x7C * Hex(1) dann bekomm ich für $neueAdresse ein Dezimalwert, den ich nach hex umwandeln kann und dieser stimmt dann auch.
|
|
|
03/18/2015, 16:41
|
#6
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Weil du ihn glaube ich als String dann einsetzen musst, und das verkraftet AutoIt nicht. Du musst die "0x000..." erstmal mit Number() oder mit Hex() / Dec() in einem Zahlenwert konvertieren.
|
|
|
03/18/2015, 21:20
|
#7
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
$neu = StringReplace($Read[0],"0x","")
$neu2 = "0x"&(0x7c * "0x" & hex(10))
$Readx= Dec($neu) + $neu2
InputBox(0,"",$Readx) liefert mir: 121498336
InputBox(0,"",hex($Readx)) liefert mir: 419CF7AB80000000
InputBox(0,"",hex(121498336)) liefert mir 73DEAE0
wieso um alles in der welt liefert mir InputBox(0,"",hex($Readx)) so etwas?
€ die dezimalzahl 121498336 ist richtig und ich will sie als hex haben.
2€ Problem gelöst: hex(Hex(Dec($Readx)))
|
|
|
03/19/2015, 12:06
|
#8
|
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
|
Was wird das? 
Warum benutzt du immer String.
Es würde reichen wenn du schreibst:
$neu2 = 0x7C * 0xA ;hex(10)
$Readx = Dec($neu) + $neu2
|
|
|
03/19/2015, 14:52
|
#9
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
ich möchte aus einem spiel einen bestimmten eintrag aus einer matrize auslesen. es gibt 700 matrizen. zuerst ermittel ich die adresse vom ersten eintrag.
#include "pointer.au3"
$PID = ProcessExists("mc2.exe")
$Handle = _MemoryOpen($PID)
$Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe "), "mc2.exe")
$address = "0x" & Hex($address + Dec("2C2720"))
Dim $offset[5] = [0, Dec("24"), Dec("1898"), Dec("20"), Dec("2c")]
$Read= _MemoryPointerRead($Address, $Handle, $Offset, "float")
Die Adresse wäre dann Read[0]. Da der abstand der einträge die ich brauche immer 7c beträgt, rechne ich einfach $read[0] + 7c * hex($x)
Jedoch möchte ich das x selbst bestimmen heißt: $x=guictrlread($input)
die matrizen beinhalten die koordinaten von objekten auf einer map. x steht für
die objekt nummer .
€
damit gehts einfach
$ad = 0x073DEB40
for $n = 1 to 11
$ad = 0x7c + $ad
Next
MsgBox(0,"",hex($ad))
ich steh wieder am anfang...
Code:
#include "pointer.au3"
$PID = ProcessExists("mc2.exe")
$Handle = _MemoryOpen($PID)
$Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
$address = "0x" & Hex($address + Dec("2C2720"))
Dim $offset[5] = [0, Dec("24"), Dec("1898"), Dec("20"), Dec("2c")]
$Read= _MemoryPointerRead($Address, $Handle, $Offset, "float")
for $n = 1 to 2
$Read[0] = 0x7c + $Read[0]
Next
InputBox(0,"",hex($Read[0]))
wo ist der fehler, dass nicht wenn angenommen $read[0] = 0x73DF094
nicht 73DF110 rauskommt sondern sowas in der art 4095500000000000
|
|
|
03/19/2015, 16:24
|
#10
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Das ist leider z. Z. wohl das größte Problem bei AutoIt. Jeder Datensatz wird als String angenommen wenn man davor ihn nicht explizit in einen anderen Typen konvertiert.
Das wird sich in Zukunft vermutlich auch nicht ändern (optional fände ich das schon richtig nice), weil das die Einfachheit der Sprache raubt. Die ist ja eigentlich auch nicht zum Hacken gedacht.
|
|
|
 |
Similar Threads
|
[DON'T REQUEST FOR OFFSETS] New Offsets for Every Patch
09/10/2015 - H1Z1 - 103 Replies
Lots of people seem to spam threads by asking what are the new offsets, so I wanted to make a new thread posting offsets for Object Classes and stuff. Don't request and spam here, keep this clear, please.
Here are the new offsets for 06/04/2015 (no need to change anything else from the previous patch):
CGame=0x142AF7C68
Graphics=0x142AF79B8
Here are some interesting things I found with my friend about the new female model.
0 -- CharacterWorldSpaceTM
1 -- Male
|
Cheat Engine Adresse zu Application Adresse
03/26/2014 - General Coding - 12 Replies
Heyho,
Ich spiel grad ein wenig mit Cheat Engine rum und hab nun auch eine Adresse gefunden, die dem Wert zugeordnet ist, den ich suche. Mittels dem Debugger und dem Disassembler/Memoryview konnte ich rausfinden, durch welchen Befehl diese Variable verändert wird und wo sie sich befindet. Nun möchte ich diese Codestelle mit Code füllen, der nichts macht, was mit OllyDbg kein Problem darstellen sollte.
Jedenfalls wird mir die Stelle, an dem sich die Assemblercodezeile, die ich ersetzen will,...
|
IP Adresse
05/22/2012 - Web Development - 5 Replies
Hi,was heißt es wenn hinter einer IP ein Slash und dann eine Zahl steht??
Bsp. 192.168.1.1/24
|
IP-Adresse
06/29/2010 - Metin2 - 3 Replies
huhu leute :) wollte ma fragen on mir jemand die ip vom de server sagen kann bzw sagen kann wo ich die finde
|
IP-Adresse
07/03/2008 - WoW Private Server - 10 Replies
Hi leute
ich möchte meinen server online stellen.
Aber nicht mit Hamachi.
Es wurde mir mal gesagt einfach deine server ip bei mangos hinenschreiben, aber wie sehe ich meine server ip adresse?
möchte es kostenlos machen!
danke im voraus
|
All times are GMT +1. The time now is 16:36.
|
|