How to set up smartphones and PCs. Informational portal
  • home
  • Reviews
  • Executable programs extension. How to make a file executable in Linux

Executable programs extension. How to make a file executable in Linux

Many users of computer systems have probably come across the concept of an executable program file to one degree or another. Executable files do not always, but quite often have the EXE extension, which is generally accepted for operating systems of the Windows family. To shed some light on the subject of extensions, we'll look at some general information about these objects, and also look at some types of basic extensions.

How executable files differ from other objects

Before arguing that a program executable file can have an extension of only one specific type, it is necessary to understand how to distinguish such an object from others. The main differences between executable files and other information data include the following factors: the extension itself, which indicates the content in the file of either machine or virtual machine bytecode, signature, and attributes in the file system. However, even if the user knows that executable files have an EXE type name extension, then the usual means will not be able to view the contents, since such objects have compiled content that is displayed as a meaningless set of characters when viewed. In general, the user will have to use the Disassembler tool, or something similar, to allow decompilation. But that's not what we're talking about.

Executables: structure

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

Principle of operation

Although executable files can have different types of extensions, they work on the same principle. The executable file is loaded into the computer's memory on startup. At the same time, the environment is configured and initialized, additional libraries are pulled up if their use is provided by the program. Also at this stage, some additional operations are configured and the instructions are executed by the methods that are written directly in the file.

Program executable files: what extension do they have?

Now let's move on to the issue of extensions. Of course, it will not work to consider absolutely all types, it will take a very long time. We will note only the most common and popular options. So, the extension is set depending on the content type. So, for example, in an operating system like Windows, the most common executable files have the EXE extension. This applies to all programs that are designed to work in the environment of these operating systems. Such objects contain machine codes. BIN files are very similar. Batch files such as CMD, BAT, and COM are another type of executable files. The first type in this case is a Windows batch file. Files of the second and third types belong to operating systems of the DOS family. Many of you have probably come across files like MSI and MSU. This can be a system update installer, or a native installer for the Windows operating system. A separate category of files are macros and scripts. These are files with JSE, JS, SCR, VBE, VBS, VB extensions. Often there are also JAD and JAR files, which are designed to install applications on mobile devices or use in a JAVA environment. In their content, such objects no longer have machine codes, but codes of virtual machines.

What is the extension of executable files in different operating systems?

If you look closely, you will notice that in some operating systems there are quite specific components. For example, the Windows operating system has 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, an executable HTML document. They work almost everywhere, regardless of the type of operating system used. As for other types of systems, for example, in "poppies" executable files have the extension APP for programs and PKG for distributions. In operating systems of the Linux family, things are a little different. The problem is that in such operating systems the concept of an extension is completely absent. You can recognize an executable file by its attributes, such as system, hidden, read-only, and so on. As a result, the problem of changing the extension to run or read the file you are looking for disappears. However, in any operating system, even on mobile devices, you can find a huge number of objects of this type. You don't have to go far. On the same operating system of the Android family, the installer executable file has the APK extension. On apple devices, executable files have the IPA extension.

Conclusion

Let's summarize our short review about the extension of executable files. The emphasis in this case was mainly on objects that are present in operating systems of the Windows family. The rest of the operating systems were touched only in passing for general development. As it has already become clear, the variety of executable files is very large. It is impossible to give some kind of pivot table indicating absolutely all types of extensions. Therefore, in this article, we limited ourselves to only the most common formats.

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

File contents

An object with the EXE extension is found in Windows OS. The exe program contains scripts and compiled code that starts the installation of applications. The contents of the EXE object include:

  • Program resources - graphics and other media elements, as well as compressed packages (.package) of program code classes;
  • Forms of objects (bitmaps, sheets, application icons);
  • Information for the file uploader;
  • Installation launcher.

When the EXE is launched, the system starts automatic initialization of all archived components of the flash drive, virtual drive, or hard drive. The components of an EXE file include software libraries, connected services, and program code.

After unpacking the executable file in the operating system, the initialization of all program classes and installation of the application begins.

Programs to open EXE

In Windows Exe, the object can be opened using the standard installer or the 7Zip utility. To run the file, just double-click on it with the mouse or run the object through the archiver menu. To run in macOS you should install a Windows emulator and open the Exe file in it.

