怎么判断一个exe是使用Delphi开发的?常用的方法是什么?

解决方案 »

  1.   

    最基本的:exe、dll入口特征码:[Borland Delphi v6.0 - v7.0=558BEC83C4F0B8::::::::E8::::FBFFA1::::::::8B::E8::::FFFF8B0D::::::::A1::::::::8B008B15::::::::E8::::FFFFA1::::::::8B::E8::::FFFFE8::::FBFF8D40]
    [Borland Delphi v5.0 KOL/MCK=558BEC::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::FF::::::::::::::::00::::::::::::::::::::::::000000::::::::::::::::00::::::::::::::::::::::::::::000000::::::::::::::::::::::::::::::::::::::::000000::::::::::::::::::::::::::::::::::::::::000000::::::::::::::::::::::::::::::::::::::::::::::::::::::00::::::::::000000::::::::::::::::::::::::::::::::::::::000000::::::::::000000]
    [Borland Delphi v5.0 KOL=558BEC83C4F0B8::::4000E8::::FFFFE8::::FFFFE8::::FFFF8BC00000000000000000000000]当然,还有特征字符串
    exe与dll结构
    很多方面............
      

  2.   


    00407130 >  55                        PUSH EBP
    00407131    8BEC                      MOV EBP,ESP
    00407133    83C4 F0                   ADD ESP,-10
    00407136    B8 AC654000               MOV EAX,exe.004065AC
    0040713B    E8 34A0FFFF               CALL exe.00401174
    果然...
      

  3.   

    PEID可以查看
    还有,一般delphi开发的程序,默认情况下,任务栏菜单只有还原,最小化,关闭这三项。其它工具开发的程序一般都有6项。当然这个不是绝对的,可以自己改。
      

  4.   

    最简单的是用记事本打开exe或dll,如果前三个字符是MZP基本上就确定是delphi写的
      

  5.   

    Exe运行起来后,用Spy++查看窗体、控件的类名,发现都是以T开头的,呵呵。
      

  6.   

    如果exe没有压缩,用16进制编辑器打开,在偏移400的地方,如果有@ Boolean这个字符串的话,就是
      

  7.   


    加壳后 PEID  看不到吧? 
      

  8.   

    总结一下:
    1 入口地址
    2 PEID软件(这个软件的原理是什么, 暂时不详细)
    3 开头, Delphi是 MZP,   VC++ 是 MZ?  
    4 PE 头 Delphi是 This program must be run under Win32, VC++ 是 This program cannot be run in DOS mode
    5 用Spy++等 能看到类名 Delphi是  TForm  C++ 是 #32270 MFC 是 afx***
      

  9.   

    PEID是个好东西!不过中文版中毒后会卡死,建议用英文
      

  10.   

    用UltraEdit打开exe,查找“Borland”或者"Delphi",在查找选项中把ASCII勾上,总能找出几处来~
    记得N年前更有趣的讨论是“Delphi”自己是用什么做的?
      

  11.   


    我没说壳头,而是真正的程序PE头
    我猜PEID也是先分析壳,除壳后,再分析PE的得出的结果,猜的哈...
      

  12.   

    如果用DELPHI编写出的EXE程序用PEID
    测试时会显示相关的信息:“Borland Delphi 6.0 - 7.0”