hook笔记①

汇编中push 0x*** retn表示跳转到某个地址继续执行

hook笔记①hook笔记①
#pragma comment(linker,"/SECTION:.text,ERW") //编译器允许代码可写

#include <iostream>
#include <Windows.h>

//游戏功能函数
void func1()
{
    MessageBoxA(0, "正常消息", "提示", MB_OK);
}

void hookedproc()
{
    MessageBoxA(0, "hook消息", "提示", MB_OK);
}


void hookedproc1()
{

    BYTE* lpfunc1 = (BYTE*)func1;

    lpfunc1[0] = 0x68;

    *(ULONG_PTR*)&lpfunc1[1] = (ULONG_PTR)hookedproc;

    lpfunc1[5] = 0xc3;


}


int main()
{
    hookedproc1();
    func1();
    return 0;
}
View Code

 

上一篇:golang 中逗号ok模式


下一篇:软件设计模式六大原则之里氏替换原则(PHP语言实现)