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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Совмещение и кодирование файлов 
:(
    Опции темы
PSYx
Дата 14.11.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет, помогите решить проблемку:
Есть 2 разных файла со своими структурами. Нужно сна4ала объединить их(4то бы структура сохранилась- ведь потом их ещё разъединять придётся!) а затем закодировать(при4ём 4тобы при декоде структура живой осталась!). При4ём желательно 4тоб кодик не сильно мудрёный был!
Спасибо.
PM MAIL ICQ   Вверх
z-END
Дата 14.11.2005, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



самый простой кодик: берем WinRAR создаем архив и паролируем его


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
PSYx
Дата 14.11.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



не прикалуйся! мне ж это програмно сделать надо!
PM MAIL ICQ   Вверх
_hunter
Дата 14.11.2005, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



самый простой кодирование -- XOR-ом пройдись по всему буфферу
насчет объекдинения -- два ресурса создай...
+ вот:
http://forum.vingrad.ru/index.php?showtopic=70314


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
z-END
Дата 14.11.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



Цитата(PSYx @ 14.11.2005, 14:04)
не прикалуйся! мне ж это програмно сделать надо!

а я про что?! в DRKB есть пример как пользоваться библиотекой winRAR


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
~FoX~
Дата 15.11.2005, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


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

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



Для использования библиотеки WinRar для архивирования - за нее нужно денежку отдать...


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
PSYx
Дата 15.11.2005, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(_hunter @ 14.11.2005, 14:32)
самый простой кодирование -- XOR-ом пройдись по всему буфферу
насчет объекдинения -- два ресурса создай...
+ вот:
http://forum.vingrad.ru/index.php?showtopic=70314

Спасибо, это уже ближе к теме!
Добавлено @ 10:18
Цитата(PSYx @ 15.11.2005, 10:17)
Цитата(_hunter @ 14.11.2005, 14:32)
самый простой кодирование -- XOR-ом пройдись по всему буфферу
насчет объекдинения -- два ресурса создай...
+ вот:
http://forum.vingrad.ru/index.php?showtopic=70314

Спасибо, это уже ближе к теме!

Да нет же - я СВОЙ код без дополнительных компонентов написать должен!
Добавлено @ 10:20
Цитата
Для использования библиотеки WinRar для архивирования - за нее нужно денежку отдать...

.. тем более, ведь прога, которую я пишу- не едини4ная(и не для ли4ного использования)! Юзать её будут все кому ни попади.
PM MAIL ICQ   Вверх
_hunter
Дата 15.11.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



тогда юзай банальный XOR. если слишком просто покажется -- иди в раздел алгоритмы и там про шифрование читай...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Snowy
Дата 15.11.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вот, нарисовал смешной xorный алгоритм:
Код

function Code(s: string):string;
var
  i: byte;
begin
  for i:=1 to Length(s) do
    if Length(s)-i+1 <> i then
      s[i]:=chr(ord(s[i]) xor ord(s[Length(s)-i+1]));
  result:=s;
end;

Юзается так:
Код

var
  s: string;
begin
  s:='Строка, которую ксорим';
  s:=Code(s); // закодировали
  // ...
  s:=Code(s);
  s:=Code(s); // Для декодирования, вызываем 2 раза  

Можно наоборот - для кодирования 2 раз, для декодирования 1.
Можно для кодирования 1 раз, для второго кодирования 1 раз, для декодирования еще раз.
Вобщем по данному алгоритму данные принимают свое первоначальное значение после третьего кодирования. (забавный эффект)...
Ну и сам алгоритм чуть посложнее для взлома, чем обычный xor.
Для большей надежности, можно к данным приклеивать рэндомный хвост. Тогда алгоритм станет вполне устойчивым, ибо хвост при кодировании влияет на кодируемое слово.
PM MAIL   Вверх
PSYx
Дата 15.11.2005, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



не выйдет! я файлы кодирую, а Дэлфя при этом ( s[i]:=chr(ord(s[i]) xor ord(s[Length(s)-i+1]));) некоторые символы воспринимает как, скажем переход каретки. Этот метод я уже пробовал- не полу4ается так кодировать! Структура проги неизменно сбивается! smile

Это сообщение отредактировал(а) Girder - 16.11.2005, 13:33
PM MAIL ICQ   Вверх
Snowy
Дата 15.11.2005, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(PSYx @ 15.11.2005, 13:07)
не выйдет! я файлы кодирую, а Дэлфя при этом ( s[i]:=chr(ord(s[i]) xor ord(s[Length(s)-i+1]));) некоторые символы воспринимает как, скажем переход каретки.

Все выйдет.
Читаешь через TFileStream в string.
string oтдаешь функции.
Затем обратно из стринга сохраняешь в стрим.
А стрингу все равно, что там в нем. Хоть каретки, хоть 0. Работает независимо от этого.
Это, если бы ты работал с TextFile, то да. А так все нормально.
PM MAIL   Вверх
PSYx
Дата 15.11.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дак в том то и дело 4то 4асть инфы в файлах- в текстовом виде!!!
PM MAIL ICQ   Вверх
Snowy
Дата 15.11.2005, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вот код.
Код

var
  fs: TFileStream;
  s:  string;
begin
  fs:=TFileStream.Create('1.dat',fmOpenReadWrite);
  SetLength(s,fs.Size);
  fs.Position:=0;
  fs.Read(s[1],fs.Size);
  s:=Code(s);
  fs.Position:=0;
  fs.Write(s[1],Length(s));
  fs.Free;
end;

Для декодирования, соответственно s:=Code(s); вызвать 2 раза.
Или весь код 2 раза (но это дольше).
Добавлено @ 13:47
Цитата(PSYx @ 15.11.2005, 13:44)
Дак в том то и дело 4то 4асть инфы в файлах- в текстовом виде!!!

Да все равно. Работаем мы с байтами, а текст там или картинка - все равно.
PM MAIL   Вверх
PSYx
Дата 15.11.2005, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



То4но? Ну ладно, СПАСИБО ща мостить в код на4ну!
PM MAIL ICQ   Вверх
Snowy
Дата 15.11.2005, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Кстати в данную схему можно еще добавить ZLib компрессию, а потом ее закодить.
Тогда вообще без дезассемблирования восстановить будет нереально.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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