Come configurare smartphone e PC. Portale informativo
  • casa
  • Recensioni
  • Estensione programmi eseguibili. Come rendere eseguibile un file in Linux

Estensione programmi eseguibili. Come rendere eseguibile un file in Linux

Molti utenti di sistemi informatici si sono probabilmente imbattuti nel concetto di file di programma eseguibile in un modo o nell'altro. I file eseguibili non sempre, ma abbastanza spesso, hanno l'estensione EXE, generalmente accettata per i sistemi operativi della famiglia Windows. Per fare un po' di luce sull'argomento delle estensioni, esamineremo alcune informazioni generali su questi oggetti e esamineremo anche alcuni tipi di estensioni di base.

In che modo i file eseguibili differiscono da altri oggetti

Prima di sostenere che un file eseguibile di un programma può avere un'estensione di un solo tipo particolare, è necessario capire come distinguere un tale oggetto dagli altri. Le principali differenze tra i file eseguibili e altri dati informativi includono i seguenti fattori: l'estensione stessa, che indica il contenuto nel file del bytecode della macchina o della macchina virtuale, la firma e gli attributi nel file system. Tuttavia, anche se l'utente sa che i file eseguibili hanno un'estensione del nome di tipo EXE, i normali mezzi non saranno in grado di visualizzare il contenuto, poiché tali oggetti hanno contenuto compilato che viene visualizzato come un insieme di caratteri senza significato quando viene visualizzato. In generale, l'utente dovrà utilizzare lo strumento Disassembler, o qualcosa di simile, per consentire la decompilazione. Ma non è di questo che stiamo parlando.

Eseguibili: struttura

