前面说过了mynav是BinNavi的仿真产品(流行的术语叫山寨),在接下去介绍另一款山寨工具前我们得来看看mynav能帮我们做些什么 首先mynav使用是有较多限制的,毕竟他是以IDA pro的插件形式出现,那么在使用时有些步骤是需要遵循的: 1。在IDA pro分析模块没有载入前,mynav不可以运行,就是说mynav脚本不能放入IDA pro 的 plugins目录下,在plugins目录下的将会被自动运行,mynav是需要根据IDA pro数据的数据文件名而生成自己的数据库文件名,所以使用mynav的时机是在模块分析完成后,如果是DLL文件模块,还必须先在IDA pro里在调试模式下先运行一次后等基址重定位后再可以使用。 2。载入mynav插件的方式是在IDA pro里用打开脚本的方式来执行 3。加载完后的插件菜单有多出冠以MyNav前缀的插件 对于跟踪来说主要用到的是New session和Trace in session,其中New session会开始一个新跟踪,在你没有指定跟踪范围时默认是全部的模块,但我们在一些稍大些的软件中我们可以用Advanced selection options的选项里指定区域或两个点之间的范围 Trace in session是在New session的基础上进行更具体的跟踪,在New session其间我们往往会将一跟踪任务做完整列出所有的节点,而用Trace in session对其中的每一个单独的流程进行跟踪,如此我们将跟踪的结果可以做差异比较,MyNav会用不同的颜色在图中表示出来 图中我们用记事本的打开文件对话框来做了一次跟踪,首先我们取了一个名为test的开始新跟踪,这时MyNav先会对程序的所有的入口处设置跟踪断点,并启动程序,在我们执行感兴趣的功能后关闭程序,此时会做出一张节点图, 我们继续跟踪打开文件的基于test跟踪之下的Trace in session,名叫Trace:test_ok,执行打开文件并关闭程序 再来一次继续跟踪打开文件的基于test跟踪之下的Trace in session,名叫Trace:test_c,此次到打开文件对话框后按取消,然后关闭程序返回到IDA pro 此时我们分别显示Trace:test_ok和Trace:test_c,在图中我们可以看出用不同颜色标注的流程 当然MyNav有一个特别大的缺陷:就是很慢,反正做New session还好,在大程序里再继续Trace in session需要足够的耐心,反正对于通达信这种软件我不会用MyNav来跟踪而会用PAIMEI,当然在用New session时记录下来的函数列表里已经含有我们需要的信息, 在下节我们将简单的介绍PAIMEI来跟踪的方法, --------------- 本来是想在win XP的虚拟机里做一次跟踪TDX的例子,我自己用的是win 7 64位的系统,但被MyNav的龟速吓到了,只好转用记事本程序做了个例子,决定不再提MyNav而下面的例子都在能自动找基址和模块的PAIMEI里进行,最关键的是在win 7下面调试无障碍 |
|
来自: herowuking > 《Cracker》