Diskussionen über Memorys

03/06/2009 18:01 Painful Pete#346
Wo muss ich denn das course+4a nehmen? Muss ich das in der update.ini oder in der tt6.au3 verändern, bzw wo genau und wie?

Ich kenn mich damit echt ned aus :D
03/06/2009 18:01 Jacob_G#347
OMQ_Q. Ich hatte doch noch geschrieben das Luzifer eine Funktion für einen Binary Pattern Scan hier gepostet hat.
03/06/2009 18:03 PaddyBob#348
jo dann kann auch jeder seppel gitarre spielen und noten lesen -.-


gibt halt welche die sind nich solche die tag und nacht nur vorm rechner sitzen und progn., da kann man auch mal helfen oder würde es euch was bringen wenn ich sage alter mach tune D is leichter zu greifen und die terzen sind simple zu spielen, denke nich aber okay danke!!

MG
03/06/2009 18:11 Jacob_G#349
Wie soll ich denn helfen? Ich habe doch auf die gepostete Funktion verwiesen.
03/06/2009 18:11 Painful Pete#350
Quote:
Originally Posted by xninja View Post
OMQ_Q. Ich hatte doch noch geschrieben das Luzifer eine Funktion für einen Binary Pattern Scan hier gepostet hat.
Ich kann mit sowas allem nix anfangen^^

Bin einfach n klein wenig zu doof dafür :D

Kann mir nicht jemand einfach zeigen wie das auszuschauen hat, dann seh ich das, und kanns vllt lernen wie das geht ( während meine Bots wieder laufen ) :rolleyes:

EDIT: Du meinst doch das hier oder?
PHP Code:
#include <NomadMemory.au3>

$ah_Handle _MemoryOpen(ProcessExists ("gw.exe"))
$pattern="558BEC83 EC1056.. ........ ....8B08 890D.... ....8BCF 8B50.... ........ ......8B 400889.."

$timer=TimerInit()
$find=_MemoryScan($ah_Handle$patterntrue)
$timer=TimerDiff($timer)
$N_SECTION_D_POSX _MemoryRead($find$ah_Handle)
$POSX Round(_MemoryRead($N_SECTION_D_POSX$ah_Handle"float"), 0)
msgbox(0"Found""Found: " $find " in " Round($timer,0) & "ms." & @LF "Address: " Hex($N_SECTION_D_POSX) & " Value: " $POSX)

