首页
社区
课程
招聘
[求助]Ollydbg插件编写中,如何处理快捷键
发表于: 2006-4-26 12:24 8876

[求助]Ollydbg插件编写中,如何处理快捷键

2006-4-26 12:24
8876
想模仿ollyice写个ollydbg插件,但回车键已经在原版的ollydbg中被定义使用(用在JMP和CALL中),所以如使用插件的时候,按回车键的时候不能响应ODBG_Pluginshortcut函数,请问各位应该如何做呢?

是否因为我写错了呢,还是一定好象看雪那样要首先对OLLYDBG进行补丁,然后再使插件能响应回车键呢?

代码如下:

int test(void *item)
{
  t_dump    *pd;
  ulong       adr;//光标所在当前地址
  ulong cmdsize,decodesize;
  unsigned  char cmd[MAXCMDSIZE],*pdecode;
  t_memory *pmem;
  t_disasm da;

  pd=(t_dump *)item;
   if (NULL == pd || 0 == pd->size)
   {
            return 0;
   }
   else
   {
    adr= pd->sel0;
    pmem=Findmemory(adr);         
    cmdsize=pmem->base+pmem->size-adr;
    if (cmdsize>MAXCMDSIZE)
      cmdsize=MAXCMDSIZE;
    Readmemory(cmd,adr,cmdsize,MM_RESTORE|MM_SILENT);
    pdecode=Finddecode(adr,&decodesize);
    if (decodesize<cmdsize) pdecode=NULL;
    Disasm(cmd,cmdsize,adr,pdecode,&da,DISASM_CODE,0);

        Setcpu(0,0,da.immconst,0,0x10);        //设置DUMP窗地址为immconst
    return 1;
   }

}

extc int _export cdecl ODBG_Pluginshortcut
(
  int origin,int ctrl,int alt,int shift,int key,void *item
)
{
        if (ctrl==0 && origin==PM_DISASM && alt==0 && shift==0 && key==0x38 )//随便设置为'8'按键,本想设置为回车键的,但一直不成功,请各位指点
        {
                      test(item);

                                return 1;
        }   

  
  return 0;                            // Shortcut not recognized
};

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
dssz你好,将你的主题从原帖分离出来了。
2006-4-27 09:22
0
雪    币: 239
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 kanxue 发布
dssz你好,将你的主题从原帖分离出来了。


模仿ollyice做个插件,如看雪大哥能把OLLYICE的PEDIY流程解说一下,这样更能深入了解,小走弯路,呵呵
2006-4-27 10:02
0
雪    币: 224
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
[QUOTE]最初由 dssz 发布
看雪大哥能把OLLYICE的PEDIY流程解说一下...
盼看雪老师能抽点时间
2006-4-27 10:05
0
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 零下 发布
[QUOTE]最初由 dssz 发布
看雪大哥能把OLLYICE的PEDIY流程解说一下...
盼看雪老师能抽点时间

支持写插件
2006-4-27 11:57
0
雪    币: 1325
活跃值: (507)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
6
好象是只能打补丁了,ollydbg的插件开发文档里写的很清楚,快捷键是不能保证的,你必须使用ollydbg与其它插件都不用的那些组合.

Optional callback function. If present, OllyDbg calls it each time when user presses combination of keys that is not recognized by standard OllyDbg window. This function is usually called twice: first time with origin=PM_MAIN indicating global shortcut, and second time with origin identifier of window that has keyboard focus. Shortcuts are scarce resource and I will constantly add new to OllyDbg, so use this feature with care and always implement alternative possibilities.
2006-4-27 14:38
0
游客
登录 | 注册 方可回帖
返回
//