IDA插件编写中如何给代码行或者数据行添加注释呢

另外哪里有所有IDA SDK函数的介绍文档呢, 中英文都行

  • 标 题:答复
  • 作 者:softworm
  • 时 间:2007-10-22 21:03

set_cmt

有篇E文的教程,名字记不住了自己找找
也可以翻翻SDK的头文件

  • 标 题:答复
  • 作 者:terren
  • 时 间:2007-11-08 12:21

以下头函数定义摘自IDA SDK 5.1
 
//--------------------------------------------------------------------------
//      I N D E N T E D  C O M M E N T S
//--------------------------------------------------------------------------
// Set an indented comment
//      ea     - linear address         有效地址,比如在IDA的反汇编代码中,
//                                      有这么一行:.text:00404108         push    ebp
//                                      则有效地址即为404108。
//
//      comm   - comment string         要添加的注释内容。
//
//      rptble - is repeatable?         是否设置成可重复性注释,设置为true,则是可重复性注释
// returns: 1-ok, 0-failure             返回1表示成功,0表示错误。

idaman bool ida_export set_cmt(ea_t ea, const char *comm, bool rptble);


楼上的朋友,可能你已经知道怎么用这个set_cmt函数,下面的代码十分简单地在IDA光标所在的一行,添加了可重复性注释,

    ea_t current = get_screen_ea();         //返回当前光标所在的有效地址,
    bool ret = set_cmt(current, "添加成功", true);
    if (ret)
    {
        info("添加注释成功");
    }
    else
    {
        warning("添加注释错误");
    }

  • 标 题:答复
  • 作 者:softworm
  • 时 间:2007-11-08 18:18

repeatable==可重复

  • 标 题:答复
  • 作 者:terren
  • 时 间:2007-11-08 20:37

softworm,谢谢你指出我的错误,
是我翻译错误了,repeatable是你解释的这个意思,”重复的“。

我有一点不明白的是,
好像在IDA里按下分号键,就弹出repeatable comment对话框,
比如输入“逆向”二字,注释显示 “逆向”。

再在同一行,按下Shift+分号键,则弹出一个Enter comment对话框,
输入“工程”二字,注释就被覆盖成 “工程",刚才输入的”逆向“,就看不到了,
而且,按下分号键,还能看到,”逆向“还在那里。

这样感觉,就好象有点被替换的感觉,为什么会这样的 设计?

  • 标 题:答复
  • 作 者:softworm
  • 时 间:2007-11-08 20:50

按分号输入的注释,所有交叉参考处都会出现,按冒号(你的是Shift+分号? 我不知道 )
的注释只在该处出现,如果一个地址有2种注释,在该地址只会显示非重复注释.

我只是随手写的,没有查帮助,希望没错