插件开发手册

插件产品介绍
Game-Plug 是一款功能强大的 Windows 逆向开发插件,兼容 VC++、Delphi、VB、按键精灵、火山 PC、等多种编程语言调用。它面向编程人员提供窗口、内存、线程、汇编、HOOK、注入、Call、按键、封包、驱动防检测等全方位操作命令,并配有对应的使用案例示范,简单易学、上手快、实用性强。
目录导航

VC++(x64)

VC++(x64)

说明

C++ 走免注册路线:LoadLibraryW + GamePlugCreate 拿到接口指针,不用写注册表、不需要管理员权限。

完整调用示例(整段复制即可运行)
// 免注册调用:把 x64Game-Plug.dll 放到 exe 同目录,无需 regsvr32





// 1) 新建 x64 控制台工程  2) 关闭预编译头  3) 编码 UTF-8 带 BOM





#include <iostream>





#include <windows.h>





#include <comdef.h>





#import "x64Game-Plug.dll" no_namespace rename("FindWindow", "FindWindowGP")











static HMODULE g_hDll = NULL;





static IGamePlugPtr g_plug;











static bool LoadPlug() {





    g_hDll = ::LoadLibraryW(L"x64Game-Plug.dll");





    if (!g_hDll) return false;





    typedef HRESULT (__stdcall* FnCreate)(void**);





    FnCreate fn = (FnCreate)::GetProcAddress(g_hDll, "GamePlugCreate");





    if (!fn) return false;





    void* p = NULL;





    if (FAILED(fn(&p)) || !p) return false;





    g_plug = IGamePlugPtr((IGamePlug*)p, false);





    return true;





}











int main() {





    if (!LoadPlug()) { std::cout << "load failed\n"; std::cin.get(); return 1; }





    // g_plug->SetUsername(_bstr_t(L"U12-XXXX"));  // 收费命令先授权





    hyper hwnd = g_plug->FindWindowGP(L"", L"记事本");





    LONG  pid  = g_plug->GetWindowProcessId(hwnd);





    std::cout << "pid = " << pid << std::endl;





    g_plug.Release(); ::FreeLibrary(g_hDll);





    std::cin.get();





    return 0;





}
常见注意事项
  • 新建工程平台必须选 x64;并关闭预编译头(否则报 C1010)。
  • 源码保存为 UTF-8 带 BOM,否则中文注释乱码。
  • windows.h 的 FindWindow 宏与接口同名,#import 已 rename,调用写 FindWindowGP。
  • 返回值(LONG / hyper)直接接收,不要多写一个 retval 入参。