对于软件逆向,有称手的工具往往事半功倍,这里简单罗列出一些常用工具,不做详细介绍,供新手一个入门指引。
静态分析工具首推IDA,有了它其他的反汇编工具基本用不着。
动态调试工具有OD和windbg。 调试应用层程序两个调试器都可以,OD因为主要面向逆向,窗口布局更为合理直观且插件众多,所以一般情况下都首选OD,windbg没那么方便,大部分操作通过命令来进行,但它也有它的优势,各种命令(内置命令、元命令和扩展命令)提供了强大的控制和分析能力,所以windbg有时也会用到。如果要调试内核程序或模块那OD就无能为力了,windbg可以说是唯一的选择,以前还有个softice,但softice已经停止更新和支持,现在已经没什么了用了。
侦壳工具一般用PEid,其他的工具也有,这里就不列出了。PEid功能强大,但很多时候也分析不准,不能过于相信它的结果。主要还是通过自己的分析来判断。
对于脱壳,网上也有很多对某种壳的自动脱壳工具或者脚本,这里工具本人都不怎么用,不好推荐,对于想深入学习逆向这门手艺的新手我还是建议要多尝试自己手工脱壳,不要沦为被人鄙视的script kids。至于dump程序,我们可以用LordPE或者ollydump,dump好了之后可能还需要导入表修复工具importREC等。这只是比较理想的情况,有些时候还得自己手工去做些分析和修复。
对于逆向工程师来说,二进制编辑工具和比较工具是少不了的,编辑工具主要选UltraEdit、Hex Workshop以及WinHex,他们各有优缺点,可以根据