有时我必须对某些软件/固件/应用程序进行逆向工程/反汇编,我怎样才能跟踪结果、我发现的应用程序流程以及我在一段时间(几个月)后返回该项目工作时通常需要的详细信息?
通常我必须分析某种自制的加密系统,当我在做项目时,我可以记住所有我需要的细节,但是如果我在返回工作时暂停项目一段时间(例如 1 个月)关于它,我必须重新学习至少一半的细节。
总结:我正在寻找一个简单、可浏览的系统来跟踪我反汇编的应用程序的详细信息,以使它们有用。
有时我必须对某些软件/固件/应用程序进行逆向工程/反汇编,我怎样才能跟踪结果、我发现的应用程序流程以及我在一段时间(几个月)后返回该项目工作时通常需要的详细信息?
通常我必须分析某种自制的加密系统,当我在做项目时,我可以记住所有我需要的细节,但是如果我在返回工作时暂停项目一段时间(例如 1 个月)关于它,我必须重新学习至少一半的细节。
总结:我正在寻找一个简单、可浏览的系统来跟踪我反汇编的应用程序的详细信息,以使它们有用。
逆向工程目前还不是很成熟。当我这样做时,我经常做这些事情:
给重要的功能明确的名称。
使用一些具有类结构的工程软件/工具绘制流程图。
最后的武器:根据你的分析重写程序的源代码(或其中的一部分)。代码是最好的文档。
您可能需要阅读软件工程以了解其他人如何跟踪大型软件项目中的事情。
如果您想获得完整的逆向工程文档示例,这里的一位版主有一个网站,其中包含完全逆向工程恶意软件分析 IDA Pro 数据库。看看他如何处理每个功能可能会被证明是一个很好的框架。
http://www.msreverseengineering.com/blog/2014/6/23/baglew-thorough-idb
http://www.msreverseengineering.com/blog/2014/6/23/commwarriorb-thorough-idb-armc