Ausführbare Dateien verschlüsseln



  • Hallo,

    mich würde mal interessieren, wie eine Exe verschlüsselt wird. Als einfachstes Beispiel eine Verschlüsselung á la Caesar, also zeichen + 3 (z.B.).
    Bei Textdateien funktioniert das, aber ein Programm wie das folgende liefert aus einer 15,3 KB großen inpt.exe eine nur 12 B große ausgabe.exe

    #include <stdio.h>
    
    int main()
    {
        FILE* inpt;
        FILE* outpt;
        inpt=fopen("inptfile.exe","r");
        outpt=fopen("ausgabe.exe","w");
    
        char a;
    
            while( (a=getc(inpt)) != EOF )
            {
    
            fprintf(outpt,"%c",a+3);
            }
            fclose(inpt);
            fclose(outpt);
    
    return 0;
    }
    

    liegt vermutlich daran, dass Maschinencode nicht einfach als Zeichen "ausgelesen" werden kann (denk ich mir mal).

    Jetzt meine Frage, wie man eine Verschlüsselung von exe Dateien praktisch bewerkstelligt.

    Danke im Voraus

    grüsse 🙂



  • wenn ich mich recht an die gute alte zeit erinnere, müssen bei binärdateien da noch zwei b hin.

    inpt=fopen("inptfile.exe","rb");
        outpt=fopen("ausgabe.exe","wb");
    


  • volkard schrieb:

    wenn ich mich recht an die gute alte zeit erinnere, müssen bei binärdateien da noch zwei b hin.

    ich glaub' daran hat sich auch nix geändert.
    🙂



  • Und "char a;" sollte durch "int a;" ausgetauscht werden.



  • Danke, das mit dem

    inpt=fopen("inptfile.exe","rb");
        outpt=fopen("ausgabe.exe","wb");
    

    und dem

    int a;
    

    anstatt

    char a;
    

    hat geholfen, funktioniert jetzt.

    grüsse
    🙂


Log in to reply