我已经使用各种工具(大多数是IDA,Olly)将定期更新的应用程序撤消了一段时间,我一直想知道如何记录我的发现。例如函数名称,静态变量,关系,名称空间,字段等……甚至可能通过版本更改进行更改,但这只是多余的一部分。

我想出的最好的办法是本地MediaWiki ,我在其中为每个功能和内容创建了新的页面/定义,但是显然这很麻烦,几乎无法维护。必须有一些行业标准吗?我想知道你们是否知道/使用任何工具来解决此问题。

编辑:
这是我现在在Wiki中使用的结构:


如果您知道其他解决方案,我也期待您的回答:)

评论

实际上,这与反转文件格式的选项列表相同。也有本地Wiki,也需要基于文本(无任何要求)的运行DB。如果需要,IDA本身具有“注释”视图。

在执行分析时如何存储有关二进制数据的可能重复项?

@perror肯定非常接近。我不会投票,因为它将立即解决这个问题。看来这个问题实际上更倾向于实际生成某种“ API”文档?

是的,我可能会放弃投票,因为无论如何我都对有关此主题的答案感兴趣...让我们看看会发生什么。

我不认为这是重复的-指出的一个错误更多是关于“如何存储反转数据?”这篇文章解决了两个问题-“当您逆转某件事时,您认为记录什么数据很重要,以及如何记录它?”

#1 楼

根据我的经验,这通常是这样的,如果您在IDB数据库之外有文档需求,那通常是因为您正试图与其他反向工程师共享信息。为此,您可能需要看一下collabREate或IDA工具包。不幸的事实是,由于原始作者的兴趣不足,许多此类项目往往会变慢或完全消失。

现在,如果您的问题完全集中在文档方面,那么我也能找到常见的做法是在头文件中包含函数,类和结构定义,并在其中带有doxygen或JavaDoc格式的注释。然后,您可以使用doxygen生成自动文档和类图。通过这种方式,文档变得完全有效,可自我维护并且易于浏览。

评论


也许您应该在原始问题(或那里)中回答。

– 0xC0000022L♦
13年11月21日在15:02

@ 0xC0000022L如果关闭,则将答案添加到perror的问题中。

– Peter Andersson
13年11月21日在15:03

谢谢您的回答!我会再等一会再关闭它。

–多米尼克·安塔尔(Dominik Antal)
13年11月22日在12:32

@休闲我认为不幸或可悲的事实是,这个问题没有真正令人敬畏的答案。这些类型的项目经常由于缺乏资金而弹出,被放弃,并且从未达到成熟成为解决方案的唯一选择。

– Peter Andersson
13年11月25日在18:06



@PeterAndersson是的,我很难在互联网上找到任何有关此的信息。无论如何,谢谢您的帮助!

–多米尼克·安塔尔(Dominik Antal)
13年11月25日在21:15