[ itf @ 16.10.2009. 15:23 ] @
Znači, da li postoji kakav primjer (po mogućnosti BCB IDE) kojim je moguće kreirati self-extracting exe. On bi nakon extractiranja trebao pokrenuti prethodno definirani izvršni program koji se nalazio u njemu.
[ Goran Arandjelovic @ 17.10.2009. 02:18 ] @
Mogao bi recimo da koristiš zlib i da napraviš neku šemu, recimo:

1. Extractor
2. Header
3. Content

(1+2+3 = Self-extracting exe)

Dakle, neophodne fajlove spakuješ, definišeš neki header (neke neophodne informacije) i zajedno i "Header" i "Content" appenduješ extractoru i to je to.
Ne znam da li si mislio na tako nešto recimo...
[ icobh @ 17.10.2009. 09:08 ] @
Evo kako sam ja, kad sam bio mali, to uradio u VB6, ali logika je bitna:

Code:
Open App.Path & "\" & App.EXEName & ".exe" For Binary As 1
Open "Test.exe" For Binary As 2
Dim DataArray(FileLen(App.Path & "\" & App.EXEName & ".exe") - 82945)
Seek #1, 82945
Get #1, , DataArray()
Put #2, , DataArray()
Close #1
Close #2


Znači, imaš jedan EXE i u njemu se nalazi ovakav kôd. Taj EXE se zove Stub ili Extractor, kako ga je Goran nazvao. Ovaj EXE je veličine 82945 bajta. Ja sam sakriveni EXE samo zalijepio za taj Stub EXE. Stoga, otvoriš taj svoj EXE (kompletni, koji sadrži u sebi i stub i exe koji hoćeš extraktovati), pozicioniraš se na lokaciju gdje počinje novi exe i to samo snimiš u novu datoteku, u mom slučaju to je Test.exe. Na kraju samo pokreneš taj novi EXE.
[ itf @ 17.10.2009. 09:19 ] @
Zar ne bi trebalo dodavanje novog exe-a već postojećem uzrokovati grešku tipa "file is corrupted" ili sl.? Isto vrijedi i za dodavanje dokumenata exe-u?
[ Nedeljko @ 17.10.2009. 10:16 ] @
Koliko shvatam, tebi treba UPX.
[ icobh @ 17.10.2009. 17:32 ] @
Citat:
itf: Zar ne bi trebalo dodavanje novog exe-a već postojećem uzrokovati grešku tipa "file is corrupted" ili sl.? Isto vrijedi i za dodavanje dokumenata exe-u?

Neće se EXE korumpirati jer sve njegove sekcije ostaju netaknute...

Citat:
Nedeljko: Koliko shvatam, tebi treba UPX.

UPX je kompresor. Radi na sličan način ali sa stanovišta programa, ti nemaš nikakve kontrole nad unpackovanjem...
[ kiklop74 @ 20.10.2009. 18:38 ] @
Mozda nesto ovako:

http://www.ziptv.com/

Ili vredi pogledati source kod 7-zip arhivera koji takodje ima sfx

http://www.7-zip.org/
[ Nedeljko @ 21.10.2009. 11:52 ] @
Mislim da sam tek sada razumeo šta postavljač teme hoće.

Dakle, treba da napravi jedan exe fajl, koji predstavlja self extract arhivu, koji kada se pokrene raspakuje se i pokrene neki program (npr. koji je raspakovao).

Pa, to se može rešiti NSIS-om (Nullsoft Scriptable Install System). Možeš napisati skriptu koja radi baš to.

Sa druge strane, pomenuti UPX služi za smanjivanje veličine exe fajla - sam se raspakuje i zvrši, korisnik ima utisak da je to običan nekomprimovan exe. To je sasvim druga stvar.