想模仿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虚拟机自动化脱壳的方法