Per quanto riguarda la costruzione di file eseguibili, questi devono contenere le intestazioni (l'esecuzione prevista di istruzioni, parametri e formati di codice) e le istruzioni stesse (sorgente, macchina o bytecode). In alcuni casi, la struttura può includere dati di debug, descrizioni dell'ambiente, requisiti del sistema operativo, elenchi di librerie rilevanti, suoni, grafica, immagini, icone di collegamento e simili. Molti di voi probabilmente hanno prestato attenzione al fatto che per la maggior parte ciascuno di questi file nel sistema operativo ha inizialmente un'icona.

Principio di funzionamento

Sebbene i file eseguibili possano avere diversi tipi di estensioni, funzionano secondo lo stesso principio. Il file eseguibile viene caricato nella memoria del computer all'avvio. Allo stesso tempo, l'ambiente viene configurato e inizializzato, vengono richiamate librerie aggiuntive se il loro utilizzo è previsto dal programma. Anche in questa fase vengono configurate alcune operazioni aggiuntive e le istruzioni vengono eseguite con i metodi che vengono scritti direttamente nel file.

File eseguibili del programma: che estensione hanno?

Passiamo ora alla questione delle estensioni. Naturalmente, non funzionerà per considerare assolutamente tutti i tipi, ci vorrà molto tempo. Prenderemo nota solo delle opzioni più comuni e popolari. Quindi, l'estensione viene impostata in base al tipo di contenuto. Quindi, ad esempio, in un sistema operativo come Windows, i file eseguibili più comuni hanno l'estensione EXE. Questo vale per tutti i programmi progettati per funzionare nell'ambiente di questi sistemi operativi. Tali oggetti contengono codici macchina. I file BIN sono molto simili. I file batch come CMD, BAT e COM sono un altro tipo di file eseguibili. Il primo tipo in questo caso è un file batch di Windows. I file del secondo e terzo tipo appartengono ai sistemi operativi della famiglia DOS. Molti di voi probabilmente si sono imbattuti in file come MSI e MSU. Può essere un programma di installazione dell'aggiornamento di sistema o un programma di installazione nativo per il sistema operativo Windows. Una categoria separata di file sono le macro e gli script. Questi sono file con estensioni JSE, JS, SCR, VBE, VBS, VB. Spesso ci sono anche file JAD e JAR, che sono progettati per installare applicazioni su dispositivi mobili o utilizzare in un ambiente JAVA. Nel loro contenuto, tali oggetti non hanno più codici macchina, ma codici di macchine virtuali.

Qual è l'estensione dei file eseguibili in diversi sistemi operativi?

Se guardi da vicino, noterai che in alcuni sistemi operativi ci sono componenti abbastanza specifici. Ad esempio, il sistema operativo Windows ha una categoria speciale di file eseguibili. In generale, in qualsiasi sistema operativo, puoi trovare componenti sia standard che speciali. Tuttavia, esistono alcuni formati comuni, come HTA, un documento HTML eseguibile. Funzionano quasi ovunque, indipendentemente dal tipo di sistema operativo utilizzato. Come per altri tipi di sistemi, ad esempio, in "poppies" i file eseguibili hanno l'estensione APP per i programmi e PKG per le distribuzioni. Nei sistemi operativi della famiglia Linux, le cose sono leggermente diverse. Il problema è che in tali sistemi operativi il concetto di estensione è del tutto assente. È possibile riconoscere un file eseguibile dai suoi attributi, come sistema, nascosto, di sola lettura e così via. Di conseguenza, il problema della modifica dell'estensione per eseguire o leggere il file che stai cercando scompare. Tuttavia, in qualsiasi sistema operativo, anche su dispositivi mobili, puoi trovare un numero enorme di oggetti di questo tipo. Non devi andare lontano. Sullo stesso sistema operativo della famiglia Android, il file eseguibile dell'installer ha estensione APK. Sui dispositivi Apple, i file eseguibili hanno l'estensione IPA.

Conclusione

Riassumiamo la nostra breve recensione sull'estensione dei file eseguibili. L'enfasi in questo caso è stata principalmente sugli oggetti presenti nei sistemi operativi della famiglia Windows. Il resto dei sistemi operativi è stato toccato solo di sfuggita per lo sviluppo generale. Come è già diventato chiaro, la varietà di file eseguibili è molto ampia. È impossibile fornire una sorta di tabella pivot che indichi assolutamente tutti i tipi di estensioni. Pertanto, in questo articolo, ci siamo limitati ai soli formati più comuni.

EXE è un'estensione per programmi in DOS e Windows. Il formato Exe si riferisce a un gruppo di file eseguibili che contengono tutti i dati per l'installazione di un'applicazione. Gli algoritmi di compressione vengono utilizzati per distribuire in modo compatto il file di installazione.

Contenuto del file

Un oggetto con estensione EXE si trova nel sistema operativo Windows. Il programma exe contiene script e codice compilato che avvia l'installazione delle applicazioni. Il contenuto dell'oggetto EXE include:

  • Risorse del programma: grafica e altri elementi multimediali, nonché pacchetti compressi (.package) di classi di codice di programma;
  • Forme di oggetti (bitmap, fogli, icone di applicazioni);
  • Informazioni per l'uploader di file;
  • Lanciatore di installazione.

Quando l'EXE viene avviato, il sistema avvia l'inizializzazione automatica di tutti i componenti archiviati dell'unità flash, dell'unità virtuale o del disco rigido. I componenti di un file EXE includono librerie software, servizi connessi e codice di programma.

Dopo aver decompresso il file eseguibile nel sistema operativo, inizia l'inizializzazione di tutte le classi di programma e l'installazione dell'applicazione.

Programmi per aprire EXE

In Windows Exe, l'oggetto può essere aperto utilizzando il programma di installazione standard o l'utilità 7Zip. Per eseguire il file, fai doppio clic su di esso con il mouse o esegui l'oggetto tramite il menu dell'archiviatore. Per correre Mac OS dovresti installare un emulatore di Windows e aprire il file Exe al suo interno.

EXE può essere non solo un modulo di installazione del programma, ma anche un archivio autoestraente. L'esecuzione di file Exe consente di decomprimere il contenuto in una cartella specificata dall'utente o dall'archivio stesso.

Per visualizzare il contenuto di un file EXE senza eseguirlo, è necessario utilizzare gli strumenti per sviluppatori, ovvero il pacchetto software Visual Studio. Con esso, puoi modificare le risorse del programma, cambiare l'interfaccia e le funzioni del modulo del programma. Le modifiche possono essere apportate solo alle applicazioni open source (quelle che non utilizzano la crittografia).

La maggior parte degli utenti dei moderni sistemi informatici, in un modo o nell'altro, si trovano ad affrontare programmi in esecuzione, che per la maggior parte si riducono all'esecuzione di un file eseguibile. In parole povere, in tutti i programmi, viene utilizzato un oggetto in formato EXE per avviare l'applicazione principale. Ma non è sempre così.

Nei vecchi sistemi operativi come DOS o non Windows, tali file possono avere un'estensione completamente diversa, sebbene il principio di avvio rimanga assolutamente invariato.

Eseguire un file eseguibile: cosa significa?

Per comprendere appieno l'essenza di ciò che sta accadendo, devi prima capire qual è il processo di avvio di un'applicazione. Lo stesso file eseguibile di Navitel o di qualsiasi altro programma è una sorta di applet in cui viene scritto il codice di avvio, riconosciuto dal sistema operativo o da applicazioni aggiuntive progettate per questo. Ma qui vale la pena capire che i programmi costituiti esclusivamente da un file eseguibile sono oggi irrilevanti. Di norma, il pacchetto include anche un numero enorme di componenti correlati sotto forma delle stesse librerie dinamiche con estensione DLL. Allo stesso modo, senza di loro, non è sempre possibile eseguire un file eseguibile.

La conclusione è che all'avvio del modulo principale del pacchetto software, che consiste nell'avvio del file EXE, alcune applicazioni richiedono il "caricamento" di moduli aggiuntivi, che sono solo file di impostazioni di configurazione (config) o le stesse librerie dinamiche contenenti dati sul programma.

A proposito, a volte le stesse librerie dinamiche sono in grado di svolgere il ruolo di programmi. Quindi, ad esempio, l'inizio di qualsiasi strumento VST in uno studio moderno (DAW) segue questo principio. Il programma in quanto tale nella forma della versione Standalone potrebbe essere assente, ma il plug-in nella forma del suo analogo con l'estensione DLL è riconosciuto da qualsiasi programma.

Programmi eseguibili: tipi

Ma non è tutto. L'estensione dei file eseguibili oggi non è così facile da determinare, per non parlare dei file in formato EXE o COM. Separatamente, vale la pena notare non solo gli standard sopra menzionati, ma anche i dati d'archivio.

Infatti, gli archivi SFX (Self-Extracting) sono dati autoestraenti basati sull'algoritmo di decompressione. questo tipo è facile. Basta fare un doppio clic e l'operazione verrà eseguita automaticamente al momento della scelta della posizione di estrazione. Sui dispositivi mobili, formati come JAR, JAD APK, ecc. vengono utilizzati come programmi di installazione.

È possibile aprire file eseguibili?

Molti utenti sono interessati alla questione della modifica dei file eseguibili. Immediatamente sconvolgere tutti. Il fatto è che gli stessi "eseguibili" sono programmi compilati, il cui codice sorgente è solitamente impossibile da visualizzare. Ovviamente puoi usare utilità come Disassembler, ma esse, a condizione che l'applicazione sia stata originariamente scritta in C++, potrebbero non dare questo risultato.

Come effettuare semplici modifiche?

Come è già chiaro, è impossibile aprire un file EXE nella sua forma leggibile, poiché il programma stesso può essere scritto in diversi linguaggi di programmazione. Lo stesso vale per le librerie dinamiche. Ma i file di configurazione possono essere aperti anche nel Blocco note standard. E se lo esegui come amministratore, puoi persino impostare restrizioni di accesso ad alcuni siti su Internet, quindi salvare la configurazione, cosa che non è possibile in modalità normale. Le stesse "configurazioni" vengono modificate in modo elementare.

È possibile rendere eseguibile qualche file?

In linea di principio, qualsiasi file sul disco rigido è eseguibile. Più precisamente, eseguire un file eseguibile significa lanciare l'applicazione preposta ad aprirlo. Anche nel caricamento automatico, è abbastanza elementare avviare un file all'avvio del sistema.

È sufficiente aggiungere il processo all'elenco e specificare un oggetto di accompagnamento che verrà caricato immediatamente (ad esempio l'apertura di un documento di Office). Rendere eseguibile il file è tutt'altro che la cosa più importante.

