Register for your free account! | Forgot your password?

Go Back   elitepvpers > World of Warcraft > WoW Bots
You last visited: Today at 17:26

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

 

[C#] Falscher Rückgabewert

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
[C#] Falscher Rückgabewert

Hallo,
ich habe ein Problem mit dem Auslesen von dem Level des Spieler's.

Dies ist was ich erhalte: 247078670

hier der Reading Befehl wie ich es erhalte:
Code:
LocalPlayer1.Level = Memory.Read<UInt32>(Memory.BaseAddress + 0x8 + 0x40);
LocalPlayer1.UnitFieldsAddress = Memory.Read<UInt32>(0x8);
LocalPlayer1.Level = Memory.Read<UInt32>(Memory.BaseAddress + LocalPlayer1.UnitFieldsAddress + 0x8 + 0x40);
(sind die 3 Methoden wie ich es bisher versucht habe.)

Ich Lese die Daten Relativ zu WoW aus.

Gruß CrimeTime



-CrimeTime- is offline  
Old   #2
 
elite*gold: 1
Join Date: Sep 2009
Posts: 858
Received Thanks: 603
Musst glaube ich 0x40*4 nehmen, dann sollte es richtig sein, aber ich bin mir nicht sicher.


Imperial Blaze is offline  
Old   #3
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
ne das is es nicht, meintest gewiss das es genauso benutzt wird wie das POWER unitfield
-CrimeTime- is offline  
Old   #4
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
das mit den *4 war schon richtig, du musst das so verwenden:

Code:
 _BMReadMemory($hProcess, $objectbase + (0x8 + 0x40) *4, "uint")


mickol is offline  
Old   #5
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
Code:
LocalPlayer1.Level = Memory.Read<UInt32>(Memory.BaseAddress + LocalPlayer1.UnitFieldsAddress + (0x8 + 0x40)*4);
Ergebniss 17744

jedenfalls wird die Zahl kleiner immerhin.
-CrimeTime- is offline  
Old   #6
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
ich mach derzeit noch alles in autoit, was macht die memory.baseadresse? ist das der rückgabe wert vom object manager? oder meinst du damit die wowbase die du bei den pointer hinzurechnen musst? post noch die memory function damit ich weß was diese macht, was passiert wenn du die memory.base.. weglässt
mickol is offline  
Old   #7
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
dann kommt : 756740032 dabei raus.

Code:
        public static uint BaseAddress
        {
            get { return (uint)MainModule.BaseAddress; }
        }
wenn du mehr brauchst sag bescheid.
-CrimeTime- is offline  
Old   #8
 
elite*gold: 0
Join Date: Apr 2008
Posts: 60
Received Thanks: 7
also ich sag mal das das hinzurechnen der memory.baseadresse falsch ist, anbei wie ich das mache:

wichtig ist, das du den pointer den du vom objectmanger bekommst an die _GetLevel function übergibts!

Code:
const $UNIT_FIELD_LEVEL = 0x40

Func _GetUnitField($pUbergabe) ;OK
	return _BMReadMemory($hProcess, $pUbergabe + 0x8,"uint")
endFunc

func _GetLevel($pUbergabe)
	$pUbergabe = _GetUnitField($pUbergabe)
	Return _BMReadMemory($hProcess, $pUbergabe + (0x8 + $UNIT_FIELD_LEVEL) *4, "uint")
EndFunc
mickol is offline  
Old   #9
 
elite*gold: 0
Join Date: Sep 2007
Posts: 149
Received Thanks: 32
playerbase + 0x8 ->

ergebnis + (0x8 + 0x40) *4

:P

wie der vorposter schon sagte
deestruct is offline  
Old   #10
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
also ich kann mich auf den kopf stellen und mit dem ***** Fliegen fangen, aber bekomme immer wieder das selbe dabei raus "0"

hier die bisherigen versuche:
Code:
LocalPlayer1.Level = Memory.Read<UInt32>(Memory.Read<UInt32>(Memory.BaseAddress + LocalPlayer1.UnitFieldsAddress + 0x8) + (0x8 + 0x40) * 4);
LocalPlayer1.Level = Memory.Read<UInt32>(Memory.Read<UInt32>(LocalPlayer1.UnitFieldsAddress + 0x8) + (0x8 + 0x40) * 4);
LocalPlayer1.Level = Memory.Read<UInt32>((Memory.BaseAddress + LocalPlayer1.UnitFieldsAddress + 0x8) + (0x8 + 0x40) * 4);
LocalPlayer1.Level = Memory.Read<UInt32>((LocalPlayer1.UnitFieldsAddress + 0x8) + (0x8 + 0x40) * 4);
LocalPlayer1.Level = Memory.Read<UInt32>(LocalPlayer1.UnitFieldsAddress + 0x8 + (0x8 + 0x40) * 4);
usw..
-CrimeTime- is offline  
Old   #11
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,829
Received Thanks: 4,146
Du sollst einen Pointer nach dem anderen auslesen du eumel

Irgendwie so:
Memory.Read<UInt32>(LocalPlayer1.UnitFieldsAddress + 0x8) + 0x8) + 0x40) * 4);

Aber evtl auch so?
Memory.Read<UInt32>(<DWORD>(<DWORD>(<DWORD>(LocalP layer1.UnitFieldsAddress + 0x8) + 0x8) + 0x40);

Denke du musst die Pointer doch erstmal als dword auslesen bevor du an die letzte addresse kommst die du dann als int ausließt.
Hab von C# keine ahnung, aber so würds ich zumindest bei c++ machen.
Elektrochemie is offline  
Old   #12
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
Also das dies in die Hose geht wuste ich bevor ich es getestet hab

Code:
            LocalPlayer1.Level = Memory.Read<UInt32>(Memory.Read<UInt32>(Memory.Read<UInt32>(Memory.Read<UInt32>(LocalPlayer1.UnitFieldsAddress + 0x8) + 0x8) + 0x40) * 4);
resul=0
-CrimeTime- is offline  
Old   #13
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,829
Received Thanks: 4,146
War ja auch nicht als Copy & Paste gedacht sondern um's dir im groben zu zeigen.

gibts bei c# kein dword? les die pointer addressen mal als dword aus.
Als Admin den Hack gestartet?

E// WoW benutzt doch dieses Random Memory Allocation, das beachtet?
Elektrochemie is offline  
Old   #14
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 190
kannst du mir erklären was ein dword ist? glaube nich das es sowas bei c# gibt

Ich habe Windows XP Prof da brauch man nich Run as Admin machen.
-CrimeTime- is offline  
Old   #15
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,829
Received Thanks: 4,146
Gerade gegoogled, UInt32 stimmt schon.
Ansonsten les die Addressen mal Schritt für Schritt aus. (D.h. dass dir jede Addresse angezeigt wird)


Elektrochemie is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Falscher Videomodus pls help
hi habe ein problem kp ob ich das auch hier schreiben kann hoffe um hilfe xD fange mal an mein pc hat sehr viele laggs wenn ich spiele starte, ich...
5 Replies - Technical Support
GUICtrlCreateCheckbox Rückgabewert?
Hallo, ich hab mal wieder eine Frage, ist sehr leicht zu beantworten. $Fischkiller = GUICtrlCreateCheckbox ( "Fischkiller an?", 240, 200 ) Func...
9 Replies - AutoIt
sry falscher post
sry wegen doppelpost
0 Replies - Metin2 Trading
Falscher Wert
#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <nomadmemory.au3> #Region ### START Koda...
1 Replies - AutoIt



All times are GMT +1. The time now is 17:26.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.