Die Funktion soll aus einer DLL aufgerufen werden,
die in das Zielprogramm geladen ist, die DLL soll dabei
auf die IAT des Zielprogramms zurückgreifen.
Das ist allerdings meine erste große ASM Funktion die
ich emulieren will.
Zu der Funktion:
Ich habe eine Funktion in c++ geschrieben, die die Adresse des Socket holt!
Mal eine Vorschau zum Packet (es befindet sich ja in "0012E52C")
FF0E <- Chat Packet
0C <- Die Größe ist" C", also auch "C" als 2ter Parameter
00 <- Ab da beginnt dann der Text
Nun habe ich begonnen:
Als Parameter an die Funktion soll zunächst nur der Pointer zum Socket übergeben werden,
es soll ein festes packet mit einer festen Größe (C) senden!
Bei dem Call bekomme ich folgenden Fehler:
Bei dem Text des Packet:
Danke schonmal für eure kompetente Hilfe :]
die in das Zielprogramm geladen ist, die DLL soll dabei
auf die IAT des Zielprogramms zurückgreifen.
Das ist allerdings meine erste große ASM Funktion die
ich emulieren will.
Zu der Funktion:
Code:
/CALL to send Name: Send
|Socket = 2554 Parameter4: Socket
|Data = 0012E52C Parameter3: Pointer zu dem Packet (nachher mehr)
|DataSize = 32 (50.) Parameter2: Größe des Packet in Hex(Dez)
\Flags = 0 Paramter1: Flags (soll immer 0 sein)
Ich habe eine Funktion in c++ geschrieben, die die Adresse des Socket holt!
Mal eine Vorschau zum Packet (es befindet sich ja in "0012E52C")
Code:
0012E70C FF 0E 0C 00 2F 77 68 6F 61 6D 69 00 F0 99 80 7C ?../whoami. ??|
0C <- Die Größe ist" C", also auch "C" als 2ter Parameter
00 <- Ab da beginnt dann der Text
Nun habe ich begonnen:
Als Parameter an die Funktion soll zunächst nur der Pointer zum Socket übergeben werden,
es soll ein festes packet mit einer festen Größe (C) senden!
Code:
void whoami(BYTE* socket)
{
char packet[16] = { 0xFF,0x0E,0x0C,0x00,0x2F,0x77,0x68,0x6F,0x61,0x6D,0x69,0x00,0xF0,0x99,0x80,0x7C };
__asm
{
push 0
push C
push packet
mov ecx,dword ptr ds:[socket]
push ECX
call 0x719D732D
}
}
Bei dem Call bekomme ich folgenden Fehler:
Code:
error C2415: improper operand type
Bei dem Text des Packet:
Code:
error C2440: 'initializing' : cannot convert from 'const char [25]' to 'DWORD'
Danke schonmal für eure kompetente Hilfe :]