Quali sono alcuni buoni modi per codificare un file .EXE?
Si dovrebbe imparare la specifica da MS: "formato PE-file". PE-file è il nostro file *.exe. In realtà, è possibile creare un file *.exe manualmente. Cercherò di spiegare. Scrivi un exe-file-dumper, in C per esempio. Dovresti scrivere tutti gli "exe-headers" con i loro valori, poi dovresti scrivere ".CODE-section" e ".DATA-section". Il primo - è il tuo codice in binario e il secondo - sono le tue variabili statiche/stringhe/array statici/ecc. Tu scrivi un programma che scrive un programma, spero che tu capisca. Dovresti conoscere la dimensione di ogni exe-header, gli offset tra le sezioni, l'allineamento, ecc. Puoi usare qualsiasi exe-viewer che troverai per controllarti. Dovresti sapere come scrivere un byte/word/dword/qword nel tuo file binario. E sono sicuro che il tuo antivirus si mangerà il programma che scriverai. È difficile da fare. Se vuoi imparare cose di basso livello, va bene. Ma se vuoi solo scrivere un semplice programma che sarà il primo nella tua vita - dovresti usare un qualsiasi linguaggio di alto livello che sia compilato, non interpretato. Se non è un primo programma nella vostra vita, e volete saperne di più - provate a imparare FASM (un linguaggio assembler, leggero e potente), con esso sarete in grado di creare un file *.exe che sarà il più piccolo possibile, perché descriverete le vostre sezioni manualmente, ma sarà molto più facile che scrivere l'INTERO file in codice binario (non il file così com'è, ma un dumper per questo file). Dovreste conoscere molto bene asm prima di fare questo. E il vostro programma sarà storto e instabile. Di fatto, non sarete in grado di scrivere nessun programma serio manualmente (in codice binario intendo), ma sarà una buona avventura per voi come programmatore.
Articoli simili
- Ogni volta che apro un qualsiasi file .exe su Windows 7, appare un errore che dice 'Windows non riesce a trovare D:\System volume information.exe?
- Come compilare una cartella dati in un .exe, se il .exe richiede i dati nella cartella dati per funzionare
- Quali sono alcuni giochi facili da codificare per un programmatore Java principiante?
- Perché alcuni file .exe si aprono direttamente senza essere installati sul computer? Come si può risolvere questo problema?