Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 16:35

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

Advertisement



Adresse + offsets

Discussion on Adresse + offsets within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #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

maxi39 is offline  
Old 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)
BladeTiger12 is offline  
Old 03/18/2015, 15:02   #3
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
0x73DEB40 + 0x7C * 3 erreicht dasselbe.
alpines is offline  
Old 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.
BladeTiger12 is offline  
Thanks
1 User
Old 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.
maxi39 is offline  
Old 03/18/2015, 16:41   #6
 
alpines's Avatar
 
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.
alpines is offline  
Thanks
1 User
Old 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)))
maxi39 is offline  
Old 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
BladeTiger12 is offline  
Old 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
maxi39 is offline  
Old 03/19/2015, 16:24   #10
 
alpines's Avatar
 
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.
alpines is offline  
Reply


Similar Threads 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.


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