Riepilogo

Pertanto, completando l'argomento, vale la pena notare che i file o gli oggetti responsabili dell'avvio di un'applicazione possono essere aperti nella versione standard solo facendo doppio clic. Ma non è possibile modificarli. È vero, se i programmi hanno lo stato di distribuzione gratuita con licenza GNU, è molto facile apportare modifiche al codice del programma delle applicazioni.

Ma questo è un caso speciale, che, in generale, non è collegato all'argomento principale. Un'altra cosa è il lancio di un file eseguibile, di cui l'utente non ha idea. In questo caso, l'accento dovrebbe essere posto sui virus che possono presentarsi sotto forma degli stessi allegati di posta elettronica. Se vedi che il file allegato non ha un'icona, non provare ad aprirlo. Anche se questo vale anche per i virus che si travestono da tali messaggi. In questo caso, il malware sarà in grado di eseguire il file eseguibile o il codice incorporato in esso abbastanza facilmente, e quindi ci saranno un'enorme pila di problemi.

E la chiamata (lancio) del file eseguibile in questo caso potrebbe non dipendere più dall'utente stesso, poiché il virus ha invaso il sistema. Resta solo da fare affidamento su programmi universali sotto forma di versioni portatili o su utilità di modifica del disco di soccorso con caricamento e controllo del sistema anche prima dell'avvio di Windows.

