|
You last visited: Today at 10:35
Advertisement
String anhand von Pointer auslesen
Discussion on String anhand von Pointer auslesen within the AutoIt forum part of the Coders Den category.
07/28/2013, 14:20
|
#1
|
elite*gold: 0
Join Date: Apr 2009
Posts: 12
Received Thanks: 1
|
String anhand von Pointer auslesen
Hey,
ich versuche grade verzweifelt einen string mit _MemoryPointerRead auszulesen. Mein script sieht bisher so aus:
PHP Code:
$Address = 0x003E68C8 Dim $Offsets[2] $Offsets[0] = 0x0 $Offsets[1] = 0x50 $iv_Pid = ProcessExists("NostaleX.dat") $handle = _MemoryOpen($iv_Pid) $a_value = _MemoryPointerRead($Address, $handle, $Offsets, "CHAR[10]") MsgBox(1,"",$a_value[1])
Allerdings bekomme ich als Rückgabewert im moment nur einen Fehler.
Woran kann das liegen?
|
|
|
07/28/2013, 14:46
|
#2
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
|
WinGetProcess sucht ein Fenster mit einem bestimmten Titel und gibt den Prozess zurück, zu dem dieses Fenster gehört.
Um einen Prozess anhand des Namens der .exe zu bekommen, benutzt man:
Code:
$iv_Pid = ProcessExists("programm.exe")
|
|
|
07/28/2013, 14:53
|
#3
|
elite*gold: 0
Join Date: Apr 2009
Posts: 12
Received Thanks: 1
|
Ich hab das jetzt geändert, aber bekomme nun gar keinen Wert zurück die Msg box ist leer. kann es sein das man die Offsets oder die Pointeradress anders angeben muss oder so ?
|
|
|
07/28/2013, 14:57
|
#4
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,141
|
Ich meine, irgendwo mal gelesen zu haben, dass die Pointer Funktionen auf manchen Systemen, insbesondere unter 64bit, nicht richtig laufen.
Bist du denn sicher, dass die Adresse und die Offsets richtig sind, bzw. funktioniert es in CE damit?
Poste am besten mal einen Screen vom Pointer in CE.
Achja, und bau Exception Handling ein. D.h. nach jedem Befehl, der schief gehen kann, frag @error ab und gib den Fehler gegebenenfalls per Msgbox oder Debug Console aus.
Wenn WinGetProcess und MemoryOpen keine Fehler melden, ist das Problem zumindest auf MemoryPointerRead begrenzt.
|
|
|
07/28/2013, 15:17
|
#5
|
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
|
1. #include <MemoryPointer>
2. ersetz MsgBox(1,"",$a_value[1]) mit MsgBox(1,"",$a_value[1]&@CRLF&@error) und sag uns was in der zweiten zeile der msgbox steht.
3. sichergehen ,dass der richtige prozess bei WinGetProcess angezapft wird
|
|
|
07/28/2013, 17:59
|
#6
|
elite*gold: 0
Join Date: Apr 2009
Posts: 12
Received Thanks: 1
|
Erstmal danke für die vielen antworten
Also ich weiß auf jedenfall das der Handle funktioniert, da ich es schon geschafft habe den Wert mit _memoryread auszulesen.
Es wird also wahrscheinlich am Pointer oder an den Offsets liegen.
Hier mal der Pointer in CE :
Ich weiß das der Pointer an sich stimmt, da er nach jedem neustart des Programms den Wert richtig anzeigt. hab ich ihn vielleicht irgendwie falsch angegeben?
|
|
|
07/28/2013, 18:05
|
#7
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
|
Code:
$a_dwOffset[3] = [0, 0x50, 0]
|
|
|
|
Similar Threads
|
String aus Pointer auslesen
07/25/2013 - AutoIt - 2 Replies
Mit welchem Include mache ich das am besten..? Und am besten noch nen Scribtbeispiel... Hab den pointer der auf die addresse zeigt und in der ist halt der string den ich auslesen will...
|
String anhand eines anderen Strings ver/entschlüsseln
12/31/2012 - General Coding - 4 Replies
Hallo Leute,
Da ich zwischen einer Android App (Java) und einem PHP-Skript Zeichenketten hin und her schicken muss suche ich eine Möglichkeit ein String anhand eines anderen Strings zu verschlüsseln und entschlüsseln. Diese Möglichkeite sollte sowohl in Java als auch in PHP funktionieren mir fällt allerdings keine Lösung ein.
Gruß
Yissu
|
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Name Generator", 236, 299, 815, 246)
$Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21)
$Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21)
$Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21)
$Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21)
$Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
|
Pointer auslesen der einen String beinhaltet
11/13/2011 - AutoIt - 1 Replies
Hey,
Ich programmiere seid kurzem "Hacks" mit AutoIt, und bin am verzweifeln: Wie liest man einen Pointer aus, der einen Text beinhaltet?
Mein aktuelles Script:
Func PointerRead($Aaddress, $openmem, $AOffset)
Local $Amemread = _MemoryPointerRead($Aaddress, $openmem, $AOffset, "char")
MsgBox(0,"",$Amemread) ; Checken was rauskommt
Local $Awert = _ReturnMemoryValue($Amemread)
Return Dec($Awert) ; Endgültiger Wert wird zurückgegeben
|
All times are GMT +1. The time now is 10:35.
|
|