bin2c
-
Hi,
ich habe mit bin2c ein binary file in ein Array umgewandelt. Es sind dann glaub Hexdaten im Array.
Wenn ich nun dieses Array in mein Programm einbinde weiß ich leider nicht wie ich nun mit dem umgewandelten Binary arbeiten kann.
Muss ich die Daten wieder in eine Datei schreiben oder kann ich das irgendwie so ausführen?
Ich würde nämlich gerne ein binary in mein Programm integrieren. Also das ich nicht das binary extra hab sondern alles in meinem Programm.
Hatte es überlegt ob ich irgendwie die Assembler befehle in mein C Programm einfüge aber das funktioniert glaube ich nicht richtig gut.Wäre cool wenn mir jemand helfen könnte.
-
ich nehme an, dass das eien closed source datei ist. wenn dem nicht so ist, dann nimm den code einfach in deinen source code auf.
mit dem rest hast du recht. wenn du eine ganze exe in ein array verwandelt hast, musst du sie auf das dateisystem rausschreiben und dann ausführen. im ram ausführen klappt _wahrscheinlich_ nicht, da es ja eine exe ist, die im allgemeinen (von pie abgesehen) nicht relocatable ist. außerdem müsstest du den elf header parsern.
zum erstellen der datei solltest du mktemp verwenden. wohin du die datei dann schreibst, musst du auch überlegen. anbieten würden sich /dev/shm, /tmp, cwd oder der home ordner des users. ob du dateien in diesen ordnern erzeugen bzw. diese dann auch noch ausführen darfst, ist eine weitere frage. deshalb ist die ganze sache wohl eher nur für private projekte sinnvoll.