Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 18:56

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

Advertisement



Metin2 GetCharMoney

Discussion on Metin2 GetCharMoney within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Metin2 GetCharMoney

Hey Leute,

Ich wollte mir mal die char money zurück geben lassen.

Hier mal der asm code:
Code:
MOV ECX,DWORD PTR DS:[0x0FE54EC]
         MOV EAX,DWORD PTR DS:[ECX+4]
	 mov edx,DWORD PTR DS:[eax+10]
	 add ecx,04
	 push 0B
	 call edx
	 mov Money, edx
Könntet ihr mir helfen, wenn ja währe ich dankbar.

Mfg
~Caturix~ is offline  
Old 01/17/2014, 18:22   #2
 
Roquan's Avatar
 
elite*gold: 241
Join Date: Jan 2011
Posts: 4,756
Received Thanks: 665
Sorry, aber worum geht es bei dem Code?
Roquan is offline  
Old 01/18/2014, 01:13   #3
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Ich kann c++^^
Ich will mir über den asm code mein yang zurückgeben lassen, mit dem charname hab ich es hinbekommen:
charname:

Aber mit dem yang nicht:
Code:
#include <Windows.h>

char* money;

char* Functionen::GetCharMoney()
{
	__asm
	{
				MOV ECX,DWORD PTR DS:[0x0FE54EC]
				MOV EAX,DWORD PTR DS:[ECX+4]
				ADD ECX,4
				PUSH 0xB
				CALL DWORD PTR DS:[EAX+0x10]
				MOV DWORD PTR SS:[ESP+0x8],EAX
				JMP DWORD PTR DS:[0x0E2A7EC]
				MOV Money,EAX
	}
	return Money;
}

void Functionen::SendChatPacket(char* Nachricht,int ChatType)
{
	__asm
{
	MOV ECX, SendChatPacketPointer
	PUSH ChatType
	PUSH Nachricht
    CALL SendChatPacketCall
}
}

BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{
 switch (ul_reason_for_call)
 {
 case DLL_PROCESS_ATTACH:
	 SendChatPacket(GetCharMoney() ,0);
 case DLL_THREAD_ATTACH:
 case DLL_THREAD_DETACH:
 case DLL_PROCESS_DETACH:
  break;
 }
 return TRUE;
}
~Caturix~ is offline  
Old 01/18/2014, 09:50   #4

 
elite*gold: 150
The Black Market: 147/0/0
Join Date: Jan 2014
Posts: 11,338
Received Thanks: 3,780
Ich denke du sollst deine Frage in die C/C++ Sektion posten.
Shigatu is offline  
Old 01/18/2014, 20:23   #5
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Ist ja auch kein Wunder.
Code:
MOV ECX,DWORD PTR DS:[0x0FE54EC]
MOV EAX,DWORD PTR DS:[ECX+4]
ADD ECX,4
PUSH 0xB
CALL DWORD PTR DS:[EAX+0x10]
MOV DWORD PTR SS:[ESP+0x8],EAX
JMP DWORD PTR DS:[0x0E2A7EC] //*!!*
MOV Money,EAX
Du springst zu einer Adresse also wird das
Code:
MOV Money, EAX
nicht erreicht.

Code:
mov ecx, dword ptr ds:[0x0FE65EC]
mov eax, dword ptr ds:[ecx+0x4]
add ecx, 0x4
push 0xB
call dword ptr ds:[eax+0x10]		//Hier wird ja anscheinend das Geld ausgelesen
mov dword ptr ss:[esp+0x8], eax     //Und hier in ESP+0x8 gespeichert was du aber eig. nicht brauchst.
mov Money, eax
neuer Code:
Code:
pushad
mov ecx, dword ptr ds:[0x0FE65EC]
mov eax, dword ptr ds:[ecx+0x4]
add ecx, 0x4
push 0xB
call dword ptr ds:[eax+0x10]
mov Money, eax
popad
Ich glaube aber mal das die Funktion keinen String wieder gibt oder? ( würde mal auf DWORD tippen )
Falls nicht musst du halt Money noch zu einem String machen aber das geht ja einfach mit sprintf oder so.
​Tension is offline  
Old 01/18/2014, 21:20   #6
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Was macht pushad&popad

