코드 원격 주입

944 단어
먼저 어떤 단락의 함수 코드를 입력하기 전에 함수 코드가 있는 위치를 알아야 한다.함수 이름으로 실제 함수 주소를 얻을 수 있습니다:,
DWORD dwAddr=*(PDWORD)((DWORD)mFunc+1)+(DWORD)mFunc+5;

그중mfunc에 우리가 정의한 함수mfunc 함수는 유참함수와 무참함수로 나눌 수 있다.
전송 파라미터가 없는 원격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

}

}

좋은 웹페이지 즐겨찾기