Anwendung in C++ einfügen



  • Hi,

    also das Problem ist nicht das es eine Ausgabe während der Auführung gibt. Sondern wenn ein User auf die Idee kommt die bereits vor 4 Jahren kompilierte Anwendung auszuführen. Dabei gibt es eine Ausgabe. Und das will ich verhindern.



  • Also die Ausgabe eines schon kompilierten Programmes unterbinden?
    Ohne Neukompilierung wird es sicherlich so nicht klappen, du könntest aber dir einen Hex-Editor zu Hand nehmen und die Ausgabe manipulieren / löschen.



  • oder den assamblercode des progammes direkt in c++ einbinden...



  • ganz billig wäre, einfach eine andere Datei vor die a.out einzufügen. also müll.dat + a.out = xyz.dat. Wenn du dann a.out brauchst, kopierst du den hinteren Teil raus und führst ihn aus und löscht ihn wieder. Aber, wenn dein Programm beendet wrid, vor du a.out löschen kannst, bleibt sie übrig.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Irgendwie klingt das nach Pfusch. Wenn Du die Anwendung selbst geschrieben hast, weißt Du vmtl. noch ganz grob, wie sie funktioniert hat, warum probierst Du dann nicht zumindest mal einen Decompiler wie Boomerang? Wenn das Programm sehr groß ist, wird das natürlich anstrengend, aber Du kannst Dich nicht darauf verlassen, dass Du auf fremden Rechnern Deine Binaries überhaupt ausführen kannst.



  • Hallo,

    also ich hab das nun ausprobiert und finde bis jetzt die beste Lösung wenn ich die alte Datei einfach Manipuliere.
    Also wie von "unterq" beschrieben irgendeine Datei an den Anfang hänge und dann wenn ich die richtige Datei benötige den Teil binär auszulesen.

    Assembler Code einfügen wird schwer da ich mich nicht richtig mit Assembler auskenne.

    Decompilen habe ich bereits ausprobiert aber leider klappt das nicht.

    Nun hätte ich noch eine andere Idee. Da ich gerne mir die manipulierte Datei ersparen würde.

    Kann man den binär Code der Datei irgendwie als Konstante im C++ Programm einbauen also damit er dann jedes Mal beim Ausführen erst die Datei erstellt und danach wieder löscht.

    Falls das nicht mit binär möglich ist da es ja viele komische Zeichen sind geht es vielleicht wenn ich den Hex Code nehme und dann daraus erst die Datei erstelle die ich brauch?

    Würde mich über jede Hilfe sehr freuen.

    MFG

    mkbm



  • Jo, das wäre möglich. Dafür gibt es sogar Programme, die das automatisieren. Google mal nach bin2c

    Aber ist die Anwendung so kompliziert, dass ein rewrite zu lange dauern würde? (Du befasst dich ja nun schon einen halben Monat mit dem Problem)



  • Hallo,

    danke für die schnelle Antwort.

    Naja nicht ganz ein halben Monat. Ich hatte auch einige Pausen dazwischen 🙂

    Aber ich hatte mich ein bisschen in Assembler eingearbeitet aber das wird zu umständlich.

    Das BIN2C sieht ganz gut aus aber das Problem ist das es ein Programm für Linux ist und wenn ich versuche das umzuwandeln erhalte ich die Fehlermeldung:

    ERROR : I can't find source file dateiname

    Wenn das klappen würde wäre es ein versuch wert.
    Die Anwendung ist zwar nicht so groß aber leider sind da einige Berechnungen drin ich ich jetzt nicht mehr nicht mehr hinkriegen würde.

    MFG

    mkbm



  • Ok.

    Nun hab ich rausgefunden das es besser ist wenn ich die BIN2C.C in Linux kompiliere und dann unter Linux konvertiere.

    Allerdings habe ich dann die Header Datei mit dem struct. Aber ich weiß nicht so richtig wie ich diese nun so einbinden kann das ich dann die Datei erstellen kann oder ausführen kann.

    MFG

    mkbm


Anmelden zum Antworten