IDA Plugins: Olden by Ilfak Guilfanov

引用:
DescriptionThe plugin is named Olden because it "ages" the listing by modifying the background color of the instruction under the cursor. This way you leave a "trail" after you. I find this plugin especially useful to debug huge applications. It is extremely easy to get lost in the debugged code but with this plugin, you will at least be able to exclaim: "I've been here before!" :)

This plugin works only on IDA 5.1 and later and takes advantage of the newly introduced notion of dynamic colors.Plugins can install a callback which dynamically calculates colors and provides them to the user interface. In the previous versions of IDA plugins were forced to change the item color in the database thus overwriting any user-defined colors. The new IDA makes it possible to calculate colors on the fly. 



引用:
Dynamic coloring
IDA v5.1 introduces the notion of dynamic colors. Plugins can install a callback which dynamically calculates colors and provides them to the user interface. In the previous versions of IDA plugins were forced to change the item color in the database thus overwriting any user-defined colors. The new IDA makes it possible to calculate colors on the fly. 
Another news is that the navigation band colors are dynamic too. Just install a colorizer for the navigation band using the ui_set_nav_colorizer event and IDA will ask your plugin to supply item colors. 

Plugins can also provide their own hints (on the mouse hovering) instead of the default hints displayed by IDA. There are even several different hint callbacks: they differ in complexity. You can start with simple get_ea_hint for single line hints, then switch to ui_get_item_hint for multiline hints and finally you can use the ui_get_custom_viewer_hint event for hints in any customazible window. 

The last event belongs to the group of custom_viewer events. This group can be used to create and display a window like the disassembly window (colored lines with virtualized access to the data). Some other windows in IDA use custom_viewers: structures and enumerations are two notable examples. Now you can create your own custom windows. The set up is quite complex and will require another post. 

Meanwhile enjoy a new plugin which uses the dynamic coloring feature. The plugin is named Olden because it "ages" the listing by modifying the background color of the instruction under the cursor. This way you leave a "trail" after you. I find this plugin especially useful to debug huge applications. It is extremely easy to get lost in the debugged code but with this plugin, you will at least be able to exclaim: "I've been here before!" :) 



引用:
The plugin works with IDA v5.1. As usual, it comes with full source code: 

http://www.hexblog.com/ida_pro/files/olden.zip Have fun! :) 



   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 上个世纪90年代中期,当IDA Pro的开发者Ilfak Guilfanov和我决定离开共享软件领域,转向专业市场时,我并没有预见到,10多年后,IDA会在IT安全领域扮演如此重要的角色。但是,当IDA赢得市场份额后,我们多次听到用户的抱怨:它的文档资料不够,且不说质量是否够高,至少在表述上还不够好。要知道,grep要求很严格,文档不能出错。   这些年有几本有关IDA的书面市。虽然其中一些书有了重大的突破,我们也始终感谢这些作者推广我们的劳动成果,但我们一直没有看到理想的IDA图书——那种既告诉我们如何使用IDA,又教会我们如何扩展它以解决新问题的书。   确实,撰写有关IDA图书需要有很大的勇气。一本描述如此复杂的工具的书不可能只是蜻蜓点水,薄薄的小册子是绝对交待不过去的。这是一个大型项目,需要作者投入大量时间,并且必须仔细规划。作者必须对数量惊人的信息进行整理并归入各个章节中。这才仅仅是开始,你不能将大量的信息硬塞给一个无助的读者,还希望得到最佳效果。所以,作者还必须是一名经验丰富的教师。   当然,拿到书后,它的实际益处需要根据读者能够利用它做什么来评估。最基本的是你想要从中学会什么,而不是信息本身。当然,名师出高徒,学生学得怎么样,还要看老师教得好不好。 最后同样重要的是,IDA图书的目标读者也许是技术最为熟练的IT专业人士。乐观主义者认为他们明辨是非,而悲观主义者则认为他们吹毛求疵。你需要一套既权威又令人信服的理论来使这群人满意。由于有这么多苛刻的要求,许多年来,撰写一本优秀的IDA图书似乎一直是件不可能的事。   Chris Eagle出现了。我第一次注意到Chris是在他发布他的模拟器插件时。那时,我还在直接参与恶意代码分析,并且知道模拟是解决所有问题的正确方法,只是这需要做大量工作。一个发布模拟器源代码的人,与一群发布攻击教程的所谓的黑客,他们之间有着明显的区别。   让人印象更深刻的是,Chris愿与他人分享自己的劳动成果。我清楚地知道,有另外几个IDA用户已经开发出了非常优秀的处理器模块和附加件,但他们一直保密,这些知识从未得到共享。令人遗憾的是,这有悖于IDA的开放式体系架构。Chris是第一个打破这种藩篱的优秀的IDA用户。很快,Ilfak和我在心底里默默企望,Chirs,或者某个像Chris一样的人,能够撰写一本有关IDA Pro的图书。不久,我们的希望变成了实现。当我翻开Chris诚心诚意送来给我审阅的PDF文件时,我心里的喜悦之情溢于言表。   信息量有多大?自己看!Chris做了大量工作,收集并整理了尽可能多的信息,最终撰写出这本言简意赅的书。本书结构紧凑,与现在的许多IT图书截然不同。在这本书里,你看不到花里胡哨的样式、毫无价值的截图、含糊其辞的概述和浪费页面的表格。   教学方法是什么?自己看!本书设置了各种情景,并以此为基础,由使用IDA的基础功能顺理成章地扩展到利用其最强大的功能(脚本和可扩展性)来处理实际的复杂问题。本书证明,Chris拥有很高的教学天赋。   你能够学到什么知识?自己看!Chris很好地把握了问题的核心,他首先描述一个问题,然后有条不紊地设计解决方案。他从不满足于只能临时应急的解决办法。虽然他提供的方法需要读者付出更大的努力才能完成,但我们知道,他提供的是正确的方法。   有哪些权威的观点?自己看!Chris的模拟器是公开发布的IDA插件中最有用的插件之一。他已经撰写了一些有关IDA的重要论文,并多次宣讲和演示。多年来,他一直是一位受人尊敬的IDA公告牌撰写人。从他作品的字里行间,我们可以体会他精益求精的态度。   恰当的材料,充足的时间,于是诞生了这本书。它是迄今为止最全面、最准确、最好的IDA Pro图书。希望你和我们一样喜欢这本书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值