Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 02:34

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

Advertisement



EAX beginnt von 0

Discussion on EAX beginnt von 0 within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
EAX beginnt von 0

Hallo, ich hab ein Problem und zwar hab ich ne Function Hooked..

Alles gut und schön.. hab das alles so gelöst
->
Code:
__declspec(naked) void UseShoes(int _this, int edx,int ItemId) 
{ 
	__asm { 
		push ebp 
			mov ebp, esp 
			push ecx 
			mov [ebp-0x04], ecx 
			movzx eax, [ebp+0x08] 
			mov ItemId, eax
			pushfd 
			pushad 
	} 
	printf("ItemID[%d]\n",ItemId);
	__asm { 
		popad 
			popfd 
			mov ecx, [ebp-0x04] 
		mov [ecx+4B44h], eax
			mov esp, ebp 
			pop ebp 
			retn 4 
	} 
}
So wenn EAX das ich in ItemId packe aber größer als 255 ist fängt er von 0 an und gibt mir somit nen falschen wert aus..

hat jemand vllt ne idee woran das liegen könnte?.
bloodx is offline  
Old 04/07/2010, 13:15   #2
 
elite*gold: 0
Join Date: Sep 2007
Posts: 83
Received Thanks: 103
void __fastcall hook::use_shoes(DWORD_PTR _this, int edx_unused, int item_id)
{
std::cout<<item_id<<std::endl;
*(__int32*)(_this + 0x4b44) = item_id;
}

eax wurde durch printf returnwert überschrieben
5andr0 is offline  
Old 04/07/2010, 14:42   #3




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
Danke für die erste Vernünftige Antwort c(:

naja leider wird immer noch icht der richtige Index(item_id) übergeben.
bloodx is offline  
Old 04/07/2010, 15:04   #4
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Er lädt doch den Wert von eax in die Variable, bevor er printf() callt.

Warum benutzt du movzx anstatt mov? Dadurch wird doch dann nur 1 Byte gemovet, oder?

Code:
push ebp 
mov ebp, esp 
push ecx 
mov [ebp-0x04], ecx
Das sieht auch etwas komisch aus. Du pushst ecx auf den Stack und lädst den selben Wert dann wieder von ecx an die gleiche Stelle im Stack.
ms​ is offline  
Old 04/07/2010, 16:49   #5




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
Ich hab nur die Function nachgeschrieben.
so sieht die Original Function aus, außer halt das ich die ID hole :P
bloodx is offline  
Old 04/07/2010, 17:29   #6
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Welcher Teil ist denn genau die Originalfunktion?
ms​ is offline  
Old 04/07/2010, 17:53   #7




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
Code:
.text:0040F980 var_4           = dword ptr -4
.text:0040F980 arg_0           = word ptr  8
.text:0040F980
.text:0040F980                 push    ebp
.text:0040F981                 mov     ebp, esp
.text:0040F983                 push    ecx
.text:0040F984                 mov     [ebp+var_4], ecx
.text:0040F987                 movzx   eax, [ebp+arg_0]
.text:0040F98B                 mov     ecx, [ebp+var_4]
.text:0040F98E                 mov     [ecx+4B44h], eax
.text:0040F994                 mov     esp, ebp
.text:0040F996                 pop     ebp
.text:0040F997                 retn    4
.text:0040F997 sub_40F980      endp
das ist die Original Function aus IDA...
bloodx is offline  
Old 04/07/2010, 18:16   #8
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Vielleicht so?

Code:
movzx eax, [COLOR="Red"][B]word ptr[/B][/COLOR][ebp+0x08]
ms​ is offline  
Thanks
1 User
Old 04/07/2010, 19:37   #9




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
Quote:
Originally Posted by Disconnect View Post
Vielleicht so?

Code:
movzx eax, [COLOR="Red"][B]word ptr[/B][/COLOR][ebp+0x08]
Ahhhh ich liebe dich danke funzt perfekt.
bloodx is offline  
Reply


Similar Threads Similar Threads
WoW: Cataclysm Closed Beta beginnt
09/17/2010 - Gaming News - DE - 26 Replies
Wie Blizzard offiziell verkündet, hat die geschlossene Beta für Catalysm begonnen. Mit Spannung erwarten uns die neuen Inhalte der dritten Erweiterung zu World of Warcraft. Tester werden mit Beihilfe von Blizzard damit beauftragt Feedback, Bugs und Balance Probleme zu finden und dem Team zu melden. Nartürlich bekommen die Tester ein kleinen Vorgeschmack auf all die neuen Inhalte als Bonus. Durch die Verbesserung der Qualität und der Inhalte der unteren Ebenen, erhofft sich Blizzard viele...
BC Verkauf beginnt um Mitternacht
01/15/2007 - World of Warcraft - 3 Replies
Edit: Sorry hatte es in der SuFu nicht gefunden aber scheint wohl alt zu sein...lesen lohnt sich also nicht Hi Für die die es noch nicht wissen sollten. Als Sonderaktion haben sich einige grosse Geschäfftsketten mal wieder was besonderes einfallen lassen. So wird der erwartete Teil von BC ( Burning Crussade) die Erweiterung von dem Spiel World of Warcraft ab 00:00Uhr über die Theken gehen.
WoW - EU Beta beginnt?
09/17/2004 - User Submitted News - 3 Replies
Auf der World of Warcraft Seite WorldofWar.net ist heute zulesen, das laut Aussage von Blizzard Mitarbeitern der Beginn der europäischen Beta nur noch einige Tage entfernt ist. WorldofWar.net führte im Rahmen der Londoner Spielemesse ein Interview mit Vertretern von Blizzard. Hoffen wir das sich diese Aussage in den nächsten Tagen bestätigen wird.



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


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.