![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хранение данных в EXE... [D6, Win95/98, Win2k, WinXP]
MetalFan © (2004-06-23 17:01:00)как можно читать/писать в ресурс EXE файла.
сочиняю нечто типа SFX архива.
подскажите, в какую сторону двигаться?!
спасибо за внимание!
RagE (2004-06-30 14:21:00) [1]2 wicked
С тобой согласен. Хотя в моем случае это кусок протекта файлов но как подумаю что можно с такой функцией потом делать аж мурашки по коже бегут.
wicked (2004-06-30 13:58:00) [2]гых... пишем вирус всем форумом...
для сфх достаточно тока склеивания данных с готовым екзешником и выделения этих же данных из него...
RagE (2004-06-30 13:14:00) [3]2 MetalFan
Отчего ж не поделится опытом. Поделюсь. На данный момент вот что делаю.
Считываю заголовок.
Размещаю секции и устанавливаю соответствующие права.
Гружу необходимые длл и настраиваю Таблицу импорта.
При необходимости использую Relocation Table.
Далее идет запуск. Запуск начал осуществлять путем замещения своего процесса запускаемым. 99% запускаемых программ вылетают с ошибкой. В основном на попытках обратиться к стеку. Есть подозрения что стек надо устанавливать новый. Может подскажите как и что делается. Также не используется вовсе TLS. Вобщем еще кучу всего делать но ощущается нехватка информации.
MetalFan (2004-06-25 10:21:00) [4]
> это совершенно иной вопрос, никак не связанный с сабжем
мысль понял)
Digitman (2004-06-25 08:17:00) [5]
> MetalFan © (24.06.04 19:00) [22]
> ну а если "выгружать" его во временный файл, то как можно
> запретить его куда-нибудь содрать? )
это совершенно иной вопрос, никак не связанный с сабжем
ПсихЪ_клон (2004-06-25 00:20:00) [6]Рой где-то в области своей ОС. В настройка ОСи сделай эту опцию и тогда ни один злобный хакер не скопирует твою мега-секретную прогу!!!
(ибо не будет ставить твою глупую ОС)
(:
MetalFan (2004-06-24 19:00:00) [7]
> любой неявный loadresource-вызов требует хэндл модуля
> хэндла модуля у тебя нет. ибо не грузил ты его из файла
ну а если "выгружать" его во временный файл, то как можно запретить его куда-нибудь содрать? )
Digitman (2004-06-24 16:36:00) [8]
> MetalFan © (24.06.04 15:07) [16]
> пошевелил... значит надо как-то запретить его копировать...
> чтоли
плохо пошевелил
любой неявный loadresource-вызов требует хэндл модуля
хэндла модуля у тебя нет. ибо не грузил ты его из файла
MetalFan (2004-06-24 15:42:00) [9]
> RagE © (24.06.04 15:28) [19]
...И скажу тебе запускаются файлы...
эт конечно наглость... но не поделитесь ли опытом? ))
RagE (2004-06-24 15:28:00) [10]Читаю вот тут и вжиу что многие из вас заблуждаются. Начинаю рассказывать.
2 Bung
>Теоретически(скорей всего и практически) невозможно
Все возможно я как раз такой проект делаю. И скажу тебе запускаются файлы. Пока правда не все.
2 Digitman
>пошевели малясь мозгами-то ... ресурсы-то свои ГДЕ будет искать >тот процесс, который ты умудрился запустить "из памяти" ?
Вот как раз в памяти он их и будет искать. Перед запускам весь образ исполняемого файла помещается в память в том числе и ресурсы.
Опять же те проги которые мне удалось пока запустить на ресурсы не жаловались.
2 evvcom
Согласен что кто очень сильно захочет все равно выдернет, но если файл предварительно зашифровать то задача ему усложнится существенно.
Вобщем все это возможно вопрос только в том насколько действительно это требуется. Цель должна окупать свои средства.
evvcom (2004-06-24 15:23:00) [11]
> дочерний ЕХЕ может быть абсолютно сторонний... не имеющий
> ко мне отношения
Тогда укажи мне хоть одну причину, по которой его надо так "хорошо" запрятать? И если этот сторонний exe стал доступен тебе, то почему он не может быть доступен кому бы то еще?
Честно сказать, не тем делом Вы занялись, молодой человек. ИМХО.
MetalFan (2004-06-24 15:09:00) [12]
> Чтобы этот (дочерний) exe не запускался без родителя, тоже
> можно сделать. Идея аналогична обнаружению запущенной копии
> программы, только в случае обнаружения копии второй не запускается,
> а здесь не запускается в случае необнаружения первичного
> exe. Всего делов-то...
а дело то вот в чем) дочерний ЕХЕ может быть абсолютно сторонний... не имеющий ко мне отношения)
MetalFan (2004-06-24 15:07:00) [13]
> Digitman © (24.06.04 14:24) [14]
пошевелил... значит надо как-то запретить его копировать... чтоли
evvcom (2004-06-24 14:59:00) [14]
> но тогда отследить и скопировать в другое место записанный
> на диск ЕХЕшник можно будет
Блин, ну что за мания преследования какая-то? От кого все так хотят бесследно спрятаться? Ну запишешь куда-нибудь в temp-папку этот exe, ну отследит его хакер и скопирует куда-нибудь, в чем проблемы? Как ты не ухищряйся, все равно опытный хакер выдернет в конце концов из ресурсов твой exe и запишет на диск.
Чтобы этот (дочерний) exe не запускался без родителя, тоже можно сделать. Идея аналогична обнаружению запущенной копии программы, только в случае обнаружения копии второй не запускается, а здесь не запускается в случае необнаружения первичного exe. Всего делов-то...
Digitman (2004-06-24 14:24:00) [15]
> MetalFan © (24.06.04 11:07) [11]
> а как запустить сразу на выполнение приаттаченый EXEшник...
> чтобы нельзя его было запускать извне)
> вот в чем вопрос!
пошевели малясь мозгами-то ... ресурсы-то свои ГДЕ будет искать тот процесс, который ты умудрился запустить "из памяти" ?
MetalFan (2004-06-24 14:22:00) [16]
> evvcom © (24.06.04 12:53) [12]
но тогда отследить и скопировать в другое место записанный на диск ЕХЕшник можно будет(
и еще, как создать дочюпроцесс? CreateProcess ?
evvcom (2004-06-24 12:53:00) [17]
> а как запустить сразу на выполнение приаттаченый EXEшник...
> чтобы нельзя его было запускать извне)
Записываешь его на диск и запускаешь как дочерний процесс. Как только дочерний завершает свою работу, сразу его удаляешь. Чтобы нельзя было извне запустить вторую копию, делаешь в нем анализ на уже запущенную копию. Как? Примеров в сети - море.
MetalFan (2004-06-24 11:07:00) [18]
> ...кажись, даже знаю, зачем тебе это
и зачем? )))
> Запущенный экзешник мона запросто открыть через TFileStream
> и читать из него что угодно.
читать то не проблема... а как запустить сразу на выполнение приаттаченый EXEшник... чтобы нельзя его было запускать извне)
вот в чем вопрос!
Dimaxx (2004-06-23 22:51:00) [19]Толян опередил! Запущенный экзешник мона запросто открыть через TFileStream и читать из него что угодно.
Anatoly Podgoretsky (2004-06-23 20:46:00) [20]SFX архив можно делать ничего не зная про ЕХЕ, если записывать архив в конец заранее заготовленного ЕХЕ