Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Склеивание и расклеивание .exe файлов 
V
    Опции темы
ShadowDancer
Дата 23.6.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Читал про Joiner'ы. Вот в этой: http://senselogic.jino-net.ru/coding/delph...=joiner.php.htm статье описывается как склеить файл.
А как тому файлу который приклеивают (stub), узнать и отделить от себя прикрёплённый файл ?
Сразу говорю: не троян, просто интерес. 
PM MAIL   Вверх
Snowy
Дата 23.6.2006, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А ему и не нужно знать.
Всю работу выполняет третий файл, который и обеспечивает расклеивание, приклеенных к нему двух других.
Задача и состоит в том, чтобы написать этот третий (точнее первый) файл. 
PM MAIL   Вверх
ShadowDancer
Дата 23.6.2006, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



А как будет выглядеть тот файл, что отклеивает ? Что он должен делать ? 
PM MAIL   Вверх
Snowy
Дата 23.6.2006, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Он должен знать количество файлов, их размеры и где именно они находятся.
После этого, он загружает их в память и запускает.

А чтобы это работало, нам нужна программа, которая будет создавать склеенный файл и записывать в него эти размеры и местонахождение. 
PM MAIL   Вверх
ShadowDancer
Дата 23.6.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Цитата(Snowy @  23.6.2006,  10:09 Найти цитируемый пост)
создавать склеенный файл и записывать в него эти размеры и местонахождение

Вот, вот. А где про это почитать. 
Или пример, если не сложно.
 
PM MAIL   Вверх
Snowy
Дата 23.6.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Справка по TFileStream тебе в руки.
Склеить 3 файла в один - самое простое.
Основную работу выполняет лаунчер. Вот тут всё гораздо сложнее... 
PM MAIL   Вверх
ShadowDancer
Дата 23.6.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Цитата(Snowy @  23.6.2006,  10:09 Найти цитируемый пост)
Он должен знать количество файлов, их размеры и где именно они находятся.

С пощью TFileStream вроде бы нельзя этого сделать. Или я ошибаюсь ? 
Если нет, то как это сделать ? 
PM MAIL   Вверх
ShadowDancer
Дата 23.6.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Цитата(ShadowDancerNew @  23.6.2006,  10:50 Найти цитируемый пост)
Цитата(Snowy @  23.6.2006,  10:09 )
Он должен знать количество файлов, их размеры и где именно они находятся.


С пощью TFileStream вроде бы нельзя этого сделать. Или я ошибаюсь ? 
Если нет, то как это сделать ?  


Я имел ввиду ни как узнать, а как установить кол-во файлов и их размеры. 
PM MAIL   Вверх
Alexeis
Дата 23.6.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ShadowDancerNew, Очевидо, что эти данные должна записать программа "склеиватель" первыми в результирующий файл, затем программа "расклеиватель" прочетает все указанные поля в том же порядке. Ведь структуру "гибрида" содаешь сам, так ни что не мешает менять ее по своему вкусу. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ShadowDancer
Дата 25.6.2006, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Как пользуясь этим кодом прочитать из test_IN.exe первые 10000 байт и записать в tert_OUT.exe ? :
Код

var
  FromF, ToF: file;
  NumRead, NumWritten,Size: LongInt;
  Buf: array[1..2048] of Byte;
            //f: textfile;
begin
try
          //AssignFile(F,'size.txt');
          //Rewrite(f);
    AssignFile(FromF,'test_IN.exe');
    Reset(FromF, 1);
    AssignFile(ToF,'test_OUT.exe');
    Reset(ToF, 1);
    Size:=filesize(FromF);
          //Writeln(F, Size);
          //Close(f);
    //filesize(ToF)
    Seek(ToF,filesize(ToF));
          repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
        BlockWrite(ToF, Buf, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
    blockwrite(ToF,Size,sizeof(longint));
  finally
    CloseFile(FromF);
    CloseFile(ToF);
  end;


  

Это сообщение отредактировал(а) ShadowDancerNew - 25.6.2006, 12:20
PM MAIL   Вверх
Yanis
Дата 25.6.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(ShadowDancerNew @  25.6.2006,  02:00 Найти цитируемый пост)
Как пользуясь этим кодом прочитать из test_IN.exe первые 10000 байт и записать в tert_OUT.exe ? 

Изменить размер массива на 10000 и стереть repeat...until. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.