首先在輸入某段函數(shù)代碼前 需要知道函數(shù)代碼所在的位置碘饼;可以通過函數(shù)名獲取真實函數(shù)地址:、
DWORD dwAddr=*(PDWORD)((DWORD)mFunc+1)+(DWORD)mFunc+5努隙;
其中mfunc
為我們定義的函數(shù)
mfunc
函數(shù)可以分為有參函數(shù)與無參函數(shù):
定義無傳參數(shù)注入遠程call
void __declspec(naked) NormalAtt()
{
//////////////////////////////////////////////////////////////////////////
_asm{
pushad
push -1
push 0
push 0
push 0
mov eax,0x0C7D888
mov eax,[eax]
mov eax,[eax+0X1C]
mov eax,[eax+0X28]
mov ecx,eax
mov eax,dwAddr
call eax
popad
retn
}
定義有參注入遠程call
void __declspec(naked) Selmon(DWORD selectmonid)
{
//////////////////////////////////////////////////////////////////////////
_asm{
push ebp
mov ebp,esp
pushad
mov eax,selectmonid
mov eax,[eax]
push eax
mov eax,0x0C7D888
mov eax,[eax]
mov eax,[eax+0X20]
mov ecx,eax
add ecx,0x248
mov eax,dwAddr
call eax
popad
pop ebp
retn
}
}