|
You last visited: Today at 02:16
Advertisement
Diskussionen über Memorys
Discussion on Diskussionen über Memorys within the GW Exploits, Hacks, Bots, Tools & Macros forum part of the Guild Wars category.
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
|
|
|
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^^
|
|
|
12/28/2008, 14:18
|
#258
|
elite*gold: 0
Join Date: Mar 2007
Posts: 567
Received Thanks: 48
|
Quote:
Originally Posted by jeyage
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!
|
|
|
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
|
|
|
12/30/2008, 17:48
|
#260
|
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
|
|
|
12/30/2008, 17:52
|
#261
|
elite*gold: 0
Join Date: Apr 2006
Posts: 1,722
Received Thanks: 476
|
Quote:
Originally Posted by xninja
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
|
|
|
12/30/2008, 17:56
|
#262
|
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^^.
|
|
|
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
|
|
|
12/30/2008, 20:20
|
#264
|
elite*gold: 0
Join Date: Aug 2006
Posts: 515
Received Thanks: 95
|
Quote:
Originally Posted by __wadim
warum macht ihr das nicht so:
|
Naja ^^ schau dir mal die Codelänge an xD.
|
|
|
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
|
|
|
12/30/2008, 22:05
|
#266
|
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.
|
|
|
12/30/2008, 22:59
|
#267
|
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.
|
|
|
12/30/2008, 23:39
|
#268
|
elite*gold: 0
Join Date: Nov 2008
Posts: 576
Received Thanks: 191
|
Quote:
Originally Posted by Gabba2
@ 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
|
|
|
12/30/2008, 23:55
|
#269
|
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?
|
|
|
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
|
|
|
 |
|
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.
|
|