Der Neue Code geht auch nicht
~Caturix~ is offline  
Old 01/18/2014, 22:48   #7
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
pushad - Pusht alles Register auf den Stack.
popad - Holt alle Register aus dem Stack zurück.

hast du schon einmal versucht einen Debugger zu verwenden?
Bzw. was passiert überhaupt?

Code:
char* Functionen::GetCharMoney()
{
	DWORD dwMoney = 0;
	char* szMoney = new char[MAX_PATH];
	_asm
	{
		pushad
		mov ecx, dword ptr ds:[0x0FE65EC]
		mov eax, dword ptr ds:[ecx+0x4]
		add ecx, 0x4
		push 0xB
		call dword ptr ds:[eax+0x10]
		mov dwMoney, eax
		popad
	}
	sprintf(szMoney, "%d", dwMoney); //Unschön aber geht
        return szMoney
}
​Tension is offline  
Old 01/18/2014, 23:10   #8
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Also wenn ich mit CE Injecte dann steht: Failed to Inject
~Caturix~ is offline  
Old 01/18/2014, 23:12   #9
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Das hat nichts mit dem Code zutun sondern damit das du keine Rechte hast die Dll zu injecten o.ä .
​Tension is offline  
Old 01/18/2014, 23:51   #10
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Nein wenn ich die function nicht aufrufe und nur so mache: m2.SendChackPacket("Hallo",0)
dann gehts, und das geht net:

Code:
char* Functionen::GetCharMoney()
{
	DWORD dwMoney = 0;
	char* szMoney = new char[MAX_PATH];
	_asm
	{
		pushad
		mov ecx, dword ptr ds:[0x0FE65EC]
		mov eax, dword ptr ds:[ecx+0x4]
		add ecx, 0x4
		push 0xB
		call dword ptr ds:[eax+0x10]
		mov dwMoney, eax
		popad
	}
	sprintf(szMoney, "%d", dwMoney); //Unschön aber geht
        return szMoney
}
~Caturix~ is offline  
Old 01/19/2014, 11:59   #11
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
wie sieht denn die Funktion von dem Namen aus?
wie gesagt guck mit einem Debugger was da nicht funktioniert und behebe es dann.
​Tension is offline  
Old 01/19/2014, 15:50   #12
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Das mit debugger hab ich schon versucht hier mal der asm code von dem namen:
MOV ECX,DWORD PTR DS:[0x0FE54EC]
MOV EAX,DWORD PTR DS:[ECX+4]
ADD ECX,4
CALL DWORD PTR DS:[EAX+0x14]
MOV CharName,EAX
~Caturix~ is offline  
Old 01/19/2014, 18:24   #13




 
Omdi's Avatar
 
elite*gold: 1
Join Date: Apr 2010
Posts: 13,772
Received Thanks: 15,036
Quote:
Originally Posted by ~Caturix~ View Post
Nein wenn ich die function nicht aufrufe und nur so mache: m2.SendChackPacket("Hallo",0)
Was passiert denn wenn du das so aufrufst?
Code:
m2.SendChatPacket(Functionen::GetCharMoney(), 0);)
Omdi is offline  
Old 01/19/2014, 19:07   #14
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Hier mal die Main.cpp,Functionen.h,Functionen.cpp
Attached Files
File Type: rar Projects.rar (1.1 KB, 26 views)
~Caturix~ is offline  
Old 01/26/2014, 20:28   #15
 
~Caturix~'s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 61
Received Thanks: 4
Kann wer helfen?
~Caturix~ is offline  
Reply




All times are GMT +1. The time now is 18:57.


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.