Register for your free account! | Forgot your password?

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

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

Advertisement



[C#] Falscher Rückgabewert

Discussion on [C#] Falscher Rückgabewert within the WoW Bots forum part of the World of Warcraft category.

Reply
 
Old   #1
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
[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 10/30/2010, 17:17   #2
 
Imperial Blaze's Avatar
 
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 10/30/2010, 17:43   #3
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
ne das is es nicht, meintest gewiss das es genauso benutzt wird wie das POWER unitfield
-CrimeTime- is offline  
Old 10/30/2010, 18:10   #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 10/30/2010, 18:22   #5
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
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 10/30/2010, 18:35   #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 10/30/2010, 19:11   #7
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
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 10/30/2010, 20:29   #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 10/30/2010, 20:58   #9
 
deestruct's Avatar
 
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/31/2010, 02:17   #10
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
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 10/31/2010, 02:22   #11
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
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 10/31/2010, 02:28   #12
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
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 10/31/2010, 02:35   #13
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
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 10/31/2010, 02:37   #14
 
-CrimeTime-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 438
Received Thanks: 191
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 10/31/2010, 02:38   #15
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
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


Similar Threads Similar Threads
Falscher Videomodus pls help
10/01/2010 - Technical Support - 5 Replies
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 wollte was deinstalieren aber habe ausversehen meinen driver deinstaliert -.- ich habe es versucht es wieder neuzuinstalieren doch dann kamm ein fehler xd habe einfach immer pc ausgeschaltet weil die programme net mehr geantwortet haben so wie ihr wisst wird die bildschirmanzeige geändert wenn man einen driver deinstaliert hat xD jetzt kommt ein...
GUICtrlCreateCheckbox Rückgabewert?
01/09/2010 - AutoIt - 9 Replies
Hallo, ich hab mal wieder eine Frage, ist sehr leicht zu beantworten. $Fischkiller = GUICtrlCreateCheckbox ( "Fischkiller an?", 240, 200 ) Func _Fischtoeten() Switch $Fischkiller Case 0 ; Welchen Wert muss ich hier eintragen? Sleep ( 10 ) Case Else For $e = 1 To UBound ( $Fisch ) -1
sry falscher post
12/26/2009 - Metin2 Trading - 0 Replies
sry wegen doppelpost
Falscher Wert
10/21/2009 - AutoIt - 1 Replies
#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <nomadmemory.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Werte", 633, 447, 192, 124) $Zauber = GUICtrlCreateGroup("Zauber", 16, 16, 137, 201) $Crit = GUICtrlCreateLabel("Kritisch", 22, 120, 78, 17) $Tempo = GUICtrlCreateLabel("Tempowertung", 22, 152, 75, 17) $SB = GUICtrlCreateLabel("Schadensboni", 22, 33, 80, 17)



All times are GMT +2. The time now is 07:17.


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