Menu
Is free
check in
the main  /  Installation and Setup / Executable programs. Structure of software components

Executable programs. Structure of software components

Many users of computer systems are certainly faced with the concept of the executable program file. Executable files are not always, but quite often have exe extension, which is generally accepted for Windows operating systems. To make a little clarify the question associated with extensions, we will consider general information about these objects, as well as consider some types of basic extensions.

What executable files differ from other objects

Before asserting that the executable program file may have an extension of only one particular type, it is necessary to figure out how to distinguish such an object from others. The main differences of executable files from other information data include the following factors: the extension itself, which indicates the content in the file or machine, or byte-code of the virtual machine, signature, attributes in the file system. However, even if the user knows that executable files have an extension name of the EXE type, then the contents cannot see the contents, since such objects have compiled content that is displayed when viewed as a meaningless set of characters. In the general case, the user will have to use the disassembler tools, or something like that, which allows decompiling. But it will not be about it.

Executable Files: Structure

As for the construction of executable files, they must contain headers (estimated instructions, parameters and code formats) and directly the instructions themselves (source, machine or byte-codes). In some cases, the structure may include data for debugging, descriptions of the environment, operating system requirements, lists of appropriate libraries, sound, graphics, images, label icons, and the like. Many of you probably paid attention to the fact that for the most part of each such file in the operating system initially there is an icon.

Principle of operation

Despite the fact that executable files may have expanding various types, they work according to one principle. The executable file at startup is loaded into the computer's memory. In this case, setting up the environment and initialization are carried out, additional libraries are tightened if their use is provided by the program. Also at this stage there is a configuration of some additional operations and the execution of instructions by the methods that are written directly in the file.

Executable program files: What extension do they have?

We now turn to the consideration of the issue associated with expansion. Of course, completely all types will not be able to consider, it will take a lot of time. We only celebrate the most common and popular options. So, the extension is set depending on the type of content. For example, in the Windows type operating system, the most common executable files have an exe extension. This applies to all programs that are designed to work in the operating system data environment. Such objects contain machine codes. BIN files are very similar. CMD, BAT and COM package files are another type of executable files. The first type in this case is a Windows packet file. The files of the second and third type belong to the operating systems of the DOS family. Many of you probably have already met the MSI IMSU files. This can be a system update installer, or a native Windows operating system installer. A separate category of files make up macros and scripts. These are files with JSE, JS, SCR, VBE, VBS, VB extensions. Jad andjar files are also found, which are designed to install applications in mobile devices or use in Java. In its content, such objects have no car codes, but virtual machine codes.

What extension have executable files in different OS?

If you carefully look, it can be noted that in some OS there are quite specific components. For example, in the Windows operating system there is a special category of executable files. In general, in any operating system you can find both standard and special components. However, there are some common formats, such as HTA, executable HTML document. They work almost everywhere regardless of the type of operating system used. As for other types of systems,, for example, "Macs" executable files have an extension of the App for programs and PKG for distributions. In the operating systems of the Linux family, the situation is a little different. The problem lies in the fact that in such operating systems the concept of expansion is generally absent. You can recognize the executable file by attributes, for example, system, hidden, read only, etc. As a result, the problem of changing the extension to start or read the search file disappears. However, in any operating system, even on mobile devices, you can find a huge number of objects of this type. No need to go far. In the same operating system of the Android family, the installer executable file has an extension APK. In apple devices, executable files have an extension of IPA.

Conclusion

Let's summarize our small review on expanding executable files. The emphasis in this case was made mainly to objects that are present in the Windows operating systems. The remaining operating systems were affected only casual for general development. As it has already become clear, the variety of executable files is very large. It is impossible to bring some kind of consolidated table with the indication of completely all types of extensions. Therefore, in this article we were limited to the most common formats.

Memory bootloader operating system and then executed. In the Windows operating system, executable files, as a rule, have extensions ".exe" and ".dll". Expansion ".exe" have programs that can be directly running by the user. The extension ".dll" has the so-called dynamic link libraries (Dynamic Link Libraries). These libraries export the functions used by other programs.

In order for the operating system loader to load correctly executable file. In memory, the contents of this file must comply with the format of executable files adopted in this operating system. In different operating systems at different times there were many different formats. In this chapter, we will consider the PORTABLE EXECUTABLE (PE) format. PE format is the main format for storing executable files in the Windows operating system. Assembly. NET is also stored in this format.

In addition, PE format can be used to represent object files. Object files serve to organize a separate compilation of the program. The meaning of a separate compilation is that the parts of the program (modules) are compiled independently into object files, which are then associated with a linker in one executable file..

And now - a little history. PE format was created by Windows NT developers. Prior to that, the Windows operating system used New Executable (NE) and Linear Executable (LE) formats for presenting executable files, and for storage object files Used Object Module Format (OMF). The NE format was intended for 16-bit Windows applications, and the LE format was originally designed for OS / 2, was already 32-bit. The question arises: why did Windows NT developers decide to abandon existing formats? The answer becomes obvious if you pay attention to the fact that most of the team working on the creation of Windows NT previously worked in Digital Equipment Corporation. They were engaged in DEC to develop a toolkit for the VAX / VMS operating system, and they already had skills and ready-made code to work with executable files presented in Common Object File File Format (COFF) format. Accordingly, the COFF format in a slightly modified form was transferred to Windows NT and received the name PE.

