|
|
|
cAtA把DeRefox源码放出来了
谁能提供本地下载啊! |
|
|
|
老罗的字符参考插件增强版下载!
最初由 codename 发布 只需要运行一次老罗的插件,以后用“搜索”->“用户自定义的注释”来察看注释就可以了,使用习惯问题吧! |
|
老罗的字符参考插件增强版下载!
最初由 codename 发布 可以手动修改呀! to: 闪电狼 所有的注释都是保存在相应udd 文件中的,怎么会重启就不见了呢?没发现这个现象! |
|
林版主,老罗回信了!
很简单啊,加了2行代码而已: 函数最后2句就是我加的,其它没动(大家要感谢罗前辈才是!): name=strlwr((char *)g_strings[pb->index].c_str());//string 转为char *类型 m=Insertname(pb->addr,NM_COMMENT,name); //DRAWFUNC int cdecl UStrRefGetText( char *s,//指向输出字符,长度至少!<2*TEXTLEN char *mask,//数组,输出字串的每个字符私有图像属性 int *select,//指向所有输出字串的共同图像属性 t_sortheader *ph,//标准表格窗口,指向已解码的分类元素;自定义窗口,指向用户定义的结构t_table int column //从0开始的列索引,注意:如果列完全不可见,od将不能使用本函数 ) { t_disasm da;//反汇编结构 int n = 0; int m =0; char * name; t_memory *pmem;//内存结构 ulong cmdsize; uchar *pdecode;//保存解码数据 ulong decodesize; unsigned char cmd[MAXCMDSIZE]; t_ustrref *pb = (t_ustrref *)ph;//自定义结构 if (pb->iscureip) // Is Current EIP *select = DRAW_HILITE;//高亮文本 else *select = NULL; switch (column) { case 0: // Address /*sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。sprintf的第一个参数应该是目的字符串*/ n = sprintf((char *)s, "%08X", pb->addr); break; case 1: // Disassembly pmem = Findmemory(pb->addr); if (NULL == pmem) { *select = DRAW_GRAY;//变灰文本 return sprintf((char *)s, "???"); } cmdsize = pmem->base + pmem->size - pb->addr; if (cmdsize > MAXCMDSIZE) cmdsize = MAXCMDSIZE; if ( //ulong Readmemory(void *buf,ulong addr,ulong size,int mode); cmdsize != Readmemory(cmd, pb->addr, cmdsize, MM_RESTORE|MM_SILENT) ) { *select = DRAW_GRAY;//变灰文本 return sprintf((char *)s, "???"); } /*char *Finddecode(ulong addr,ulong *psize); 从指定地址开始读取解码数据,成功返回解码数据,psize=数据大小;未成功则返回NULL,psize=0 */ pdecode = Finddecode(pb->addr, &decodesize); if (decodesize < cmdsize) pdecode = NULL; /*ulong Disasm(char *src,ulong srcsize,ulong srcip,char *srcdec,t_disasm *disasm,int disasmmode,ulong threadid); 汇编指令到srcdec结构 */ Disasm(cmd, cmdsize, pb->addr, pdecode, &da, DISASM_CODE, 0); n = sprintf((char *)s, "%s", da.result); break; case 2: // Text String n = sprintf((char *)s, "%s", g_strings[pb->index].c_str()); break; }[COLOR=blue] //将字符参考添加到反汇编窗口 //int Insertname(ulong addr,int type,char *name);//函数原型 name=strlwr((char *)g_strings[pb->index].c_str());//string 转为char *类型 m=Insertname(pb->addr,NM_COMMENT,name);[/COLOR] return n; } |
|
那里有CoClassSyms下载?
thanks! |
|
|
|
请问有没有一款可以记录动态调试时的堆栈值的软件?
run trace不就可以吗? |
|
给入门新手写的关于ESP教程
这个是Lenus的作品吧!怎么还... |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值