EXE can be not only a program installation module, but also a self-extracting archive. Running Exe files allows its contents to be unpacked to a folder specified by the user or by the archive itself.

To view the contents of an EXE file without running it, you should use the developer tools, namely the Visual Studio software package. With it, you can edit program resources, change the interface and functions of the program module. Changes can only be made to open source applications (those that do not use encryption).

Most users of modern computer systems, one way or another, are faced with running programs, which for the most part come down to executing an executable file. Roughly speaking, in all programs, an EXE format object is used to launch the main application. But it is not always the case.

In older operating systems such as DOS or non-Windows, such files may have a completely different extension, although the principle of starting remains absolutely unchanged.

Execute an executable file: what does it mean?

To fully understand the essence of what is happening, you first need to figure out what any process of launching an application is. The same executable file of Navitel or any other program is a kind of applet in which the startup code is written, recognized by the operating system or additional applications designed for this. But here it is worth understanding that programs consisting exclusively of one executable file are irrelevant today. As a rule, the package also includes a huge number of related components in the form of the same dynamic libraries with the DLL extension. Just the same, without them, it is not always possible to execute an executable file.

The bottom line is that when launching the main module of the software package, which consists in starting the EXE file, some applications require additional modules to be “loaded”, which are just configuration settings files (config) 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 instrument in a modern studio (DAW) follows this principle. The program as such in the form of the Standalone version may be absent, but the plug-in in the form of its analogue with the DLL extension is recognized by any program.

Executable Programs: Types

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

In fact, SFX (Self-Extracting) archives are self-extracting data based on the decompression algorithm. this type is easy. Just make a double click, and the operation will be performed automatically when choosing the extraction location. On mobile devices, formats like JAR, JAD APK, etc. are used as installers.

Can executable files be opened?

Many users are interested in the issue of editing executable files. Immediately upset everyone. The fact is that the same "executables" are compiled programs, the source code of which is usually impossible to view. You can, of course, use utilities like Disassembler, but they, provided that the application was originally written in C ++, may not give this result.

How to make simple editing?

As is already clear, it is impossible to open an EXE file in its readable form, since the program itself can be written in different programming languages. The same goes for dynamic libraries. But configuration files can be opened even in the standard Notepad. And if you run it as an administrator, you can even set access restrictions to some sites on the Internet, and then save the configuration, which is not possible in normal mode. The same "configs" are edited elementarily.

Is it possible to make any file executable?

In principle, any file on the hard drive is executable. More precisely, to execute an executable file means to launch the application responsible for opening it. Even in autoload, it is quite elementary to make a file launch at system startup.

It is enough to add the process to the list and specify an accompanying object that will be loaded immediately (for example, opening an Office document). Making the file executable is far from the most important thing.

Summary

Thus, completing the topic, it is worth noting that the files or objects responsible for starting an application can only be opened by double-clicking in the standard version. But editing them is not possible. True, if the programs have the status of freely distributed under the GNU license, it is very easy to make changes to the program code of applications.

But this is a special case, which, in general, is not connected with the main topic. Another thing is the launch of an executable file, about which the user has no idea. In this case, the emphasis should be on viruses that can come in the form of the same e-mail attachments. If you see that the attached file does not have an icon, do not try to open it. Although this equally applies to viruses that disguise themselves as such messages. In this case, the malware will be able to execute the executable file or the code embedded in it quite easily, and then there will be a huge pile of problems.

And the call (launch) of the executable file in this case may no longer depend on the user himself, since the virus has invaded the system. It remains only to rely on universal programs in the form of portable versions or on Rescue Disk modification utilities with loading and checking the system even before Windows starts.

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

Any user of a computer system, one way or another, came across the concept of an executable program file. And not always (although very often) executable files have the EXE extension, which is common for Windows systems. To understand the issue of extensions, let's look at general information about such objects and some of their main types.

Differences between executable files and other objects

Before asserting that a program's executable file has an extension of only one particular type, it is necessary to understand how to distinguish such an object from others.

In fact, among the main differences between executable files and other information data, there are several main ones:

  • the extension itself, indicating the content in the file of either machine or virtual machine bytecode;
  • signature (content in the form of unique byte sequences);
  • attributes in the file system (execute, etc.).