Il file eseguibile in quanto tale, che è il più interessante, non è nel bootloader. Ma c'è un configuratore BIN, che è responsabile dell'avvio del sistema. Inoltre, nelle versioni precedenti di Windows, puoi anche trovare cartelle come i386, che contengono driver e alcune altre utilità correlate. Ma nelle nuove versioni del sistema non ci sono tali oggetti.

Qualsiasi utente di un sistema informatico, in un modo o nell'altro, si è imbattuto nel concetto di file di programma eseguibile. E non sempre (anche se molto spesso) i file eseguibili hanno l'estensione EXE, che è comune per i sistemi Windows. Per comprendere il problema delle estensioni, diamo un'occhiata alle informazioni generali su tali oggetti e su alcuni dei loro tipi principali.

Differenze tra file eseguibili e altri oggetti

Prima di affermare che il file eseguibile di un programma ha un'estensione di un solo tipo particolare, è necessario capire come distinguere un tale oggetto dagli altri.

Infatti, tra le principali differenze tra file eseguibili e altri dati informativi, ce ne sono alcune principali:

  • l'estensione stessa, che indica il contenuto nel file del bytecode della macchina o della macchina virtuale;
  • firma (contenuto sotto forma di sequenze di byte univoche);
  • attributi nel file system (esegui, ecc.).

Sfortunatamente, anche se sai che i file eseguibili hanno un'estensione del nome come EXE, non sarai in grado di visualizzare il contenuto con mezzi normali, perché tali oggetti hanno contenuto compilato che, una volta visualizzato, viene visualizzato come un insieme di caratteri privo di significato . Nella migliore delle ipotesi, dovrai utilizzare gli strumenti Disassembler o qualcos'altro che ti permetta di decompilare. Ma ora non si tratta di questo.

Struttura dei file eseguibili

Per quanto riguarda la costruzione di file di questo tipo, di norma contengono intestazioni (esecuzione prevista di istruzioni, parametri, formati di codice), istruzioni stesse (macchina, codice sorgente o bytecode).

