Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: Genri
Дата сообщения: 23.12.2006 23:25

Цитата:
теперь самое сложное: нужно, что бы файлы, которые я засунул в проект, распаковывались в те папки (поочереди наверно), которые отмечены галочками
-- опять ошибаешься. Самое сложное - понять чего же ты хочешь
Из твоего поста, понятно, что надо взять первый файл и засунуть его в первую отмеченную папку (причем не важно какая папка, главное - отмечена), потом взять второй и засунуть его во вторую отмеченную и т.д.

Найми постановщика задач. На трафике сэкономишь
Автор: maxdddca123
Дата сообщения: 23.12.2006 23:31
Genri
Ладно, попробую ещё раз обьяснить общий смысл задания:
значит есть файлы с обновлением, которые нужно распаковать. У пользователя на компе установлено несколько баз, которые прописаны в реестре. Программа установки вместо страницы выбора папки извлечения (она ненужна т.к. папок для извлечения может быть несколько, CreateAppDir=false), рисует форму, в которой пользователь галками выбирает те базы, куда нужно распаковать файлы. Если галка отмечена, то файлы распаковываются в соответствующую папку, если нет - значит не распаковываются. Так более понятно ?
А теперь осталось только реализовать последнюю часть...
Автор: patq
Дата сообщения: 24.12.2006 07:25
Вопрос: как скачать эту тему полностью?
Чтоб спокойно ознакомиться как преодолевали трудности другие?

С уважением, Павел
Автор: NightW0lf
Дата сообщения: 24.12.2006 10:17
patq

Цитата:
Вопрос: как скачать эту тему полностью?

Нажми на надпись "Версия для печати"

Автор: Kindly
Дата сообщения: 24.12.2006 12:10
Genri, ну ты даешь. Это задачка по криптографии, а не распаковке, хотя и по распаковке тоже. Я в этом не разбираюсь, но насколько понимаю, ты кое-чего не запостил в скрипте, а именно функцию INTTOSTR. Как мне показалось, пароль содержит слово ISTask и еще слово Inno с которым вероятно что-то замучено в INTTOSTR. Важно то, что нужно извлечь зашифрованный файл. Извлекается в принципе просто, указывется в качестве параметра расшифрованная (не легко) строка MD5 (99086a6f4dfb9ebc731bc9b0130525cc (это и будет содержимое txt)). Итак: ты защитил инсталл от распаковки, а MD5 просто для отвода глаз, потому как если банально распаковать инсталлятор, то все "левые" проверки отлетают. Отпиши хоть, что я правильно тут сказал, инсталл еше помучаю.

QuickeneR
Это ты чтоль автор распаковщика?
FAR не юзаю, но новые настройки попробую.
Автор: Genri
Дата сообщения: 24.12.2006 12:17
Kindly

Цитата:
Как мне показалось...
-- Да вобщем-то уже не важно. Вопрос закрыт. Я оказался прав.
Автор: maxdddca123
Дата сообщения: 24.12.2006 12:41
Как проверить отмечен CheckBox в NewCheckListBox или нет ?

Добавлено:
Я думаю нужно юзать
property CHECKED: BOOLEAN INTEGER; read write;
или
property STATE: TCHECKBOXSTATE INTEGER; read write;
но КАК их юзать без понятия.
Автор: JKSerGEAnt
Дата сообщения: 24.12.2006 13:00
Genri

Цитата:
Я оказался прав

Нет, твой инсталл в можно раскрыть, только время потребуется. Которое мне было жалко тратить на такую ерунду.

Добавлено:
maxdddca123
Тебе недосуг самому посидеть и подумать? Всю ветку зафлудил простейшими вопросами.
Автор: Kindly
Дата сообщения: 24.12.2006 13:04
Genri

Цитата:
-- Да вобщем-то уже не важно.
Почему это? Будем ловить тогда пасс в отладчике - уже тогда не "открутишся".
Автор: maxdddca123
Дата сообщения: 24.12.2006 13:15
JKSerGEAnt
Дак я буду думать знаешь сколько ? До следующего нового года.... Поэтому и спрашиваю. Ведь форум для этого и предназначен, а не для того что бы тут сидеть и думать !
Автор: Genri
Дата сообщения: 24.12.2006 14:30
Kindly