Unfortunately, even if you know that executable files have a name extension such as EXE, you won't be able to view the content by normal means, because such objects have compiled content that, when viewed, is displayed as a meaningless set of characters. At best, you will have to use the Disassembler tools or something else that allows you to decompile. But now is not about that.

Structure of executable files

As for the construction of files of this type, as a rule, they contain headers (intended execution of instructions, parameters, code formats), instructions themselves (machine, source or bytecodes).

Sometimes the structure may include descriptions of the environment, debugging data, OS requirements, lists of related libraries, images, sound, graphics, shortcut icons, etc. By the way, many people probably noticed that for the most part in each operating system such a file has an icon initially (provided that it should work in it from the start).

Principle of operation

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

When launched, the executable file is loaded into the computer's memory. At the same time, the environment is initialized and configured, additional libraries are “pulled up” if the use of such is provided for by the program, some additional operations are configured, and the instructions are executed by the methods specified in the file.

What is the extension of executable program files?

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

So, depending on the content type, the extension is set. For example, on Windows, the most common executable files have the EXE extension. This applies to all programs designed to run on these operating systems. Such objects contain Very similar (also containing such codes) BIN files.

Batch objects such as CMD, BAT, and COM are another type of executable, with the first type being Windows and the second and third being DOS systems.

Probably, many have met both MSI and MSU files. This can be either a "native" Windows installer or a system update installer.

Among other things, scripts and macros (VB, VBS, VBE, SCR, JS, JSE) form a separate category. Still often there are files like JAR and JAD, designed to install applications on mobile gadgets or use in a JAVA environment. All such objects in the content no longer have machine codes, but codes of virtual machines.

What extension do executable files have on different systems?

If you look closely, you will notice that in some systems there are quite specific components. For example, Windows has a special category of executable components (PS1 for PowerShell executable, PIF for application information, WSF for script file, and so on).

In general, in any system you can find both standard and special components. However, there are some common formats (for example, HTA - an executable HTML document) that work everywhere and regardless of the operating system used.

As for other systems, for example, in Macs, executable files have the extension APP if they are programs, and PKG if they are distributions.

But with Linux-systems, the situation is somewhat different. The fact is that they do not have the concept of extension as such. An executable file can be recognized only by attributes (hidden, read-only, system, etc.). Thus, even the problem of changing extensions to run or read the file you are looking for disappears.

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

Conclusion

That's all in a nutshell about executable file extensions. Of course, in this case, the emphasis was mainly on objects present in Windows systems, and the rest were touched upon in passing and, so to speak, for general development. And, as it is already clear, the variety of executable type objects is so great that it is simply not possible to bring some kind of summary table indicating absolutely all extensions, so we limited ourselves to the most common formats.

Executable files are files that contain ready-to-run computer programs.

An executable file is a phrase that occurs quite often, mainly in documentation. In live communication (including virtual), users use less cumbersome terms to refer to this type of file, more accurately reflecting what they mean.

So, what is hidden behind this phrase? Executable files are files that contain ready-to-run computer programs. Depending on the form in which the program is written in the executable file, two large subgroups of files of this class are distinguished. The first subgroup is binary files; they contain a program record in the form of special machine codes, which, most often, are transferred directly to the processor. Such files are also called binaries for short. In contrast, there are executable files in which the program is written in the form of text - that is, in the same form in which the programmer who created it worked with it. Such executable files are called scripts. Also, this term is often used in relation to the programs themselves, which are stored in such files.

To run programs from most binary executables, all you need is the operating system that supports them. To execute scripts, you need an interpreter that will translate the program text sequentially into processor commands. Some binary format executables also require interpreters to run.

On Windows, binary executables are the most common. The most common type of them is the application. Applications have EXE extensions and can run on their own. In addition to them, there are dynamic libraries (their extension is DLL), which contain functions common to different applications. There are also drivers (DRV or VXD) - special programs needed for the system to interact with specific models of certain devices. Executable files (in Windows especially) can depend on each other: for example, to run any application, certain system dynamic libraries are needed, and they, in turn, need drivers.

It should be noted that executable files contain not only the programs themselves, but also various additional data. These can be various graphic resources displayed by the program, label texts, descriptions of dialog boxes, etc. A striking example of this is self-extracting archives, which contain large volumes of packaged content in order to reduce its volume during transmission or storage of information.

Vadim STANKEVICH

Top Related Articles