VIPER programs are stored in a format called GEX3 no matter if they are .GEX , or .VCL. Grunty OS can also store native code inside .GEX files. The application type is set to 0xFF for native Grunty OS programs. All code segments (.BSS , .TEXT ect) are stored as resources.

Name Data Type Description
Magic Number char[] The Magic number GEX3 SC , or 47 45 58 33 20 53 43
Program Name string The official name of the program
Publisher string The publisher of the program
Creator Username string The user name of who ever compiled the program
Main Class string The name of the class that containts the main function or entrypoint
Application Type int32 Represents whether the program is a Class library , Console application or Forms Application
Version int An int that represents the Version
Entrypoint int Were to begin executing the code. The main function address
Time Stamp string The time at which the application was created.
Signature int A digtal signature
DLL count int How many external libraries are to be dynamically link with the progam
DLL name string The path of a VIPER class library that is to be dynamically linked during runtime
Resource Name string The name of a resource contained in the GEX file
Resource Length int The length of a resource
Resource contents byte[]

All of the data inside a resource. This may be graphics , or code. Every single class becomes a seperate resource in the GEX file

.BSS (For native GEXs only) byte[]

Contains all variables to be allocated

.TEXT (For native GEXs only) byte[]

Contains x86 machine code

Last edited Sep 6, 2012 at 11:52 PM by GruntXProductions, version 5


No comments yet.