问题:当ida的strings窗口中字符串数量过多时,想直接用右键菜单的copy功能把所有字符串拷贝到文本文件中时,ida会一直处于忙状态,无法正常工作。


此时可用idapython脚本获取字符串窗口的数据并写入文件,脚本内容如下


def GainStrWindow():
  op = strwinsetup_t()
  op.strtypes=ASCSTR_C
  op.minlen = 4
  set_strlist_options(op)
  num = get_strlist_qty()
  idx = 0
  fl = open('D:\\string.txt', 'w')
  while idx < num:
    if wasBreak():
      print 'Cancelled'
      break
    strinfo = string_info_t()
    get_strlist_item(idx, strinfo)
    strcont = GetString(strinfo.ea, strinfo.length, strinfo.type)
    straddr = hex(strinfo.ea)
    straddr = straddr[:len(straddr)-1]
    fl.write(straddr)
    fl.write("\t")
    fl.write(strcont)
    fl.write("\r\n")
    fl.flush()
    idx = idx+1
    continue
  fl.close()
  return