快速找出通达信(TDX)每个模块读写的配置文件
-
相关简介:这是关于使用IDA pro来调试TDX程序中的一个小技巧,关注点是针对配置文件,毫无疑问,TDX在运行中的很多变化是通过配置文件来实现的,那么我们在深入分析前摸清配置文件被谁用、怎样用、谁改写将会极大的提高分析的正确度和少走弯路,文中示例取了对读写配置文件较少的NODETOOL.EXE是为了看的清楚些; 如图在打开IDA pro并载入NODETOOL.EXE自动分析完后,会有Imports栏,我们知道对配置文件的读写有以下几个函数GetPrivateProfileString 、GetPriva
-
文章来源:股海网作者:股海网发布时间:2012-02-25浏览次数:
这是关于使用IDA pro来调试TDX程序中的一个小技巧,关注点是针对配置文件,毫无疑问,TDX在运行中的很多变化是通过配置文件来实现的,那么我们在深入分析前摸清配置文件被谁用、怎样用、谁改写将会极大的提高分析的正确度和少走弯路,文中示例取了对读写配置文件较少的NODETOOL.EXE是为了看的清楚些;
如图在打开IDA pro并载入NODETOOL.EXE自动分析完后,会有Imports栏,我们知道对配置文件的读写有以下几个函数GetPrivateProfileString 、GetPrivateProfileInt、WritePrivateProfileString、WritePrivateProfileInt分别是对配置文件读字串、读整数、写字串、写整数,函数原形请参考MSDN;
如图所示我们发现了GetPrivateProfileStringA 、GetPrivateProfileIntA、WritePrivateProfileStringA,双击条目,将窗口定位到IDA View-A可以看见下图:
然后在GetPrivateProfileStringA单击右键弹出菜单,选"Jump to xref to operand"(转跳到操作引用参考),此时会弹出一个窗口如下图:
在上图中我们选其中的一条来看,有如下图,读Connect.cfg文件区段为"OTHER"键名为"PreName"的键值参数,如没有此条目默认值为"通达信集成版";
同样的方法我们来看看它写了些什么配置,在Imports窗口双击WritePrivateProfileStringA,返回IDA View-A窗口,看图,这段可以看出,在初始化数据后会对配置文件T0002\user.ini的以下内容进行改写:
[Other] -- 表示区段
FirstChartZb=MA --- FirstChartZb叫键名,
FirstChartZb_Zs=MA
---------------------------
附加说明,另一类的配置文件,如XML\XMB后缀的是被交易系统使用的,TDX并未用标准的windows API来操作,而是调用了自己的一个MfcHlpr520.dll动态连接库来进行操作,这个如有可能以后另文说明.