exe in exe

Anfängerfragen zum Programmieren mit PureBasic.
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

hi

und wie kann ich jetzt machen, das in der DataSection der IncludeBinary eine Variable nimmt?


thx @ all! ^^
Pure Basic 4.0
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TomTom hat geschrieben:und wie kann ich jetzt machen, das in der DataSection der IncludeBinary eine Variable nimmt?
gar nicht. :-)

Grüße
a²+b²=mc²
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

wie gar nicht? geht das echt nicht?

ich meine nur, die sprache PB ist so hammer, da muss man doch sowas auch einbauen können...

achja wenn ich die exe mit IncludeBinary "c:\testdatei.exe" eingelesen habe, wie kann ich die wieder rausgeben? geht das?

mfg tomtom
Pure Basic 4.0
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TomTom hat geschrieben:wie gar nicht? geht das echt nicht?
geht echt nicht.
IncludeBinary wird vor dem Compilieren ausgeführt. Das gibt's noch keine
Variablen, die man auswerten könnte.
TomTom hat geschrieben:achja wenn ich die exe mit IncludeBinary "c:\testdatei.exe" eingelesen habe, wie kann ich die wieder rausgeben? geht das?
was heißt in diesem Zusammenhang 'rausgeben'? Hast Du Dir den
Beispielcode von BI2 überhaupt schon mal angeschaut?

Grüße ... Kiffi

//Edit: Typo gefixt
Zuletzt geändert von Kiffi am 16.03.2008 21:42, insgesamt 1-mal geändert.
a²+b²=mc²
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

also wenn ich eine exe mit reinnehme, dann kann ich doch sicher auch wieder rausgeben


grüße tomtom
Pure Basic 4.0
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

TomTom hat geschrieben:also wenn ich eine exe mit reinnehme, dann kann ich doch sicher auch wieder rausgeben
Kiffi hat geschrieben:was heißt in diesem Zusammenhang 'rausgeben'?
a²+b²=mc²
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

TomTom: Bedeutet "rausgeben" in ne (temporäre) Datei schreiben, direkt aus dem Speicher ausführen, oder ein Bier übern Tresen schieben?

Was das Thema "Variable in der DataSection" angeht: Auch PB kocht nur mit Wasser, oder besser gesagt, mit dem PE-Format ("Portable Executable", unter Windows das Standardformat für ausführbare Dateien (vulgo "Programme")), und mit dem PE-Format geht sowas nicht, genausowenig wie mit jedem anderen Format für Executables, das mir bekannt ist.
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

was ich mit rausnehmen meine ist: im moment hat der die 2te exeDatei ja eingelesen (also habe ich 2 exedateien in einer) gibt es jetzt einen befehl um die mit IncludeBinary exeDatei wieder auszuspucken (die wieder rausnehmen) sodass die exe Frei ist...

ich hoffe das kann man verstehen :mrgreen:


mfg tomtom
Pure Basic 4.0
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ja, du kannst die Daten wieder zurückschreiben in eine ausführbare .EXE. Siehe in der Hilfe unter "File".
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
BI2
Beiträge: 146
Registriert: 26.11.2006 19:07

Beitrag von BI2 »

@TomTom

Warum willst Du die exe wieder ausspucken. Die eingepackte exe wird doch bei richtiger Kennworteingabe direkt im Speicher ausgeführt.

Die Möglichkeit mit ausspucken wäre eine temporäre Datei anzulegen - das ginge so:

Code: Alles auswählen

Programm$ = GetPathPart(ProgramFilename()) + "Name_für_temporäre.exe"

If InputRequester("Abfrage", "Bitte Kennwort eingeben", "") = "Kennwort"
  If CreateFile(1, Programm$)
    WriteData(1, ?DateiStart, ?DateiEnde - ?DateiStart)
    CloseFile(1)
    If RunProgram(Programm$, "", GetPathPart(Programm$), #PB_Program_Wait) : EndIf
    If DeleteFile(Programm$) : EndIf
  EndIf
EndIf

End

DataSection
  DateiStart:
  IncludeBinary "Zu_schützende.exe"
  DateiEnde:
EndDataSection
nach beenden des Spiels würde die temporäre exe wieder gelöscht werden.

Gruß, BI2
PB 5.7x (x64), LinuxMint 18.3 - Xfce (x64)

Einsteigerbuch: PureBasic - Eine Einführung in die Computer Programmierung
Antworten