怎么判断一个EXE程序是否由MFC编写?
本来打算用SPY++通过控件的类名来判断,可SPY++只能查看出VB和VCL的控件类名,MFC的控件类名依旧显示得跟普通SDK类名一样。随后想看看能不能拿Depends....
本来打算用SPY++通过控件的类名来判断,可SPY++只能查看出VB和VCL的控件类名,MFC的控件类名依旧显示得跟普通SDK类名一样。
随后想看看能不能拿Depends.exe来查看它的运行库列表里有没有MFC库,却又发现无论有没有使用MFC,在Depends.exe里好像都不会显示MFC运行库似的(又或者是被我测试的程序采用了静态链接)?
那……还有啥方法可以判断一个程序是不是MFC程序呢?在Windows的组件以及人们常用的工具软件里,又有哪些用上了MFC的呢?
我就想知道知道MFC算不算一个常用的编程方式。 展开
随后想看看能不能拿Depends.exe来查看它的运行库列表里有没有MFC库,却又发现无论有没有使用MFC,在Depends.exe里好像都不会显示MFC运行库似的(又或者是被我测试的程序采用了静态链接)?
那……还有啥方法可以判断一个程序是不是MFC程序呢?在Windows的组件以及人们常用的工具软件里,又有哪些用上了MFC的呢?
我就想知道知道MFC算不算一个常用的编程方式。 展开
2个回答
展开全部
如果采用了静态链接并且没有任何dependents,不能用严格的逻辑来判断使用了哪种编程库。
一般来说,判断一个程序是否使用MFC,首先看运行库,只有这个可以严格确定。如果没有,那么只能根据经验来分析猜测,用SPY++看到的只能作为参考(因为不同编程环境对控件类型的支持有差异,但多数标准控件和窗口一致)。这个分析,多数是通过编程风格、界面习惯、输入控制等方面入手,因为一个软件不可能完全避免使用开发环境的标准模式,不过这个,需要较多的编程经验来分析了。
另外一个,可以根据exe文件的属性中的版本信息提供参考,也可以根据其它资源、数据文件提供参考,但这些都不是绝对的。
最后,还可以通过exe的二进制数据分析来判断,这个更麻烦,但可以准确判断出编译器,至于是否使用了某种库,不是一定可以判断。
一般来说,判断一个程序是否使用MFC,首先看运行库,只有这个可以严格确定。如果没有,那么只能根据经验来分析猜测,用SPY++看到的只能作为参考(因为不同编程环境对控件类型的支持有差异,但多数标准控件和窗口一致)。这个分析,多数是通过编程风格、界面习惯、输入控制等方面入手,因为一个软件不可能完全避免使用开发环境的标准模式,不过这个,需要较多的编程经验来分析了。
另外一个,可以根据exe文件的属性中的版本信息提供参考,也可以根据其它资源、数据文件提供参考,但这些都不是绝对的。
最后,还可以通过exe的二进制数据分析来判断,这个更麻烦,但可以准确判断出编译器,至于是否使用了某种库,不是一定可以判断。
2015-03-03
展开全部
外行 来学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询