;==================================================================================
; Function:         
_MemoryScan($ah_Handle$pattern [, $after[, $iv_addrStart, [$iv_addrEnd]]])
Description:      Finds the address of the first occurance of a pattern in a process.
Parameter(s):     $ah_Handle An array containing the Dll handle and the handle
;                                of the open process as returned by _MemoryOpen().
;                   
$pattern The pattern you want to findProvide the pattern 
;                              as a String of hex valuesYou may use the '.' as wildcard
;                              
Any other character as '0123456789ABCDEFabcdef.' is ignored
;                              
Example"55 8B .. 83"
;                   $after - (optionalSet to FALSE by default.
;                            If 
set to TRUEthe method will return the address
;                            after the pattern, else the method returns the address
;                            of the pattern itself.
;                   
$iv_addrStart - (optionalSet to 0x00400000 by default.
;                                   
This is the address where the method begins to scan
;                                   for the patternIt must be in hex format (0x00000000).
;                   
$iv_addrEnd - (optionalSet to 0X00FFFFFF by default.
;                                 
This is the address where the method stops to scan
;                                 for the patternIt must be in hex format (0x00000000).
Requirement(s):   None.
; Return 
Value(s):  On Success Returns the address of the first occurance of the pattern 
;                                ($after FALSE) or the address after the first occurance 
;                                of the pattern ($after TRUE). The address is in 
;                                hexadecimal format.
;                   
On Failure Returns -1
;                   @Error No error.
;                            
Invalid $ah_Handle.
;                            
Invalid $pattern.
Author(s):        Luzifer42
Note(s):          The default scan range will be completed in less than one second.
;==================================================================================
Func _MemoryScan($ah_Handle$pattern$after=false$iv_addrStart=0x00400000$iv_addrEnd=0X00FFFFFF$step=51200)
    If 
Not IsArray($ah_HandleThen
        SetError
(1)
        Return -
1
    
EndIf
    
$pattern=StringRegExpReplace($pattern"[^0123456789ABCDEFabcdef.]""")
    IF 
StringLen($pattern)=0 Then 
        SetError
(2)
        Return -
1
    
EndIf
    For 
$addr=$iv_addrStart To $iv_addrEnd Step $step-(StringLen($pattern)/2)
        
StringRegExp(_MemoryRead($addr$ah_Handle"byte[" $step "]"), $pattern12)
        If 
Not @Error Then
            
If $after Then
                
return StringFormat("0x%.8X"$addr+((@Extended-2)/2))
            Else
                return 
StringFormat("0x%.8X"$addr+((@Extended-StringLen($pattern)-2)/2))
            EndIf
        EndIf
    
Next
    
Return -1
EndFunc 
03/06/2009 18:38 __wadim#351
Quote:
$pattern="558BEC83 EC1056.. ........ ....8B08 890D.... ....8BCF 8B50.... ........ ......8B 400889.."
ist nicht für course..

das ist egal wo du 0x4a hinzuaddierst, ob in der tt6 oder in der update.ini.
$newmemcourse = $memcourse + 0x4a
03/06/2009 18:50 Painful Pete#352
Hier die update.ini mit verändertem camcourse... bei mir funktionierts jetzt so

Code:
; update.ini [Gw.exe] - __wadim 
; 6.3.2009 - 7:18

[SECTION 9-A]
AX =					0xa05710
AY =					0xa05714
TOWN_OUT_ID =				0xa06558
NO_NPC =				0xa072f4
DEATH =					0xa05794
MOUSE_COORDX =				0xa05da0
MOUSE_COORDY =				0xa05da4
[B][u]CAMCOURSE =				0x00A05638[/u][/B]
EX_AREA_ID =				0xa03038
EXPANDERA =				0xa05643
EXPANDERB =				0xa05642
LVL =					0xa03078
PVP_PVE =				0xa03084
PING =					0xa0049c
INTERFACE =				0xa01af0
LOGIN =					0xa057b0
EMAIL =					0xa01af4
MOVETO_TARGET =				0xa05d84
MAPPLAYER =				0xa05d8c
MAPTIME =				0xa05678
PNAME =					0xa004e8
STORAGE =				0xa02064
SELLBAGX =				0xa01fe8
MOUSEACTION =				0xa13100
MESSAGE =				0xa05de7

; +4=y, +8=sizex, +12=sizey
INVENTAR =				0xa02554
HERO =					0xa024c8
MMAP =					0xa025a4
PARTY =					0xa0261c
CHEST =					0xa02568
ALLBAG =				0xa0257c
GUILD =					0xa02534
SKILL =					0xa024f0
TRADE =					0xa02770
PARTYSEARCH =				0xa02638
MERCHANT =				0xa02798

MOVECHAR =				0xa05d6c
;+4=back, +8=left, +C=right, +10=tleft, +14=tright

[SECTION D]
POSX =					0xd28d1c
POSY =					0xd28d20
CHECK_MAP =				0xd289b8
NPC_ID_NEAR =				0xd285c8
NPC_ID_SELECT =				0xd285a8
NPC_ID_MOUSE_SELECT =			0xd285b4
CLIENTPATH =				0xd29590
An dieser Stelle nochmal ein Danke an KKNB der mir die Adresse gesucht hat :)
03/06/2009 19:00 Klammeralb#353
thx @ wadim
der course hat mir gereicht ;)
03/06/2009 19:10 Azunai#354
@PaddyBob

das hat nix mit programmieren zu tun, und wenn nur seehr seehr wenig,
das ist einfach einen wert suchen und +/- rechnen -.- solltest du millterweile ja mal irgendwo gelernt haben, vllt
03/06/2009 19:48 PaddyBob#355
@ Azunai es sollte ja auch nur darauf hinweisen das einige (wie ich) mit fachbegriffen oder abkürzungen auf die schnelle nicht klarkommen, wie auch bei instrumenten.

+- was is das? -.-


trotzdem danke wadim

MfG
03/06/2009 22:12 Jacob_G#356
Die Funktion wird einfach nur in Englisch beschrieben.
03/06/2009 22:42 RobRockt#357
Hab jetzt das von Painful Pete in meine update.ini getan aber kein Bot geht :(
Muss ich noch etwas an der NomadMemory und/oder tt6 ändern?

Lg und danke schonmal!
03/07/2009 10:50 Sputimhoch#358
also ich habe die Adresse Camcourse auf 0xa05638 in der update.ini alle bots gehen, allerdings funktioniert der tt6 waypointer nicht mehr.
03/07/2009 11:28 Mekkis#359
Quote:
Originally Posted by Sputimhoch View Post
also ich habe die Adresse Camcourse auf 0xa05638 in der update.ini alle bots gehen, allerdings funktioniert der tt6 waypointer nicht mehr.
Einfach in der Moveto.ini die alten Mem-Adressen austauschen.

POSX = 0xd28d1c
POSY = 0xd28d20

Schon läuft er wieder!;)
03/08/2009 00:29 Alkali1#360
Hab das mal so beim ZK-Bot

Code:
[SECTION D]
POSX =					0xd28d1c
POSY =					0xd28d20
CHECK_MAP =				0xd289b8
NPC_ID_NEAR =				0xd285c8
NPC_ID_SELECT =				0xd285a8
NPC_ID_MOUSE_SELECT =			0xd285b4
Der Weg stimmt aber er spricht nicht mehr Konsul Brand Eichenfass an.Woran liegts,hmm evtl doch ne andere Änderung machen *grml*