C++ MessageBoxA & While(true)

02/12/2014 16:57 blackout617#1
Hallo ich bin nicht so gut bei C++ ich wolte ein paar fragen stellen weil ich probleme habe ich benutze C++ 2010 Express bei meine DLL.

Code:
DWORD *MAIN_3 = (DWORD*)(*(DWORD*)ADDRRESS); 
MessageBoxA (NULL,"Readed",MAIN_3,MB_OK);
ich glaube es ist veil die variable MAIN_3 dword ist und MsgBoxA benutzt LPCSTR aber vie kan ich dword zu LPCSTR converten?.

Und die andere frage

Code:
void Start()
{	
	bool Delay;
	Delay=0;
	char * CAPTION = "DLL";

	while(true)
	{
		if (GetKeyState(VK_F3) < 0) 
		{
			if(Delay=0){
				Delay = 1;
				MessageBoxA (NULL,"Delay ON",CAPTION,MB_OK);
			}else{
				Delay = 0;
				MessageBoxA (NULL,"Delay OFF",CAPTION,MB_OK);
			}
		}
		if(Delay=1)
		{
		DELAYZ();
		}
	}
	
}
nach der dll injection ohne F3 zu drücken startet es direct die DELAYZ funktion
02/12/2014 17:13 kissein#2
Zuweisung ? Wikipedia
Vergleichsoperator
Code:
int i = 0;
if (i = 1)
{
   Dieser Block wird immer ausgeführt,
   weil die Zuweisung i = 1 immer das numerische Ergebnis 1 hat,
   was als der boolesche Wert "wahr" interpretiert wird.
}
Code:
int i = 0;
if (i == 1)
{
   Dieser Block wird nie ausgeführt,
   weil die Vergleichsoperation i == 1 immer das numerische Ergebnis 0 hat,
   was als der boolesche Wert "falsch" interpretiert wird.
}
02/12/2014 17:59 blackout617#3
danke noch eine kleine frage .
crash
Code:
DWORD *MAIN_3 = (DWORD*)(*(DWORD*)0x400000 + ADDR_BASEZ); //0x40000 + base pointer
DWORD *MAIN_4 = (DWORD*)(*(DWORD*)MAIN_3 + DELAY_OFFSET); //MAIN3 + Offset1
*(DWORD*)(*(DWORD*)MAIN_4 + DELAY_OFFSETZ) = 256; // MAIN4 + Offset2
Ich denke es ist was falsch kan mir jemand weiter helfen ? bei auto it funkts es so und gibt keine probleme aber hier crasht das spiel.
Der autoit code(kein crash)
Code:
$phHandles = _MemoryOpen($dwProcessId)
$MemoryData = _MemoryRead(_MemoryRead($lpBaseAddress, $phHandles) + $pOffsets[0], $phHandles, 'dword')
_MemoryWrite($MemoryData+$pOffsets[1], $phHandles, "1",'byte')
Und ist es normal das wen ich meine dll injecte danach das spiel lagt/fps drop ?
02/12/2014 18:10 snow#4
Quote:
*(DWORD*)0x400000
Da kommt MZ als ASCII string raus, als Adresse kannst du das aber nicht verwenden.

Quote:
DWORD *MAIN_3 = (DWORD*)(*(DWORD*)ADDRRESS);
MessageBoxA (NULL,"Readed",MAIN_3,MB_OK);
sprintf, wenn du es eklig lösen willst, oder std::to_string() + std::string::c_str(), ansonsten versuchst du, den Inhalt der Adresse "MAIN_3" als String auszulesen.