In "Net Framework Glossary" It is said that PE is the implementation of the Microsoft COFF format. At the same time, it is argued that PE is the format of executable files, and COFF is a format object files. In general, we can observe the confusion in the Microsoft documentation regarding the format name. In some places they call it COFF, and in some - PE. True, it can be noted that in the new texts the name COFF is used less and less. Moreover, PE format is constantly evolving. For example, a few years ago, Microsoft refused to store debug information inside the executable file, and therefore now many fields in the COFF format structures are simply not used. In addition, the COFF format is 32-bit, and the last edition of the PE format (it is called PE32 +) can be used on 64-bit hardware platforms. Therefore, apparently, the case goes to the fact that the name COFF will stop using.

It is interesting to note that the executable files in Outdated NE and LE formats are still supported by Windows. The executable files in NE format can be run running NTVDM (NT Virtual Dos Machine), and the LE format is used for virtual device drivers (

Most users of modern computer systems, one way or another, are faced with the launch of programs that mostly reduce the executable file. Roughly speaking, in all programs to launch the main application, the EXE format object is used. But it's not always the case.

In the outdated OS, such as DOS or other windows, such files may have a completely different extension, although the start principle remains completely unchanged.

Follow the executable file: What does this mean?

For a complete understanding of the essence of what is happening first, it is worth dealing with the fact that any process of starting the application represents. The same executing file "Navitel" or any other program is a certain applet in which the start code is written to the operating system or additional applications for this purpose. But it is worth understanding that programs consisting exclusively from one executable file today are irrelevant. As a rule, the package includes a huge number of related components in the form of the same dynamic libraries having a DLL extension. As if without them, the executable file may not always.

The essence is that when starting the main software package module, which consists in the start of the EXE file, some applications require "loading" of additional modules that are just the configuration settings files or the same dynamic libraries containing data about program.

By the way, sometimes the dynamic libraries themselves are able to play the role of programs. So, for example, the start of any VST tool in the modern studio (DAW) occurs precisely on this principle. The program as such as the Standalone version may be absent, but the plugin in the form of its analogue with the DLL extension is recognized by any program.

Programs-executable Files: Types

But that's not all. The extension of executable files today is not as easy, not to mention the EXE or COM format files. Separately, it is worth noting not only the standards mentioned above, but also archive data.

In fact, the SFX format archives (Self-Extracting) are independently recoverable data based on the unpacking algorithm. This type is simpler. It is enough to make a double click, and the operation when choosing an extraction site will be performed automatically. On mobile devices, formats like JAR, JAD APK, etc., belonging to the discharge of installers.

Is it possible to open executable files?

Many users are interested in the question of editing started files. Immediately cost everyone. The fact is that the same "eczeshniki" are compiled programs, the source code of which is usually impossible to view. You can, of course, apply the utilities like Disassembler, but, if the application is written initially in C ++, this result may not give.

How to make the simplest editing?

As already understandable, the EXE file in its readable form is not possible, since the program itself can be written in different programming languages. The same applies to dynamic libraries. But the configuration files can be discouraged even in a standard "notebook". And if you run it on behalf of the admin, you can even install the prohibitions of access to some sites on the Internet, and then save the configuration, which is not possible in normal mode. The same "configs" are edited elementary.

Is it possible to make any file executable?

In principle, any file that is on the hard disk is executed. More precisely, the executable file is to execute, then start the application responsible for opening it. Even in the autoload, you can start the file when starting the system, you can completely elementary.

It is enough to make the process in the list and specify the associated object that will be downloaded immediately (for example, opening an Office document). Make a file performed - this is still far from the most important thing.

Summary

Thus, completing the topic, it is worth noting that the files or objects responsible for starting some application, in the standard option, you can only open a double click. But edit them is not possible. True, if programs have the status of free GNU licenses, you can make changes to the application program code very easily.

But this is a special case that, in general, with the main topic and is not connected. Another thing is to start the executable file, which the user does not have. In this case, the emphasis should be made on viruses that can come in the form of the same email attachments. If you see that the attached file does not have a badge, do not try to open it. Although it equally concerns viruses that are masked for such messages. In this case, malicious program will be able to execute the executable file or the code built into it is completely easily, and then a huge bunch of problems will arise.

And the call (launch) of the executable file in this case can no longer depend on the user itself, since the virus has been introduced into the system. It remains only to rely on universal programs in the form of portable versions or on the RessCue Disk modifications utilities with the system download and checking before the start of Windows starts.

The executable file is as such that the most interesting thing is missing in the bootloader. But there is a BIN configurator, which is responsible for the start of the system. In addition, in outdated versions of Windows, you can also find folders like i386, in which drivers and some other related utilities are located. But in the new versions of such objects there are no objects.

Any user of the computer system, one way or another, came across the concept of the executable program file. And not always (although very often) executable files have an exemplary exe, generally accepted for Windows systems. To deal with the issue of extensions, consider general information about such objects and some of their main types.

Differences of executable files from other objects

Before asserting that the executable program file has an extension of only one specific type, it should be sorted out how to distinguish such an object from others.

In fact, among the main differences of executable files from other information data, several basic are allocated:

  • the extension itself indicating the content in the file or machine, or byte-code of the virtual machine;
  • signature (content in the form of unique byte sequences);
  • attributes in the file system (Execute et al.).

Unfortunately, even if you know that executable files have an extension of the name, for example, EXE, will not be able to view content, since such objects have compiled content, which is displayed when viewed as a senseless set of characters. At best, you will have to use the disassembler tools or something else that allows decompiling. But now is not about it.

Structure of executable files

As for the construction of such type files, as a rule, they contain headlines (estimated instructions, parameters, code formats), instructions (machine, source or byte codes).

Sometimes the structure may include the descriptions of the environment, data for debugging, requirements for OS, lists of related libraries, images, sound, graphics, icons of shortcuts, etc. By the way, many probably paid attention to that most in each operating system The icon in such a file is originally available (provided that it should work from the start).

Principle of operation

Actually, despite the fact that executable files have an extension of different types, they work in a similar way.

When starting, the executable file is loaded into the computer's memory. In this case, initialization and setting up the environment, "pulling up" additional libraries, if the use of such is provided by the program, configure some additional operations and the self-execution of instructions by methods prescribed in the file.

What extension is executable programs?

Now come directly to the extension issue. It goes without saying that absolutely everything will not result in (it will take too much time). On the other hand, you can note the most popular and most common.

So, depending on the type of content and the extension is set. For example, in Windows, the most common executable files have extension exe. This applies to all programs designed to work in the environment of these operating systems. Such objects contain very similar (also with the content of such codes) are BIN files.

Another type of executable files are batch objects of type CMD, BAT and COM, and the first type is Windows, and the second and third are related to DOS systems.

Many have also met MSI and MSU files. It can be either a "native" Windows installer, or the system update installer.

Among other things, a separate category is scripts and macros (VB, VBS, VBE, SCR, JS, JSE). It is often common for JAR and JAD files, designed to install applications on mobile gadgets or use in Java Environment. All such objects in the content have no car codes, but virtual machine codes.

What extension have executable files in different systems?

If you look closely, you can see that in some systems there are also sufficiently specific components. For example, Windows has a special category of executable components (PS1 - executable PowerShell file, PIF - Application information, WSF - script file, etc.).

In general, in any system you can find standard, and special components. However, there are some general formats (for example, HTA is an HTML executable document) that work everywhere and independently of the "Operations" used.

As for other systems, for example, in "Macs" executable files have the extension of the APP, if these are programs, and PKG, if it is a distribution.

But with Linux-systems the situation is somewhat different. The fact is that in them the concept of expansion is missing as such. You can recognize the executable file only by attributes (hidden, only for reading, systemic, etc.). Thus, even the problem of changing extensions disappears to run or read the desired file.

However, in any system or even in mobile gadgets, you can find a huge number of objects of this type. You do not need to go far. In the same Android OS, the installer executable file has an extension APK, and in the "apple" devices these are iPa files.

Conclusion

Here briefly and everything related to extensions of executable files. Of course, in this case, the focus was made mainly to objects present in Windows-systems, and the rest were touched by casual and, so to speak, for general development. And, as already understandable, the variety of objects executed is so large that bringing some kind of consolidated table with absolutely all extensions is simply not possible, so we limited to the most common formats.

EXE is an extension for programs in the DOS and Windows OS. Exe format refers to a group of executable files that contain all data to install the application. To compactly distribute the installation file, compression algorithms are used.

File contents

The EXE extension object is found in Windows. The EXE program contains scripts and compiled software code that starts the application installation. The contents of the EXE object includes:

  • Software resources - graphics and other media elements, as well as compressed packages (.Package) program code classes;
  • Forms of objects (bitmaps, sheets, application icons);
  • Information for the file loader;
  • Installation startup module.

When running an EXE, the system begins to automatically initialize all the archived components of the flash drive, a virtual or hard disk. The EXE file components include software libraries, connected services, software code.

After unpacking the executable file, the operating system begins initializing all software classes and install the application.

EXE opening programs

In Windows EXE, you can open the object using a standard installer or 7Zip utility. To start the file, it is enough to click on it with a mouse or start the object through the archiver menu. To start B. Macos. You should install the Windows OS emulator and open the EXE file.

Exe may not only be a program installation module, but also self-extracting archive. The launch of the EXE files allows its content to be unloaded to the folder specified by the user or the archive itself.

To see the contents of the EXE file without starting it, you should use the tools for the developer, namely the Visual Studio software package. With it, you can edit software resources, change the interface and function of the software module. Making changes is possible only for applications with an open source code (in which encryption is not used).