Register for your free account! | Forgot your password?

You last visited: Today at 02:16

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

Advertisement



Diskussionen über Memorys

Discussion on Diskussionen über Memorys within the GW Exploits, Hacks, Bots, Tools & Macros forum part of the Guild Wars category.

Reply
 
Old 12/27/2008, 23:22   #256
 
elite*gold: 0
Join Date: Mar 2007
Posts: 567
Received Thanks: 48
naja, der aktuelle pin kann sich schnell ändern! Je nachdem ob du deine Sleepzeiten Realtime berechenn willst, oder am amfang für alle!

MFG
Ganf
Ganf is offline  
Old 12/28/2008, 12:33   #257
 
elite*gold: 0
Join Date: Jul 2007
Posts: 18
Received Thanks: 1
Theoretisch kann man sich ja auch selbst den durchschnittlichen Ping berechnen. Aber praktisch ist das Abfragen einfacher^^
jeyage is offline  
Old 12/28/2008, 14:18   #258
 
elite*gold: 0
Join Date: Mar 2007
Posts: 567
Received Thanks: 48
Quote:
Originally Posted by jeyage View Post
Theoretisch kann man sich ja auch selbst den durchschnittlichen Ping berechnen. Aber praktisch ist das Abfragen einfacher^^
jep, aber des von mir war nur ein vorschlag. Ich sehe nur dadurch den eigentlichen sinn!
Ganf is offline  
Old 12/28/2008, 14:38   #259
 
elite*gold: 0
Join Date: Jan 2007
Posts: 1,753
Received Thanks: 443
o0
warum so aufwendig o0

macht am anfang einfach nen ping an euren Guild Wars server

dann nach 1 sek nochmal

beide addieren /2 und fertig ist die latency funktion o0
Azunai is offline  
Thanks
1 User
Old 12/30/2008, 17:48   #260
 
Jacob_G's Avatar
 
elite*gold: 0
Join Date: Aug 2006
Posts: 515
Received Thanks: 95
So lass ich bei mir eine statische Adresse in der Section A finden. Doch fehlt mir da immernoch die Section D. Wie kann ich da denn was finden?

Code:
#include <NomadMemory.au3>
Global  $start_a , $end_a , $value , $hprocess


Func _Sec_A()
	$hprocess = _MemoryOpen(ProcessExists("Gw.exe"))
	$start_a = 0x00A00000
	
	Do
		$value = _MemoryRead($start_a, $hprocess)
		$start_a = $start_a + 1
	Until $value == 1697544007 ;// Gw.exe
$start_a = $end_a - 1
EndFunc
Jacob_G is offline  
Old 12/30/2008, 17:52   #261
 
blauwiggle's Avatar
 
elite*gold: 0
The Black Market: 123/0/1
Join Date: Apr 2006
Posts: 1,722
Received Thanks: 476
Quote:
Originally Posted by xninja View Post
So lass ich bei mir eine statische Adresse in der Section A finden. Doch fehlt mir da immernoch die Section D. Wie kann ich da denn was finden?

Code:
#include <NomadMemory.au3>
Global  $start_a , $end_a , $value , $hprocess


Func _Sec_A()
	$hprocess = _MemoryOpen(ProcessExists("Gw.exe"))
	$start_a = 0x00A00000
	
	Do
		$value = _MemoryRead($start_a, $hprocess)
		$start_a = $start_a + 1
	Until $value == 1697544007 ;// Gw.exe
$start_a = $end_a - 1
EndFunc
until .. stehe ich in dem bereich/spawnpunkt

PosX=0x00D28990
PosY=0x00D28994
blauwiggle is offline  
Old 12/30/2008, 17:56   #262
 
Jacob_G's Avatar
 
elite*gold: 0
Join Date: Aug 2006
Posts: 515
Received Thanks: 95
Bei meiner Variante muss man sich halt nicht dahinstellen, allerdings habe ich das nur für Section A und nich auch für D, deswegen frage ich ja ob schon was für D gefunden wurde^^.
Jacob_G is offline  
Old 12/30/2008, 18:30   #263
 
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
warum macht ihr das nicht so:
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, $pattern, true)
$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)

Func _MemoryScan($ah_Handle, $pattern, $after=false, $iv_addrStart=0x00400000, $iv_addrEnd=0X00FFFFFF, $step=51200)
	If Not IsArray($ah_Handle) Then
		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 & "]"), $pattern, 1, 2)
		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
__wadim is offline  
Old 12/30/2008, 20:20   #264
 
Jacob_G's Avatar
 
elite*gold: 0
Join Date: Aug 2006
Posts: 515
Received Thanks: 95
Quote:
Originally Posted by __wadim View Post
warum macht ihr das nicht so:
Naja ^^ schau dir mal die Codelänge an xD.
Jacob_G is offline  
Old 12/30/2008, 21:35   #265
 
elite*gold: 0
Join Date: Mar 2007
Posts: 567
Received Thanks: 48
Imgrunde ist es für die SectionD ja das gleiche! Mein C#-Code:

