如何检查?

解决方案 »

  1.   

    给作者发电子邮件
    接分,Oh Yeah~
      

  2.   

    反编译一下看看
    可以考虑用OD或者IDA,C32ASM等等
      

  3.   

    等待高人指点,不知peid能否查到
      

  4.   

    这个如果生成时不给标明,基本 上是没法实现的,给作者发电子邮件
    接分,Oh Yeah~这个的建议可行
      

  5.   

    改后缀为.jar 用解压软件看是否可以打开。一般的java的exe加壳工具打包的都可以用解压软件打开
      

  6.   

    改后缀为.jar 用解压软件看是否可以打开。一般的java的exe加壳工具打包的都可以用解压软件打开
    -------------------------------------------
    改成zip行吗?直接双击就打开了,哇咔咔咔咔~
      

  7.   

    简单,你把你机器上的jre 卸掉  ,然后看还能执行不!  java虽然能专成exe 但是内部还是用脚本掉用jar,没有jar 是不能运行的!
      

  8.   

    java是不能生成exe的 他使用的是winrar生成的exe 执行jar的脚本而已
    你直接拿winrar看能不能打开,如果能打开再看里面就是java的了我倒看看csdn倒还有没有人只问问题不散分了
      

  9.   

    我觉得应该很简单吧,你不装JAVA运行环境,如果还可以运行,肯定不是JAVA的
      

  10.   

    还是这个方法好,哈哈---------------------
    给作者发电子邮件
    接分,Oh Yeah~
      

  11.   

    执行之后会启动java(w).exe进程
      

  12.   

    > 我觉得应该很简单吧,你不装JAVA运行环境,如果还可以运行,肯定不是JAVA的> 执行之后会启动java(w).exe进程这两个都不是彻底的办法。我自己做个程序包,把 JRE 里必要的东西都带进去,然后做个 EXE 通过 JVM.DLL 加载虚拟机。这样的话,既不需要目标机器预先安装 JRE,也不会看到 java.exe 进程。总之,不会有什么“彻底”的办法。
      

  13.   

    删除环境变量中的JAVA_HOME试试。
      

  14.   

    shine333(enihs)说的方法最简单^_^
    如果是纯exe脱离了jre的,除非文件中有属性标记(比如delphi的程序,如果用UE打开,都会有一句:This program cannot be run in DOS mode),否则基本考猜测了。如果是封装的exe,就用解压法或者运行法,呵呵。
      

  15.   

    不知道楼上各位是否知道
    jar2exe  (这个生成的exe程序不能解压且无javaw进程)
    所以我觉得把JRE卸了看看可不可以运行比较保守
      

  16.   

    真TMD简单的办法,你把Java虚拟机卸载了它还能运行就不是Java的,否则就是。
      

  17.   

    也有可能不是纯EXE文件,比如Eclipse中的EXE只是一个加载程序
      

  18.   

    如果能用winrar解压缩,就说明是jar转的
      

  19.   

    exe文件是给windows处理的可执行文件,与什么语言写的无关吧
      

  20.   

    java的exe文件大多数的都能用解压缩工具解开,
    如果不能解开就是楼上那些方法,卸载虚拟机等。
    不过也可能打包时就把虚拟机打到里面了,可能需要看是否有JAVAW进程了不知道有什么完美的方案
      

  21.   

    查看文件的字符串,看是否包括JAVA字符串
      

  22.   

    没见过用java生成exe,只见过java通过jni生成exe,但那已经是C/C++的code了。呵呵。
      

  23.   

    > 如果能用winrar解压缩,就说明是jar转的
    这位兄台混淆了充分条件和必要调价,“Jar转的”=>“能用winrar解压缩”,“能用winrar解压缩”=>“Jar转的”
    RAR,LZH,ISO都可以用WinRAR解压反正Java程序无法脱离JVM,即使原先是Java程序的,但是经过工具转化,不再需要JVM了的程序,我们也不认为它是Java程序了。
      

  24.   

    侦壳。还可以运行看任务管理器,看有没有java进程。
      

  25.   

    调试之!看运行的过程!如果都是win api,肯定是非java
      

  26.   

    反编译,然后观察是不是.JAVA或.CLASS的后缀名。
      

  27.   

    没装java虚拟机不能运行, 那就自然是java写的喽
    反正我没见几台机器上装java虚拟机了
      

  28.   

    如果这个exe有图形界面,随便搂一眼也知道它是用awt,swing 还是swt写的。
      

  29.   

    stonegump(龙飞虎) ( ) 信誉:100    Blog  2006-09-26 11:43:00  得分: 0  
     
     
       如果这个exe有图形界面,随便搂一眼也知道它是用awt,swing 还是swt写的。
      
     
    ---------------------
    这倒未必
      

  30.   

    改后缀为.jar 用解压软件看是否可以打开。一般的java的exe加壳工具打包的都可以用解压软件打开
      

  31.   

    运行速度特别慢的就是java写的了
    :) joke
      

  32.   

    没装java虚拟机不能运行, 那就自然是java写的喽
    反正我没见几台机器上装java虚拟机了-------------------------------
     大哥,你不知道jre也可以绑在一起的阿?可以把jre跟软件放在一起打包的
      

  33.   

    运行软件后,看看你的进程是否增加了一个javaw
      

  34.   

    maquan('ma:kju) ( ) 信誉:100    Blog  2006-9-25 11:51:42  得分: 0  
     
     
       
    > 我觉得应该很简单吧,你不装JAVA运行环境,如果还可以运行,肯定不是JAVA的> 执行之后会启动java(w).exe进程这两个都不是彻底的办法。我自己做个程序包,把 JRE 里必要的东西都带进去,然后做个 EXE 通过 JVM.DLL 加载虚拟机。这样的话,既不需要目标机器预先安装 JRE,也不会看到 java.exe 进程。总之,不会有什么“彻底”的办法。学习中。  
     
      

  35.   

    Java的界面风格跟标准Windows风格很不同,基本上一看就能分辨出来。
    很同意kwanhong的观点。
      

  36.   

    最简单的做法,在一个没有装 JRE 的机器上运行,能成功则表示这个程序不依赖于 Java 运行环境。
      

  37.   

    其实不难,楼主你检查一下这个可执行文件的头4个字节是不是"c","a","f","e"如果是的话, 就说明它是一个java可执行文件请参考<<Linux内核源代码情景分析>>第4章对exec函数讲解的那一段
      

  38.   

    见这么热闹,我来说两句,上面有的朋友所说的,看看能不能用winrar解压,及不装jre是否能运行,这两种作法都不是严瑾的,有一个软件,叫NativeJ, 这个软件做成的exe是不能被WinRar解压的,而且,可以把jre合并进最后生成的exe文件中,那么就算目标机子不装jre,也一样能运行。
          其实,java做的程序,光从界面及菜单的弹出速度就能感受出来了。而且也有绝对点的判断方法,你运行exe后,在进程管理器中,看看是否多了个javaw.exe进程就行了。
      

  39.   

    可能真的需要靠感觉来判断了...补楼上, 前面有位老兄说, 可以怎么弄个什么虚拟机DLL, 以避免出现javaw.exe进程...
      

  40.   

    哈哈~~~~~一般用JAVA做的软件的界面肯其他软件做的界面有区别~~~可以看出来的~~
      

  41.   

    答案在这里:
    如果是java做的exe文件;使用任何一个文本编辑器打开,在exe文件的末尾都包含有该exe文件使用的class名字
      

  42.   

    看在没有JAVA环境的电脑上能不能运行.
    JAVA编的程序要在JAVA环境下才能运行.
      

  43.   

    学习了。
    我还是比较常用的是看启动的进程。先把会引起歧义的kill掉,启动程序后看一下就可以了。