当前位置: 首页 > news >正文

IDA Pro配置与笔记

自存一些设置,应该大概还会更新
更新了一些诊断技巧


设置

字体字号

窗口字体

点options-font,字体设置consolas,字号14
在这里插入图片描述

在这里插入图片描述

其他字号

在IDA目录里找到\themes,这下面是各个主题文件夹,按需修改,我这就改base了,打开_base里的theme.css,编辑设置
两个字体里都只有颜色设置,加上字号设置font-size: 14px; ,字号自己调
在这里插入图片描述保存后重启IDA,嗯不行

IDA 的皮肤主题虽然是 Qt QSS (CSS),但 theme.css 并不会全局覆盖所有字体,因为 IDA 在启动时还会强制加载默认字体配置。QWidget { font-size: … } 在某些地方有效,但 IDA 很多界面(反汇编、寄存器、输出窗口)是用 CustomIDAMemo 或专门的控件类,这些类的字体大小不是从 QSS 继承的,而是从 系统字体 / ida.cfg / idaq.ini 里读取的。
如果你坚持用 theme.css,那要针对每个控件类单独加 font-size
在theme.css里加上以下代码:

QWidget {font-size: 14pt;
}TextEdit { /* 反汇编/十六进制/图窗口 */font-size: 14pt;
}MainMsgList { /* 输出窗口 */font-size: 14pt;
}TCpuRegs { /* 寄存器窗口 */font-size: 14pt;
}TChooser { /* Functions/Strings/Names 窗口 */font-size: 14pt;
}

看起来很不错就这样吧(把窗口字号调成16了)
在这里插入图片描述

大概是一些诊断技巧

重启IDA新开一个数据库

可能是这个数据库有问题,没加载完整什么的

打开另一个已知是好的二进制文件测试相同操作

能判断是IDA有问题还是这个二进制文件有问题

临时隔离插件

在IDA目录的plugins下新建一个disabled_plugins文件夹,把报错的或者怀疑有问题的(或者干脆所有)插件文件移进去隔离,重新启动IDA打开同一个数据库,再执行之前有问题的操作,看问题是否解决
这样能判断是不是某些插件带来的问题
查完可以移回去
(据说这个方法蛮有效的)

设置诊断日志

随便找个地方(比如桌面)新建一个诊断脚本ida_diag.py,放入以下代码:
(out那行设置的是日志输出的文件,后面是测试的一些项,都可以调)

# ida_diag.py
import idaapi, idc, idautils, sys, os
out = r"D:\\Default\\Desktop\\CVE-2025-25257\\ida_diag_out.txt" if os.name == 'nt' else os.path.expanduser("~/ida_diag_out.txt")
with open(out, "w", encoding="utf-8") as f:f.write("IDA diag\n")try:f.write("ScreenEA: %s\n" % hex(idc.get_screen_ea()))f.write("IsDebuggerOn: %s\n" % idaapi.is_debugger_on())f.write("Autoanalysis state: %s\n" % (idaapi.auto_wait() if hasattr(idaapi, 'auto_wait') else "no-auto_wait"))except Exception as e:f.write("Exception while basic checks: %r\n" % (e,))try:f.write("Functions count: %d\n" % idaapi.get_func_qty())f.write("Segments:\n")for s in idaapi.get_segm_qty() and [idaapi.getnseg(i) for i in range(idaapi.get_segm_qty())] or []:f.write("  %s: start=%s end=%s perm=%s\n" % (idaapi.get_segm_name(s.start_ea), hex(s.start_ea), hex(s.end_ea), hex(s.perm)))except Exception as e:f.write("Exception listing segments: %r\n" % (e,))try:f.write("Loaded plugins path: %s\n" % idaapi.get_plugins_dir())except Exception:passf.write("Done\n")
print("diag script finished, wrote to: " + out)

在IDA中点File-Script file,选择刚刚建的脚本文件
在这里插入图片描述
output window提示跑完了,打开输出的日志文件查看
在这里插入图片描述


bug

View-Graphs-Function calls失败

没有反应,只有一个小窗口一闪而过,output window没有任何输出。录屏查看小窗口内容,是提示正在生成call chart
在这里插入图片描述
使用上面的诊断日志,输出:
在这里插入图片描述
没查出问题。烦,先不搞了

http://www.dtcms.com/a/388791.html

相关文章:

  • 虚函数表在单继承与多继承中的实现机制
  • 矿石生成(1)
  • Linux 线程的概念
  • Unity学习之资源管理(Resources、AssetDatabase、AssetBundle、Addressable)
  • LG P5138 fibonacci Solution
  • 删除UCPD监控服务或者监控驱动
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(33):文法運用第10回1+(考え方14)
  • 向量技术研究报告:从数学基础到AI革命的支柱
  • 802.1x和802.1Q之间关联和作用
  • 基于大模型多模态的人体体型评估:从“尺码测量”到“视觉-感受”范式
  • 更符合人类偏好的具身导航!HALO:面向机器人导航的人类偏好对齐离线奖励学习
  • Transformer多头注意力机制
  • git 分支 error: src refspec sit does not match any`
  • VN1640 CH5 I/O通道终极指南:【VN1630 I/O功能在电源电压时间精确度测试中的深度应用】
  • qt QHorizontalBarSeries详解
  • 半导体制造的芯片可靠性测试的全类别
  • MySQL 索引详解:原理、类型与优化实践
  • AI 重塑就业市场:哪些岗位将被替代?又会催生哪些新职业赛道?
  • mysql表分区备份太慢?如何精准“狙击”所需数据?
  • InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中应用
  • 数据库视图详解
  • C#并行处理CPU/内存监控:用PerformanceCounter实时监控,避免资源过载(附工具类)
  • 数据结构初阶——红黑树的实现(C++)
  • PS练习1:将风景图放到相框中
  • Seedream 4.0深度评测:新一代AI图像创作的革命性突破
  • Python中的异常和断言
  • java求职学习day32
  • 内存一致性模型(Memory Consistency Model)及其核心难度
  • Archery:一个免费开源的一站式SQL审核查询平台
  • 【中科院宁波材料技术与工程研究所主办】第五届机械自动化与电子信息工程国际学术会议(MAEIE 2025)