又到年底了, 祝各位大佬新年快乐。本期就讲一讲 Ghidra 11.0 版本的更新。
英文版更新可以点击这里
大的更新就2个点,一个是 BSim 和 GhidraGo。
BSim 是基于Ghidra 反编译器做的一个函数相似度匹配能力。 咋一看, 我还以为又搞了一个 VersionTracking 出。它可以比较本地文件间的相似度, 也可以比较远程服务器中的文件。 相似度比较这块我用的比较少,暂时也没法评价他的优劣。
GhidraGo 是一个新的实验性能力, 它提供了 ghidra://
这种形式的跳转链接,当用户点击这个链接的时候,可以自动的打开 Ghidra 的 codeBrowser 进行分析。 他有一套自己的处理协议,并且需要再本地打开一个端口。目前,默认是不打开的,需要自己手动打开并进行配置才可以使用。 对我来说这个功能还是挺新颖的。
小的更新挺多的, 具体如下:
VersionTracking 更新了一下, 主要是用BSim作为相似度匹配的基础能力。
脚本上增加了一个askValues 方法用于获取多个输入。
Rust/Golang 分析能力增强了, 感觉上每个版本基本都有这些能力的增强。
增加了编码字符串查找的能力, 没准就能够识别中文字符串了。
增加了对CaRT 文件格式的支持
MachO 文件改善。 由于移动端 MachO 文件通常都比较大, 所以我基本使用IDA 进行分析。 等哪天他来个大大大更新, 可以研究看看。
优化了Overlay 内存块处理,这块主要针对RTOS, 我不太明白具体的原理,有懂的小伙伴可以私信告知一下:)
PDB 文件进行了优化, 方便了大PDB文件的加载。 不确定这个PDB 是不是VS编译出来的产物。
处理器上增加了对龙芯(Loongson)的支持.
剩下的就是一个bug fix了,可以查看具体的ChangeList
后续Ghidra 有大的更新,打算也记录一下, 毕竟公众号的头像就是Ghidra, 总得多写一些这方面的内容。