|
You last visited: Today at 02:34
Advertisement
EAX beginnt von 0
Discussion on EAX beginnt von 0 within the General Coding forum part of the Coders Den category.
04/07/2010, 02:14
|
#1
|
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?.
|
|
|
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
|
|
|
04/07/2010, 14:42
|
#3
|
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.
|
|
|
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.
|
|
|
04/07/2010, 16:49
|
#5
|
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
|
|
|
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?
|
|
|
04/07/2010, 17:53
|
#7
|
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...
|
|
|
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]
|
|
|
04/07/2010, 19:37
|
#9
|
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
|
Quote:
Originally Posted by Disconnect
Vielleicht so?
Code:
movzx eax, [COLOR="Red"][B]word ptr[/B][/COLOR][ebp+0x08]
|
Ahhhh ich liebe dich   danke  funzt perfekt.
|
|
|
 |
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.
|
|