kolkoo
September 22nd, 2006, 08:17 AM
Ok i have a dll that is injected into a process and overwrites a memory code at a point and jumps onto my (naked) function which does the following
char *ho;
_asm
{
PUSHFD;
PUSHAD;
mov EAX,DWORD PTR DS:[ESI+8];
mov ho,EAX;
POPFD;
POPAD;
MOV AL,BYTE PTR DS:[EBX+0x11C];
}
MessageBox(::GetForegroundWindow(),ho,"MMOO",MB_OK);
_asm RETN;
So what i am trying to achieve is copy a variable from the caller function and display it in this one but it is always empty. When looking at the mem with OllyDbg this is how this looks like
015E1020 9C PUSHFD
015E1021 60 PUSHAD
015E1022 3E:8B46 08 MOV EAX,DWORD PTR DS:[ESI+8]
015E1026 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
015E1029 9D POPFD
015E102A 61 POPAD
015E102B 3E:8A83 1C010000 MOV AL,BYTE PTR DS:[EBX+11C]
015E1032 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
015E1035 6A 00 PUSH 0
015E1037 68 28215E01 PUSH my.015E2128 ; ASCII "MMOO"
015E103C 50 PUSH EAX
015E103D FF15 C8205E01 CALL DWORD PTR DS:[<&USER32.GetForegroun>; USER32.GetForegroundWindow
015E1043 50 PUSH EAX
015E1044 FF15 C4205E01 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA
015E104A C3 RETN
I am not sure what this 3E: thing is.
So any help would be appreciated.
char *ho;
_asm
{
PUSHFD;
PUSHAD;
mov EAX,DWORD PTR DS:[ESI+8];
mov ho,EAX;
POPFD;
POPAD;
MOV AL,BYTE PTR DS:[EBX+0x11C];
}
MessageBox(::GetForegroundWindow(),ho,"MMOO",MB_OK);
_asm RETN;
So what i am trying to achieve is copy a variable from the caller function and display it in this one but it is always empty. When looking at the mem with OllyDbg this is how this looks like
015E1020 9C PUSHFD
015E1021 60 PUSHAD
015E1022 3E:8B46 08 MOV EAX,DWORD PTR DS:[ESI+8]
015E1026 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
015E1029 9D POPFD
015E102A 61 POPAD
015E102B 3E:8A83 1C010000 MOV AL,BYTE PTR DS:[EBX+11C]
015E1032 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
015E1035 6A 00 PUSH 0
015E1037 68 28215E01 PUSH my.015E2128 ; ASCII "MMOO"
015E103C 50 PUSH EAX
015E103D FF15 C8205E01 CALL DWORD PTR DS:[<&USER32.GetForegroun>; USER32.GetForegroundWindow
015E1043 50 PUSH EAX
015E1044 FF15 C4205E01 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA
015E104A C3 RETN
I am not sure what this 3E: thing is.
So any help would be appreciated.