吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 714|回复: 4
收起左侧

[已解决] OD插件编写问题

[复制链接]
zishen 发表于 2024-5-24 22:47
本帖最后由 zishen 于 2024-5-25 11:17 编辑

今天学习NCK的OD插件编写时遇到了问题
image.png
代码应该没问题,基本上复制粘贴的
image.png
将OD放入项目文件夹中,
image.png
将DLL文件直接生成到Plugin目录中
image.png
但是打开OD时,却根本没有这个插件!有大佬知道是什么问题,该怎么解决吗?
代码如下:但应该不是代码的问题
#include "pch.h"
#include "Plugin.h"

extern "C" __declspec(dllexport) cdecl int ODBG_Plugincata(char* shortname) {
        _Mergequicknames();

        const char* pluginName = "OD插件例子";
        strcpy_s(shortname, strlen(pluginName) + 1, pluginName);
        return PLUGIN_VERSION;
}

//OD主界面句柄
HWND g_hOllyDbg;
//************************************
// Method:插件初始化,用于判断当前OD版本号和插件所支持的版本是否一致
// Description:必须的导出函数
//************************************
extern "C" __declspec(dllexport) cdecl int ODBG_Plugininit(int ollydbgversion, HWND hw, ulong * features)
{

        if (ollydbgversion < PLUGIN_VERSION)
        {
                MessageBox(hw, "本插件不支持当前版本OD!", "MyFirstPlugin", MB_ICONERROR);
                return -1;
        }
        g_hOllyDbg = hw;
        return 0;
}
//************************************
// Method:显示菜单项
// Description:显示对应的菜单选项
//************************************
extern "C" __declspec(dllexport) cdecl int  ODBG_Pluginmenu(int origin, TCHAR data[4096], VOID * item)
{

        if (origin == PM_MAIN)
        {
                strcpy(data, "0&顶部菜单子菜单一,1&顶部菜单子菜单二");
        }
        if (origin == PM_DISASM)
        {
                strcpy(data, "鼠标右键主菜单{0&鼠标右键子菜单一,1&鼠标右键子菜单二}");
        }
        return 1;
}


//************************************
// Method:菜单项被点击执行函数
// Description:所有的菜单项被点击都会执行到这个函数
//************************************
extern "C" __declspec(dllexport) cdecl void ODBG_Pluginaction(int origin, int action, VOID * item)
{
        //如果是在主窗口点击
        if (origin == PM_MAIN)
        {
                if (action == 0)
                {
                        MessageBoxA(g_hOllyDbg, "顶部菜单子菜单一", "www.bcdaren.com", MB_ICONINFORMATION);
                }
                if (action == 1)
                {
                        MessageBoxA(g_hOllyDbg, "顶部菜单子菜单二", "www.bcdaren.com", MB_ICONINFORMATION);
                }
        }
        //如果是在反汇编窗口点击
        if (origin == PM_DISASM)
        {
                if (action == 0)
                {
                        MessageBoxA(g_hOllyDbg, "鼠标右键子菜单一", "www.bcdaren.com", MB_ICONINFORMATION);
                }
                if (action == 1)
                {
                        MessageBoxA(g_hOllyDbg, "鼠标右键子菜单二", "www.bcdaren.com", MB_ICONINFORMATION);
                }
        }
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2024-5-25 10:31
ODBG_Plugincata错了吧,确定不是data?你看ide的图里这个导出函数和下边的配色都不一样

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zishen + 1 + 1 谢谢@Thanks!感谢大佬,是我太粗心了

查看全部评分

252339439 发表于 2024-5-24 23:21
LXGZJ237 发表于 2024-5-25 00:40
xiaomumu 发表于 2024-5-25 08:13
太模糊了,看不清,这个插件的作用是干什么的?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 18:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表