Register for your free account! | Forgot your password?

You last visited: Today at 06:34

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

Advertisement



AutoIt

Discussion on AutoIt within the World of Warcraft forum part of the Popular Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2005
Posts: 562
Received Thanks: 0
Wäre es mit AutoIt möglich den Speicher irgendwie auszulesen.Das einzige was ich gefunden habe, das evtl dabei helfen könnte wäre die Dll aufruf funktion.Aber evtl. hab ich ja was übersehen.
doomy is offline  
Old 07/16/2006, 14:08   #2
 
elite*gold: 0
Join Date: Apr 2006
Posts: 2,524
Received Thanks: 74
ich meine sowas ist mit autoit nicht moeglich..
was willst du damit machen? XD bot schreiben? ^^
4C1D^ is offline  
Old 07/17/2006, 11:36   #3
 
elite*gold: 0
Join Date: Apr 2006
Posts: 183
Received Thanks: 18
klar mit extensions und
glaub die autoit beta hat sowas in der art auch schon drauf

man nehme sich ein beispiel an syndrome...
peterwurst is offline  
Old 07/18/2006, 18:24   #4
 
elite*gold: 0
Join Date: May 2005
Posts: 562
Received Thanks: 0
Kannste das etwas genauer Ausführen.Mich würde Interessieren wie man z.b. die Hitpoints oder die Koordinaten auf denen man sich gerade befindet ausliest.
doomy is offline  
Old 07/19/2006, 13:56   #5
 
elite*gold: 0
Join Date: Apr 2004
Posts: 1,460
Received Thanks: 70
würde das im bezug auf die hitpoints mit PixelGetColor probieren.
bei den koordinaten wirds schwer wenn du nicht den speicher liest, was natürlich direkt von warden gescannt wird.
ausser du nimmst die standart map koordinaten, das sollte im bereich des möglichen liegen.
Mizu is offline  
Old 07/19/2006, 15:07   #6
 
elite*gold: 0
Join Date: May 2005
Posts: 562
Received Thanks: 0
Abe darum gehts mir ja.Ich will die dAten direkt u dem Speicher auslesen.Das ist viel genauer und die Möglichkeiten sind zahlreicher damit was anzufangen.Warden mag den Speicher scannen, aber ich schreibe ja nichts hinein, sondern lese nur was drin steht.Das bringt Warden garnix...
doomy is offline  
Old 07/19/2006, 22:18   #7
 
elite*gold: 0
Join Date: Dec 2005
Posts: 181
Received Thanks: 2
hmm also du kannst wenn dus dir selber programmierst auslesen
hab ich mal **** gemacht aber wirst du auch wirklich daraus schlau?!
hier mal nen beispiel

