mardi 21 février 2012




如何判断软件由什么语言开发?
转载自http://tenjishen.com/1389
作为一个软件发烧友,每每看到自己喜欢的软件,总是很喜欢去寻根问底这款软件,当然包括软件的开发语言了。关于如何判断一款软件的开发语言,我尝试着去寻找比较简单的方法,但是貌似都不是很有用。而且随着网络时代的来临,各色各样的软件充斥着我们的视野,大部分的软件开发者并不希望你知道软件是用什么开发的,因为只有傻傻的用户才能给软件开发者带来一沓沓的利益啊,呵呵!以下是我找的一些关于如何判断软件由什么软件开发的资料,对这方面感兴趣的朋友可以看看:


简单方法:使用PEID这个软件


PEID是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE文档的加壳类型和签名。首先,必须把目标软件脱壳,商业应用软件为了保证自己得权益,多数会加壳。关于如何脱壳,这里就不赘述了,脱壳之后直接将软件加载入PEID中就可以了,如下图:






关于PEID的详细资料:百度百科


要看是怎么编写的:
1看面子:


图标:


简单点,有好多程序从写出来以后就是用的开发环境的默认图标,这个很好认。delphi,vc,visualStudio都有自己的默认应用程序图标,一看就能分出来。应该没有人会无聊的开发个.NET程序用delphi的默认图标。


控件:


VC,VB,Delphi,.Net,Java各自的桌面系统都有各自的默认控件实现方式,他们在细节上是有所区别的。具体的我也说不上来,这是一种感觉。比如VC的程序控件有可能很粗糙(也有可能极漂亮),VB的就很精致,Delphi有自己的特点,Java极丑等。


2看程序要求的dll:


如果要求有mfc42.dll,那肯定是VC做的MFC程序啦?
如果要求有mscoree.dll,这应该就是.NET做的了。
如果要求msvcrt.dll,这就应该是VB开发的。


3.看程序代码:


不同的编译器产生的目标代码会有自己的特点,详细的需要具体分析了。如果能得到的产生代码的编译器,则可以间接的了解是什么语言写的。


上面说的可以说都不是绝对的,都只是一种经验式的大致判断方法,具体的还需要自己去慢慢积累吧

clicksor