A volte la struttura può includere descrizioni dell'ambiente, dati di debug, requisiti del sistema operativo, elenchi di librerie correlate, immagini, suoni, grafica, icone di collegamento, ecc. A proposito, molte persone probabilmente hanno notato che per la maggior parte in ogni sistema operativo tale un file ha inizialmente un'icona (a condizione che dovrebbe funzionare al suo interno dall'inizio).

Principio di funzionamento

In realtà, nonostante i file eseguibili abbiano un diverso tipo di estensione, funzionano in modo simile.

All'avvio, il file eseguibile viene caricato nella memoria del computer. Allo stesso tempo, l'ambiente viene inizializzato e configurato, vengono "richiamate" librerie aggiuntive se l'uso di tali è previsto dal programma, vengono configurate alcune operazioni aggiuntive e le istruzioni vengono eseguite con i metodi specificati nel file.

Qual è l'estensione dei file di programma eseguibili?

Veniamo ora direttamente alla questione delle estensioni. Inutile dire che assolutamente tutto non funzionerà (ci vorrà troppo tempo). D'altra parte, possiamo notare il più popolare e il più comune.

Quindi, a seconda del tipo di contenuto, l'estensione è impostata. Ad esempio, su Windows, i file eseguibili più comuni hanno l'estensione EXE. Questo vale per tutti i programmi progettati per essere eseguiti su questi sistemi operativi. Tali oggetti contengono file BIN molto simili (contenenti anche tali codici).

Gli oggetti batch come CMD, BAT e COM sono un altro tipo di eseguibile, con il primo tipo che è Windows e il secondo e il terzo sono sistemi DOS.

Probabilmente, molti hanno incontrato file MSI e MSU. Può essere un programma di installazione di Windows "nativo" o un programma di installazione dell'aggiornamento di sistema.

Tra le altre cose, script e macro (VB, VBS, VBE, SCR, JS, JSE) formano una categoria separata. Ancora spesso ci sono file come JAR e JAD, progettati per installare applicazioni su gadget mobili o utilizzare in un ambiente JAVA. Tutti questi oggetti nel contenuto non hanno più codici macchina, ma codici di macchine virtuali.

Che estensione hanno i file eseguibili su sistemi diversi?

Se guardi da vicino, noterai che in alcuni sistemi ci sono componenti abbastanza specifici. Ad esempio, Windows ha una categoria speciale di componenti eseguibili (PS1 per l'eseguibile di PowerShell, PIF per le informazioni sull'applicazione, WSF per il file di script e così via).

In generale, in qualsiasi sistema si possono trovare componenti sia standard che speciali. Tuttavia, ci sono alcuni formati comuni (ad esempio, HTA - un documento HTML eseguibile) che funzionano ovunque e indipendentemente dal sistema operativo utilizzato.

Come per altri sistemi, ad esempio, nei Mac i file eseguibili hanno estensione APP se sono programmi, e PKG se sono distribuzioni.

Ma con i sistemi Linux, la situazione è alquanto diversa. Il fatto è che non hanno il concetto di estensione in quanto tale. Un file eseguibile può essere riconosciuto solo dagli attributi (nascosto, di sola lettura, di sistema, ecc.). Così, anche il problema di cambiare le estensioni per eseguire o leggere il file che stai cercando scompare.

Tuttavia, in qualsiasi sistema o anche nei gadget mobili, puoi trovare un numero enorme di oggetti di questo tipo. Non devi andare lontano. Nello stesso sistema operativo Android, il file eseguibile del programma di installazione ha l'estensione APK e nei dispositivi "apple" si tratta di file IPA.

Conclusione

Questo è tutto in poche parole sulle estensioni dei file eseguibili. Naturalmente, in questo caso, l'enfasi è stata principalmente sugli oggetti presenti nei sistemi Windows, e il resto è stato toccato di sfuggita e, per così dire, per uno sviluppo generale. E, come è già chiaro, la varietà di oggetti di tipo eseguibile è così grande che semplicemente non è possibile portare una sorta di tabella riepilogativa che indichi assolutamente tutte le estensioni, quindi ci siamo limitati ai formati più comuni.

I file eseguibili sono file che contengono programmi per computer pronti per l'esecuzione.

Un file eseguibile è una frase che ricorre abbastanza spesso, principalmente nella documentazione. Nella comunicazione live (anche virtuale), gli utenti utilizzano termini meno ingombranti per fare riferimento a questo tipo di file, riflettendo più accuratamente il loro significato.

Allora, cosa si nasconde dietro questa frase? I file eseguibili sono file che contengono programmi per computer pronti per l'esecuzione. A seconda della forma in cui il programma è scritto nel file eseguibile, si distinguono due grandi sottogruppi di file di questa classe. Il primo sottogruppo è costituito da file binari; contengono un record di programma sotto forma di codici macchina speciali, che, molto spesso, vengono trasferiti direttamente al processore. Tali file sono anche chiamati binari in breve. Al contrario, ci sono file eseguibili in cui il programma è scritto sotto forma di testo, cioè nella stessa forma in cui ha lavorato con esso il programmatore che lo ha creato. Tali file eseguibili sono chiamati script. Inoltre, questo termine viene spesso utilizzato in relazione ai programmi stessi, che sono archiviati in tali file.

Per eseguire programmi dalla maggior parte degli eseguibili binari, tutto ciò che serve è il sistema operativo che li supporta. Per eseguire gli script, è necessario un interprete che traduca il testo del programma in sequenza nei comandi del processore. Alcuni eseguibili in formato binario richiedono anche l'esecuzione di interpreti.

Su Windows, gli eseguibili binari sono i più comuni. Il tipo più comune è l'applicazione. Le applicazioni hanno estensioni EXE e possono essere eseguite da sole. A queste si aggiungono librerie dinamiche (la loro estensione è DLL), che contengono funzioni comuni a diverse applicazioni. Esistono anche driver (DRV o VXD), programmi speciali necessari affinché il sistema interagisca con modelli specifici di determinati dispositivi. I file eseguibili (soprattutto in Windows) possono dipendere l'uno dall'altro: ad esempio, per eseguire qualsiasi applicazione, sono necessarie alcune librerie dinamiche di sistema e queste, a loro volta, necessitano di driver.

Va notato che i file eseguibili contengono non solo i programmi stessi, ma anche vari dati aggiuntivi. Possono essere varie risorse grafiche visualizzate dal programma, testi di etichette, descrizioni di finestre di dialogo, ecc. Un esempio lampante di ciò sono gli archivi autoestraenti, che contengono grandi volumi di contenuto compresso al fine di ridurne il volume durante la trasmissione o l'archiviazione di informazioni.

Vadim STANKEVICH

Articoli correlati in alto