Цитата:
Почему это? Будем ловить тогда пасс в отладчике - уже тогда не "открутишся"

А зачем? Ведь задача-то стояла другая. Мне пытались доказать, что пасс хранится в открытом виде. Но если так, то зачем тогда что-то "ловить"? Вытягиваем CompiledCode.bin, смотрим пасс и распаковываем. Но выяснилось, что пасс в инстале вовсе не сохраняется (в отличии от строковых констант, о которых ты и говоришь).

Цитата:
Извлекается в принципе просто, указывется в качестве параметра расшифрованная (не легко) строка MD5 (99086a6f4dfb9ebc731bc9b0130525cc

А вот это меня очень заинтересовало. Выложи алгоритм реинжениринга MD5 хеша в исходную строку. Я так думаю, это и QuickeneR-у пригодится

JKSerGEAnt

Цитата:
Нет, твой инсталл в можно раскрыть, только время потребуется. Которое мне было жалко тратить на такую ерунду.

Разумеется можно. Но вот что любопытно...
21-12-2006 16:16 я выложил задачу;
23-12-2006 00:20 ты запросил решение (без твоего согласия цитировать личку не буду);
23-12-2006 17:39 я тебе дал решение (без твоего согласия цитировать личку не буду);
24-12-2006 14:00 эта цитата.

Кстати, я могу рассчитвывать, что ты, как порядочный человек, никому (включая Kindly) не давал решения, которое я дал тебе?
Автор: Kindly
Дата сообщения: 24.12.2006 14:47
Эй, Genri! Пароль такой: Inno00ISTask
Содержимое ReadMe.txt: Кто ищет, тот найдет!

Я же говорил, просто смотрим память при запущенном сетапе - все контролы отображаются. Как ни мудри, какой бы алго ты не придумал - все валяется в памяти.

Насчет порядочности JKSerGEAnt можешь не сомневаться. У меня чуток работает голова в этом направлении. Не знаю, какое у тебя там решение, но у меня свое, которое в отличие от тебя смогу выложить на паблик.

При желании могу написать одному человеку, который может написать прогу по выдиранию пасса из памяти, но в принципе это не так уже актуально.
Автор: Genri
Дата сообщения: 24.12.2006 15:03
Kindly

Цитата:
У меня чуток работает голова в этом направлении
-- не сомневаюсь Поэтому прошу выложить технологию извлечения строки из MD5 хеша. Мне это не по зубам (по крайней мере не за 3 дня). Давай, делись с народом


Добавлено:
А что касается пароля, то я для себя уже сделал вывод: Конечно, при желании вскрыть можно. Но утверждение, что это можно сделать просто распаковав CompiledCode.bin - не соответствует действительности (если только разработчик не вставил строку, совпадающую с паролем в открытом виде).
Я так понимаю, что с этим ты согласен.
Автор: JKSerGEAnt
Дата сообщения: 24.12.2006 18:33
Genri

Цитата:
Кстати, я могу рассчитвывать, что ты, как порядочный человек, никому (включая Kindly) не давал решения, которое я дал тебе?


Цитата:
Насчет порядочности JKSerGEAnt можешь не сомневаться
аж покраснел перед монитором... если б все были такими же порядочными, как я... шутка
Автор: patq
Дата сообщения: 24.12.2006 19:36

Цитата:
patq

Цитата:Вопрос: как скачать эту тему полностью?

Нажми на надпись "Версия для печати"


Спасибо, так пробовал
К сожалению этим способом вся тема не выводится
Но скачаю достаточно, чтобы почитать
Автор: GRom V
Дата сообщения: 25.12.2006 01:24




NightW0lf

Цитата:
P.S. у меня есть пример такой пример от Kindly

скинь примерчик
Автор: Genri
Дата сообщения: 25.12.2006 02:55
GRom V

Цитата:
Source: {app}\Readme.txt; DestDir: {app}; Check: MyProgCheck
-- а при чем тут это ?? Какое отношение эта строка имеет к паролю ??
Цитата:
Т.е смысла в таком шифровании нет и плагин с commandera справляется без промблем
-- что, начнем сначала? Ну давай. Здесь длл-ка и текстовый файл в сетапе. Никаких лазеек для вытягивания текстового файла на этот раз я не оставлял (типа как параметр прошлый раз). Но если плагин так легко справляется с паролем, то через несколько часов кто-нибудь да процитирует стихотворение из текстового файла


Автор: GRom V
Дата сообщения: 25.12.2006 06:39
Genri

Цитата:
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V

Цитата:Source: {app}\Readme.txt; DestDir: {app}; Check: MyProgCheck

-- а при чем тут это ?? Какое отношение эта строка имеет к паролю ??
Цитата:Т.е смысла в таком шифровании нет и плагин с commandera справляется без промблем

-- что, начнем сначала? Ну давай. Здесь длл-ка и текстовый файл в сетапе. Никаких лазеек для вытягивания текстового файла на этот раз я не оставлял (типа как параметр прошлый раз). Но если плагин так легко справляется с паролем, то через несколько часов кто-нибудь да процитирует стихотворение из текстового файла

Вообщето я свое сообщение удалил минуты через две как оставил!!!
Прошу просчения - ...
Я тут почитал всю эту темку.... Kindly оставил пароль, только я не вкурю куда его вводить надо чтобы распакавался текстовик - ставлю в качестве параметра...не получается

Автор: maxdddca123
Дата сообщения: 25.12.2006 09:34
Народ ну неужели никто не знает, как проверить, отмечен CheckBox в NewCheckListBox или нет ?
Автор: Genri
Дата сообщения: 25.12.2006 10:50
maxdddca123

Цитата:
Я думаю нужно юзать
property CHECKED: BOOLEAN INTEGER; read write;
-- опять ошибаешься.
И где ты там такое нашел? Я вижу только property Checked[Index: Integer]: Boolean;
Соответственно и использовать примерно так:

CheckResult:= Page.NewCheckListBox1.Checked[1];
или так:
if Page.NewCheckListBox1.Checked[5] = True then ....
Автор: maxdddca123
Дата сообщения: 25.12.2006 11:44
Genri
Это пример проверки конкретного номера (5-го как я понял), а у меня же массив, поэтому надо, что бы проверялся весь массив на присутствие выбранных элементов. (отмеченных галочкой чекбоксов)
Автор: Kindly
Дата сообщения: 25.12.2006 12:43
QuickeneR

Цитата:
Не особо понял твой вопрос.

Не вопрос в принципе, а просьба. Напрямую, используя, приложение, нельзя извлечь все нешифрованные файлы. Вот к примеру -x -m извлекает все файлы + дополнительные. Но если инсталл запаролен, то это не катит. Хотелось бы, чтобы при указании только параметра -m извлекались дополнительные файлы, без запроса пароля. А предложенные настройки для Total Commander все равно не катят для инсталлов без Setup.ldr.
Genri

Цитата:
Поэтому прошу выложить технологию извлечения строки из MD5 хеша.

Ты, наверное, должен знать, что получение исходной строки из хеша MD5 на данный момент в основном осуществляется перебором. А если это и было бы возможно, то технология находилась бы в привате. Еще есть модифицированное шифрование MD5, но его Inno не поддерживает. Получить исходную строку из хеша MD5 может реально умный человек - я к таковым не отношусь. Лучше бы ты свой вариант "разбивки" пароля выложил.

Цитата:
-- что, начнем сначала?

надеюсь, это не ко мне относится?

GRom V

Цитата:
только я не вкурю куда его вводить надо чтобы распакавался текстовик

Вводить в качестве параметра нужно: Кто ищет, тот найдет! Хотя сам не пробовал.

JKSerGEAnt

Цитата:
если б все были такими же порядочными

это я к тому, что мы с тобой не общались по этому поводу.

Автор: QuickeneR
Дата сообщения: 25.12.2006 13:43
Kindly
Хм.
1. Если ТС не входит в setup.0, это проблема исключительно настроек мультиарка, распаковщик тут не причем.
2. Зачем может понадобиться извлечь все незашифрованные файлы? Ни разу не видел инсталлов, где была бы шифрована только часть файлов - народ предпочтиает шифровать все или ничего. Если все, то пароль или лежит в CompiledCode.bin, или его там нет. CompiledCode.bin в любом случае не шифрован - бери, выдирай пароль и вводи на запрос.
Автор: Genri
Дата сообщения: 25.12.2006 13:56
QuickeneR

Цитата:
...шифрована только часть файлов

Например при использовании различных звуков, баннеров и пр. рюшечек в начале инсталляции (до ввода пароля)
Автор: QuickeneR
Дата сообщения: 25.12.2006 14:09
Genri
Ну и зачем эти баннеры нужны? А если так нужны, то разве трудно их скопировать по одному?
Автор: Genri
Дата сообщения: 25.12.2006 14:43
Kindly

Цитата:
получение исходной строки из хеша MD5 на данный момент в основном осуществляется перебором
-- меня ввела в заблуждение твоя фраза:
Цитата:
Извлекается в принципе просто, указывется в качестве параметра расшифрованная (не легко) строка MD5
... из чего я сделал вывод, что ты расшифровал хеш, а так как времени для перебора было недостаточно (разве что нарвался на коллизию), я решил, что ты знаешь алгоритм раскрутки хеша.

Цитата:
Лучше бы ты свой вариант "разбивки" пароля выложил
-- не понял просьбы. Ясно же, что нельзя хранить строки в открытом виде. А как их спрятать - это уже зависит от фантазии разработчика. Букву "I" например так:
Chr(Length('сУперПАрОль')*7-Pos('Пароль', 'ВотПароль'))
Никакого "своего" варианта я не имею. Всегда стараюсь не повторяться

Цитата:
надеюсь, это не ко мне относится?
-- Обижаешь Ты для меня ценен хотя бы тем, что в отличии от многих, ты выдаешь результат (достаточно посмотреть шапку). Но отстаивать свою точку зрения я не перестану (несмотря на регалии оппонента)
QuickeneR

Цитата:
Ну и зачем эти баннеры нужны?
-- Полностью согласен. Я уже высказывал свое мнение по поводу превращения сетапа в "новогоднюю елку". Но народ требует зрелищ
Автор: Kindly
Дата сообщения: 25.12.2006 19:23
QuickeneR

Цитата:
Ни разу не видел инсталлов, где была бы шифрована только часть файлов
То, что не зашифровано, это краз интересующий меня compiledcode.bin. Его то выдрать не так-то просто из зашифрованного инсталла обычным способом (устал уже повторяться).
Инсталл не может шифровать все входящие в сетап файлы. Ну попробуй чтоли через анпакер выдрать из этого сетапа отдельно compiledcode.bin:
http://rl-team.ru/311689
или
http://rapidshare.com/files/119921/KindlyPowerPackPluginForAMS60Full.zip.html
Автор: NightW0lf
Дата сообщения: 25.12.2006 19:31
GRom V

Цитата:
скинь примерчик

Пример кнопок от Kindly

Добавлено:
Кто нибудь может все-таки мне поможет?
Как мне программно изменить названия кнопок на странице установки (кнопки «Установить», «Отмена» - На любое другое название)? (НЕ через языковой файл "Russian.isl")
Автор: Genri
Дата сообщения: 25.12.2006 21:02
Kindly
А ты пароль вообще никогда не меняешь ? Я уже замучился эти символы вводить
Я бы порекомендовал, не использовать опубликованный в инете пароль.

Добавлено:
NightW0lf -- не совсем понятно, почему не хочешь штатными средствами. Но если есть на то причина, можешь так:
WizardForm.CancelButton.Caption:= 'Отменить';
WizardForm.NextButton.Caption:= 'Вперед';
WizardForm.BackButton.Caption:= 'Назад';
Автор: maxdddca123
Дата сообщения: 25.12.2006 22:04
Genri
А для меня лимит ответов на сегодня исчерпан ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: ICONS


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.