Как сделать распаковщик?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Как сделать распаковщик?

Сообщение Maitris » 19.03.2005 (Сб) 21:09

Как сделать прогу в которой бы хранилось содержимое exe файла, при запуске она бы его распаковывала (этот exe) в заданную папку на винте и запускала? Ну и конечно чтобы ее размер вместе с содержимым exe был как можно меньше :)
----

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 21:11

А что значит "как"? В чем проблема?
Делаешь прогу, в нее вшиваешь exe-шник, при запуске распаковываешь этот файл и запускаешь.
Lasciate ogni speranza, voi ch'entrate.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 19.03.2005 (Сб) 21:13

alibek Проблема в том, что я не имею понятия как это сделать :shock:
Как его "вшить" и как распаковать.
Ну как запустить ессесно знаю...
----

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 19.03.2005 (Сб) 21:17

Вообщето, если сильно не мудорствовать, WinRAR делает так называемые SFX-архивы.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 21:17

Так ты хочешь сделать это сам или хочешь, чтобы тебе это сделал кто-то другой?
Можешь показать, что ты уже пытался сделать, прежде чем спросил на форуме?
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 21:17

ANDLL, вот же ш. Даже с автозапуском и скриптами.
Lasciate ogni speranza, voi ch'entrate.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 19.03.2005 (Сб) 21:20

alibek Я ПЫТАЛСЯ, ОЧЕНЬ СИЛЬНО ПЫТАЛСЯ :D .
Ну хоть маленький набросок сделай, как вделать и как распаковать.
Сейчас у меня это и так выполняет WinRar. Но он мне уже надоел порядком :roll:
Ясное дело что хочу сам, другое дело как...
----

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 21:28

У меня такое впечатление, что то, что ты сделаешь сам, будет гораздо хуже работать, чем WinRAR.
Добавляешь в ресурсы нужный exe-ник. В коде делаешь buff() = GetResData("FILE","PROG1") (здесь buff() это байтовый массив), затем этот буфер выгружаешь в файл (Open ... For Binary : Put ... : Close) и запускаешь (Shell).
Lasciate ogni speranza, voi ch'entrate.

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 19.03.2005 (Сб) 21:43

Мужик, не мучайся и бери UPX или ASP Protect. Тут тебе и защита от хакеров и хорошое сжатие твоей проги, и к тому же сама распаковывает перед запуском прогу (тебе об этом не надо беспокоится). Бери лучше ASP - он лучше во всех отношениях.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 19.03.2005 (Сб) 23:34

alibekСпасибо, попробую.
----

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 19.03.2005 (Сб) 23:35

NikolkaДа мне собственно не сжатие надо, а распаковка в определенную папку без вопросов :)
----

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 20.03.2005 (Вс) 14:23

alibek
Добавил русурс, тип назвал DATA, идентификатор EXE.
Ну а GetResData это функция должна быть? И что в тексте этой функции написать :?: :) И какие аргументы должны быть?
Так? GetResData("DATA", "EXE")?
----

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 20.03.2005 (Вс) 15:33

Кто объяснит как считать ресурсный файл? :evil:
----

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.03.2005 (Вс) 16:32

Код: Выделить всё
Dim buff() As Byte, FN As Integer
buff() = LoadResData("DATA", "EXE")
FN = FreeFile
If Len(Dir$("C:\tmp.exe")) > 0 Then Kill "C:\tmp.exe"
Open "C:\tmp.exe" For Binary As #FN
Put #FN, , buff()
Close #FN
Erase buff()
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 115

    TopList