Jump to content
Excelsior Forums
roedy

exe file signature

Recommended Posts

How do you tell if an exe file is a Jet exefile and which version of Jet it wants? I presume there is something in the header.

Share this post


Link to post
Share on other sites

How do you tell if an exe file is a Jet exefile and which version of Jet it wants? I presume there is something in the header.

Hi,

To determine which version of Excelsior JET application wants you can do the following in command line:

1) set JETVMPROP=-version

2) your_application.exe

It will print information about Java version and about JET version. Is this what you wanted?

Regards,

Vladimir Parfinenko,

Excelsior Support

Share this post


Link to post
Share on other sites

How do you tell if an exe file is a Jet exefile and which version of Jet it wants? I presume there is something in the header.

Let me explain what I want to do. I want to write a utility that you pass it the name of an exe, and its seaches the path to tell you about the first and all matching exes it finds.

If it finds an exe that needs jet, it tells you if the run time it wants is older than than the most current.

So I want to be able to read the first few bytes of the *.exe file and first of all determine if it is a jet exe, and if it is which version it wants so I can warn the user if it is out of date.

Another way of asking, is I would like to see the code that the launcher uses to find the version.

Ideally you would just say "The jet exe file signature is at hex offset yyyy and is the string 0xffeeddcc.... The version is at hex offsite zzzz and in an little-endian 2 bytes containing an int version * 100.

Share this post


Link to post
Share on other sites

Hi,

In general case we could not provide you an information about the format of our executable files.

If you really need this information please contact our support by email java[at]excelsior-usa.com and describe for what you need such an utility.

Regards,

Vladimir Parfinenko,

Excelsior Support

Share this post


Link to post
Share on other sites

In general case we could not provide you an information about the format of our executable files.

If you really need this information please contact our support by email java[at]excelsior-usa.com and describe for what you need such an utility.

Here is what I said:

Vladimir Parfinenko asked me to write you.

I am in the process of writing a free opensource WHICH utility for Windows. Basically what it does it search the path and tell you about the instances of the executable it finds.

I wanted to make it a little cleverer than the standard WHICH.

  1. also handle class and jar files by searching the classpath.
  2. let you know if the executable was Jet and hence needing a runtime.
  3. telling you the runtime it needed, so that if it were out of date, you would know to recompile it or get an updated version and updated runtime.

This third feature would come it handy to make sure you had killed/replaced all the old *.exe files when you install a new Jet version.

Officially Jet considers its exe format a proprietary secret, however, all I need in the file signature to let me tell a Jet exe apart from an ordinary exe, e.g. the hex offset of some distinctive few signature bytes.

Similarly I would like to know where to extract the Jet runtime version the exe needs, including whether it is 32 or 64 bits.

Some advantages of complying with my request:

  1. the utility is in effect a miniature advertisement for Jet. There will need to be included in the documentation what Jet is, why you might want it, and where to get it. It will get passed around to people piggybacked on my utility who might otherwise have never investigated Jet.
  2. The utility will help Jet users manage multiple Jet versions, and Jet upgrades, sorting out problems with mismatches.
  3. It will help notify your users of recent updates. My utility will indirectly notify them, if for some reason your emails do not get through.
  4. It will be my first utility that I also distribute in Jet EXE form. Because I maintain the Java glossary, the thousands of people a day who visit the site will be curious to try out my latest toy.
  5. The information I am asking for is something that any pirate could discover in less than a day. It is not really secret, just time consuming to glean indirectly. This information is of almost no use in disassembly.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×