| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Склеивание и расклеивание .exe файлов |
| Автор: ShadowDancer 23.6.2006, 09:36 |
| Читал про Joiner'ы. Вот в этой: http://senselogic.jino-net.ru/coding/delphi/?subj=net&mod=joiner.php.htm статье описывается как склеить файл. А как тому файлу который приклеивают (stub), узнать и отделить от себя прикрёплённый файл ? Сразу говорю: не троян, просто интерес. |
| Автор: Snowy 23.6.2006, 09:52 |
| А ему и не нужно знать. Всю работу выполняет третий файл, который и обеспечивает расклеивание, приклеенных к нему двух других. Задача и состоит в том, чтобы написать этот третий (точнее первый) файл. |
| Автор: ShadowDancer 23.6.2006, 10:01 |
| А как будет выглядеть тот файл, что отклеивает ? Что он должен делать ? |
| Автор: Snowy 23.6.2006, 10:09 |
| Он должен знать количество файлов, их размеры и где именно они находятся. После этого, он загружает их в память и запускает. А чтобы это работало, нам нужна программа, которая будет создавать склеенный файл и записывать в него эти размеры и местонахождение. |
| Автор: Snowy 23.6.2006, 10:39 |
| Справка по TFileStream тебе в руки. Склеить 3 файла в один - самое простое. Основную работу выполняет лаунчер. Вот тут всё гораздо сложнее... |
| Автор: ShadowDancer 23.6.2006, 10:50 | ||
С пощью TFileStream вроде бы нельзя этого сделать. Или я ошибаюсь ? Если нет, то как это сделать ? |
| Автор: ShadowDancer 23.6.2006, 11:06 | ||
Я имел ввиду ни как узнать, а как установить кол-во файлов и их размеры. |
| Автор: Alexeis 23.6.2006, 13:58 |
| ShadowDancerNew, Очевидо, что эти данные должна записать программа "склеиватель" первыми в результирующий файл, затем программа "расклеиватель" прочетает все указанные поля в том же порядке. Ведь структуру "гибрида" содаешь сам, так ни что не мешает менять ее по своему вкусу. |
| Автор: ShadowDancer 25.6.2006, 01:00 | ||
Как пользуясь этим кодом прочитать из test_IN.exe первые 10000 байт и записать в tert_OUT.exe ? :
|
| Автор: Yanis 25.6.2006, 22:15 | ||
Изменить размер массива на 10000 и стереть repeat...until. |