Section A:
Code:
        /// <summary>
        /// SearchMemoryAdsSectionA() - Searches the MemoryAddresses of SectionA.
        /// </summary>
        private void SearchMemoryAdsSectionA()
        {
            do
            {
                lpBuffer = new byte[4];
                {
                    if (IntPtrSecAPositionX.ToInt32() == 0)
                    {
                        ReadProcessMemory(this.GWProcess, this.StartMemSecA, this.lpBuffer, this.nSize, out this.lpNumberOfBytesWritten);
                        tempVarINT = BitConverter.ToInt32(this.lpBuffer, 0);
                        if (tempVarINT == 1170800638 || tempVarINT == 1170800639 || tempVarINT == 1170800640)
                        {
                            IntPtrSecAPositionX = StartMemSecA;
                            Debug.WriteLine("SectionA - Position X: " + this.ConvertIntToHex(StartMemSecA.ToInt32(), 1));
                        }
                    }
                }
          }
     }
Und dementsprechend Section D:
Code:
       /// <summary>
        /// SearchMemoryAdsSectionD() - Searches the MemoryAddresses of SectionD.
        /// </summary>
        private void SearchMemoryAdsSectionD()
        {
            do
            {
                lpBuffer = new byte[4];
                {
                    if (IntPtrSecDPositionX.ToInt32() == 0)
                    {
                        ReadProcessMemory(this.GWProcess, this.StartMemSecD, this.lpBuffer, this.nSize, out this.lpNumberOfBytesWritten);
                        tempVarINT = BitConverter.ToInt32(this.lpBuffer, 0);
                        if (tempVarINT == 1170800640)
                        {
                            IntPtrSecDPositionX = StartMemSecD;
                            Debug.WriteLine("SectionD - Position X: " + this.ConvertIntToHex(StartMemSecD.ToInt32(), 1));
                        }
                    }
              }
       }
}
Also musst du eigentlich nur solange Suchen, bis du die Werte für die Char-Position in der SectionD gefunden hast!


MFG
Ganf
Ganf is offline  
Old 12/30/2008, 22:05   #266
 
Jacob_G's Avatar
 
elite*gold: 0
Join Date: Aug 2006
Posts: 515
Received Thanks: 95
Ich frage mich nur wo Wadim das Muster her hat: "558BEC83 EC1056.. ........ ....8B08 890D.... ....8BCF 8B50.... ........ ......8B 400889.." . Das is ja nicht der Hexdump von der PosX.
Jacob_G is offline  
Old 12/30/2008, 22:59   #267
 
Gabba2's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 1,403
Received Thanks: 918
@ Wadim: Könntest du evtl. wieder Posx/PosY aus Section A und Das Kaufmanns Fenster einfügen? Klar, je weniger desto übersichtlicher ist es aber die 2 vermisse ich schmerzlich (ich denke mal andere auch) ; / Kaufmanns Fenster X ist atm 0xa026DC.
Gabba2 is offline  
Old 12/30/2008, 23:39   #268
 
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
Quote:
Originally Posted by Gabba2 View Post
@ Wadim: Könntest du evtl. wieder Posx/PosY aus Section A und Das Kaufmanns Fenster einfügen? Klar, je weniger desto übersichtlicher ist es aber die 2 vermisse ich schmerzlich (ich denke mal andere auch) ; / Kaufmanns Fenster X ist atm 0xa026DC.

einfach nochmal runterladen
__wadim is offline  
Old 12/30/2008, 23:55   #269
 
Jacob_G's Avatar
 
elite*gold: 0
Join Date: Aug 2006
Posts: 515
Received Thanks: 95
Wadim kannst mir nommal verraten wie du das Muster im Speicher gefunden hast?
Jacob_G is offline  
Old 12/31/2008, 00:09   #270
 
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
du hast zb eine statische adresse (D posx). jetzt musst du rausfinden in welcher funktion die adresse verwendet wird.
dann suchst du nach dieser funktion... dazu musst du irgendwelche offsets zur funktion berechnen, damit du dann nach ihren werten suchen kannst.

zb
D posx in 7a71d8

die funktion 7a71d8:
1 558BEC83 push ebp
2 EC1056
3 ...
4 8B08
5 890D
6 blabla
7 blabla

jetzt suchst du nach diesem muster im bereich von zb 7?????-7FFFFF.


hoffe das konnte weiterhelfen
__wadim is offline  
Thanks
3 Users
Reply


Similar Threads Similar Threads
[Fragen & Diskussionen] Longjuyt2
07/25/2009 - Metin2 Private Server - 1461 Replies
Hallöchen, in diesme Thread könnt ihr eure Fragen über Longjuyt2 los werden. Gleichzeitg könnt ihr hier wild diskutieren rund um den Server Longjuyt2.
Suche ICQ Support zu den Memorys
10/12/2008 - Guild Wars - 10 Replies
Wie der Titel schon sagt, suche ich jemanden der mir das mit den Memorys ein bisschen erklären kann und mir dann auch fragen beantworten kann. Eventuell könnte er mir dann auch ein bisschen so zu AutoIt helfen und meinen unpublic NestlingeFarmbot als Belohnung bekommen.. :bandit: meldet euch einfach hier oder per pm! :) Naja bis dann, anonym110
Memorys auslesen
10/04/2008 - Guild Wars - 5 Replies
Hi, ich arbeite mich gerade in Memorys ein, kann ja mal nützlich sein Aktuelles Leben habe ich Adresse 05C6E648 herraus gefunden , stimmt auch da ich wenn ich 30 HP verliere das da auslesen kann. Die Frage ist nun, wadims adressen sind alle 0x irgenwas , muss man die umwandeln ?? Und die nächste Frage, nach Leben scannen, also Zahlen die sich verändern hab ich nun verstanden und es klappt.



All times are GMT +1. The time now is 02:16.


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.