0000 00 50 18 28 1d e8 00 d0 68 01 00 6a 08 00 45 00 .P.(.... h..j..E.
0010 00 28 25 01 40 00 80 06 b3 4d c0 a8 7b 8d 50 ef .(%.@... .M..{.P.
0020 95 5c 04 1a 0e 8c 68 84 50 79 81 8c f5 54 50 10 .\....h. Py...TP.
0030 fe 20 22 9c 00 00 . "...

wenn man icq ausließt, dann erkennt man ja noch wenigstens den username/icqnr aber da bei wow bin cih überfordert, wenn jamnd ahnung hat wie man aus dem "gewirr" was rauslesen kann melden!!
mfg
projectlaurin is offline  
Old 07/20/2006, 00:49   #8
 
elite*gold: 0
Join Date: May 2005
Posts: 562
Received Thanks: 0
Und wie lese ich das mit Hilfe von AutoIt aus ? Wenn aus dem Gewirr schlau werden willst, brauchste halt ein Tool das den Speicher auf bestimmte Werte absucht.

z.B :

Deine aktuelle Rüstung ist 1000.Also suchte nach dem Wert 1000.Da wirste zig Treffer landen.Also ziehste was aus.Danach haste ne Rüstung von 800.Also wieder nach 800 suchen etc. pp.Irgendwann bleiben nurnoch wenige Werte übrig und du hast die Adresse.
doomy is offline  
Old 07/20/2006, 12:11   #9
 
elite*gold: 0
Join Date: Dec 2005
Posts: 181
Received Thanks: 2
:P wenns so einfach währe blizz übermittelt ja auch coordinaten und mobs und hp und was weiß cih noch alles
ach ja meine rüssie oder etwas ähnliches/hp anzeige usw. hab hic nie gefunden
hab mcih au gebufft/gegessen aber keine abnormalitäten entdeckt, was mir nur aufgefallen ist, wenn ich nix mach sendet er immer das gleiche
mfg
aber wenn du mehr weißt sags mir :P dann hilft mir der ganze auslesekram endlich was

hab grad rausgefunden, dass text in reiner form gesendet wird und wenn man nen raid joint bekommt man die ganzen namen :P
ob des chatten mit horde funktioniert probier ich nachher mal aber hat jemand ne idee wo hingehen damit nix beeinflusst wird?! ich hab mir ja überlegt nördliche pestländer oder so am besten mit nem char ohne gilde oder so
weil sonst bkeommt man ja den ganzen anderen kram au ncoh gesendet usw.
projectlaurin is offline  
Old 07/20/2006, 22:51   #10
 
elite*gold: 0
Join Date: May 2005
Posts: 562
Received Thanks: 0
Kannst dir mal die Sources von diversen Bots etc. ankucken.Dort stehen die Adressen der alten Koordinaten von Hp, armor etc. Das interessantere allerdings ist wie die Daten im Paket damals ausglesen wurden.Blizz hat diese nicht eins zu eins in den Speicher geschrieben.
doomy is offline  
Old 07/23/2006, 11:05   #11
 
elite*gold: 0
Join Date: May 2005
Posts: 562
Received Thanks: 0
#include-once
#region _Mem()
;================================================= =====================
; AutoIt Version: 3.1.127 (beta)
; Language: English
; Platform: All Windows
; Author: Nomad
; Requirements:
; These functions will only work with beta. If you place this
; script in your include folder, you can use these functions
; just as any other function, as long as you put
; "#include <Memory.au3>" in your script (or w/e you name it).
;================================================= =====================
; Credits:
; wOuter:
; These functions are based on his original _Mem() functions.
; They are easier to use and comprehend, IMO. These functions
; are in no way a direct copy of his functions. His functions
; only provided a foundation from which these evolved. The
; biggest changes were made made to _MemRead() and _MemWrite().
; You also no longer need to use _MemCreate() before using
; _MemWrite().
;================================================= =====================
; Additional:
; I've never used _MemRev(), _MemAlloc(), _MemFree(), or _MemText()
; So I did not attempt to revise them in any way and they are not
; included in this script.
;
; Please remember to credit accordingly for any use of these UDF's.
;================================================= =====================


;================================================= =====================
; Function Name: _MemOpen()
;
; Description: Opens the process specified by the Process ID and
; returns the necessary Dll information for reading
; from it's memory.
;
; Parameters:
; &#036;Pid = The Process ID of the program you want to open.
;
; &#036;InheritHandle = [optional] If this value is TRUE, processes
; created by this process will inherit the
; handle. Otherwise, the processes do not
; inherit this handle. Most users will not
; need to alter this parameter.
;
; Returns:
; On Success: Returns an array containing the .dll and an open handle
; to the specified process.
; On Failure: Returns 0 and sets error to 1
;================================================= =====================
Func _MemOpen(&#036;Pid, &#036;InheritHandle = 0x1F0FFF)

Local &#036;Dll[2] = [DllOpen('kernel32.dll')]
Local &#036;OpenProcess = DllCall(&#036;Dll[0], 'int', 'OpenProcess', 'int', &#036;InheritHandle, 'int', 0, 'int', &#036;Pid)

If @Error Then
DllClose(&#036;Dll[0])
SetError(1)
Return 0
EndIf

&#036;Dll[1] = &#036;OpenProcess[0]

Return &#036;Dll

EndFunc

;================================================= =====================
; Function Name: _MemRead()
;
; Description: Reads the value located in the memory address
; specified by the &#036;Address parameter. You must open
; the process first with _MemOpen()
;
; Parameters:
; &#036;Address = The memory address you want to read from.
; It must be in hex format (0x00000000).
;
; &#036;Dll = The necessary Dll information which is an array returned
; from _MemOpen().
;
; &#036;Type = [optional] The "Type" of value you intend to read.
; This is set to 'dword'(32bit(4byte) signed integer)
; by default. See the help file for DllStructCreate
; for all types. For example, if you want to read a
; word that is 15 characters in length, you would use
; 'char[15]' since a 'char' is 8 bits (1 byte) in size.
;
; Additional:
; Values returned are in Decimal format, unless specified as a
; 'char' type, then they are returned in ASCII format.
;
; Returns:
; On Success: Returns the value located at the specified address
; On Failure: Returns 0 and sets error to 1
;================================================= =====================
Func _MemRead(&#036;Address, &#036;Dll, &#036;Type = 'dword')

If Not IsArray(&#036;Dll) Then
SetError(1)
Return 0
EndIf

Local &#036;LpBuffer = DllStructCreate(&#036;Type)

DllCall(&#036;Dll[0], 'int', 'ReadProcessMemory', 'int', &#036;Dll[1], 'int', &#036;Address, 'ptr', DllStructGetPtr(&#036;LpBuffer), 'int', DllStructGetSize(&#036;LpBuffer), 'int', '')

If Not @Error Then
&#036;Value = DllStructGetData(&#036;LpBuffer, 1)
Return &#036;Value
Else
SetError(1)
Return 0
EndIf

EndFunc

;================================================= =====================
; Function Name: _MemWrite()
;
; Description: Writes data to the specified memory address
;
; Parameters:
; &#036;Address = The memory address which you want to write to.
; Must be in hex format (0x00000000).
;
; &#036;Dll = The necessary Dll information which is an array returned
; from _MemOpen().
;
; &#036;Value = The information you want to write.
;
; &#036;Type = [optional] The "Type" of value you intend to write.
; This is set to 'dword'(32bit(4byte) signed integer)
; by default. See the help file for DllStructCreate
; for all types. If you want to write a 'char' type,
; you will use 'char[15]' if it's 15 characters in
; length.
;
; Returns:
; On Success: Returns 1
; On Failure: Returns 0 and sets error to 1
;================================================= =====================
Func _MemWrite(&#036;Address, &#036;Dll, &#036;Value, &#036;Type = 'dword')

If Not IsArray(&#036;Dll) Then
SetError(1)
Return 0
EndIf

Local &#036;LpBuffer = DllStructCreate(&#036;Type)
DllStructSetData(&#036;LpBuffer, 1, &#036;Value, 1)

DllCall(&#036;Dll[0], 'int', 'WriteProcessMemory', 'int', &#036;Dll[1], 'int', &#036;Address, 'ptr', DllStructGetPtr(&#036;LpBuffer), 'int', DllStructGetSize(&#036;LpBuffer), 'int', '')

If Not @Error Then
Return 1
Else
SetError(1)
Return 0
EndIf

EndFunc

;================================================= =====================
; Function Name: _MemClose()
;
; Description: Closes the process which was opened using _MemOpen().
;
; Parameters:
; &#036;Dll = The necessary Dll information which is an array returned
; from _MemOpen().
;
; Returns:
; On Success: Returns 1
; On Failure: Returns 0 and sets error to 1
;================================================= =====================
Func _MemClose(&#036;Dll)

If Not IsArray(&#036;Dll) Then
SetError(1)
Return 0
EndIf

DllCall(&#036;Dll[0], 'int', 'CloseHandle', 'int', &#036;Dll[1])
If Not @Error Then
DllClose(&#036;Dll[0])
Return 1
Else
DllClose(&#036;Dll[0])
SetError(1)
Return 0
EndIf

EndFunc
#endregion
doomy is offline  
Reply




All times are GMT +1. The time now is 06:36.


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