![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
dsnake |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Не знаю в какой раздел vingrada писать.
![]() Короче задача в следующем: есть инсталляционный пакет программы, в exe файле которой зашит уникальный код (у каждой копии - свой!) т.к. копий и кодов много - компилировать каждый раз мануально слишком накладно. (окончание в следующем сообщении - пишу с телефона - ограничение на длину текста) |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
компилируй не мануально -- в чем проблема?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
dsnake |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Сообщение не дописал предыддущее. Задача в том, чтобы юзер по ссылке http://www.zlo.ru/satan.php?id=13 получал готовый ИНСТАЛЛЯЦИОННЫЙ пакет, внутри которого находится exe файл с измененной константой (const dev=13). Хостинг на freebsd. Т.е. дельфевый компилятор не пойдет...
|
|||
|
||||
artemiy |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 22.2.2007 Репутация: нет Всего: нет |
Уважаемые, а вообще, решабельна ли эта задача? И если да - то как? Просто меня она тоже заинтересовала
![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
а что мешает поправить эту константу в уже скомпилированном файле?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
dsnake |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Эта задача для меня непростая... Насколько я знаю, если просто тупо побайтно сравнить две откомпилированные версии программы с разными константами и тупо заменить то, что не совпадет на ЧТО-НИБУДЬ, то ничего не получится. ![]() Знаешь какой-то особенный способ гуру для замены констант? ![]() |
|||
|
||||
dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
я так понял, речь идет о некоем серийном номере, который должен быть уникальный для каждого скачавшего? внутри уже созданного пакета что-либо изменить врядли получится, поэтому нужно чем-то(например, тем же php) изменять глобальную переменную(а не константу!) в .exe и потом создавать пакет(х3, чем это можно под бсд сделать).
чтобы проще было эту переменную найти, можно сделать, например, так:
и не забудь где-нибудь в коде сделать обращение к этим константам, чтобы они не отбросились компилером:
|
||||
|
|||||
dsnake |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Спасибо за совет! На сервере просто открываем exe файл при помощи php, ищем строку, обрамленную нашеми сигнами и заменяем ее на нужное значение такой же размерности? Это будет работать? Сегодня же протестирую этот метод. ![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
Откуда инфа? если приложение ничем от такой замены не защищается -- спокойно можно менять. асм тут не особо нужен -- любой способ записи в файл покатит... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
dsnake |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Хмм... ![]() Хотя я еще не один из вариантов не проверял. ![]() Проверю - отпишусь. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
юзер будет просто качать екзешник? или это еще и зазиповано?
-------------------- Обижено школьников: 8 |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Правильный совет, т.к. константа после компиляции исчезнет, а вместо нее везде, где она используется, будет подставлено значение константы. В случае использования глобальной переменной все будет нормально. Надо будет только точно находить место инициализации этой переменной. Скорее всего в приведенном примере именно так и делается. Так как приложение скомпилированно, заранее известно место инициализации глобальной переменной, значение которой можно поменять уже с помощью php-кода. -------------------- ![]() |
|||
|
||||
dsnake |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Ну почти. Только не зазиповано, а создан инсталляционный пакет. ![]() Буду юзать это:
См. пример выше.
Сколько я узнал нового в этой ветке. Спасибо. |
||||||
|
|||||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Тогда у тебя могут возникнуть ОГРОМНЫЕ проблемы, т.к. любая программа, создающая инсталяшку, сжимает все файлы и, соответственно, найти нужное место практически нереально... -------------------- ![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
вообще-то до тех пор пока у тебя не появиться большое количество закачек (а ты ожидаешь сразу лавину желающих?) можно обойтись некоторым количеством сгенеренных заранее под виндой инсталях и выдавать их по очереди. Это разумеется не абсолютное решение проблемы, но как временная мера...
Добавлено через 32 секунды а чем создается пакет? -------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |