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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифрование XOR 
:(
    Опции темы
ShowMessage
Дата 14.9.2006, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!

Немогли бы вы помочь мне с расшифровкой текста который был зашифрован алгаритмом XOR 
вот это оригинал "test123"  а вот что получается после шифрования "07 00 00 00 de cf d9 de 9b 98 99", если кто может то дайте небольшой пример как расшифровать его.

Заранее благодарен. 
PM MAIL   Вверх
skyboy
Дата 14.9.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



ShowMessage, если это и XOR, то замысловатый, потому как 
t -> 07 
e -> 00
s -> 00
t -> 00
Т.е. одна и та же буква "t" после кодирования даёт один и тот же код. 
Что это за задача? Из чего ясно, что это XOR?
PM MAIL   Вверх
Alexeis
Дата 14.9.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



ShowMessage, длинна шифровки должна совподать с длинной исходного текста, а тут выходить 11 против 7, значит не просто XOR.


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

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

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


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



07 00 00 00 - это длина строчки. s[i] := s[i] xor $AA;
PM MAIL   Вверх
ShowMessage
Дата 14.9.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



так что никто незнает алгоритма которым можно расшифровать?
PM MAIL   Вверх
Romikgy
Дата 14.9.2006, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



ShowMessage, ты че?
Цитата(dumb @  14.9.2006,  00:24 Найти цитируемый пост)
07 00 00 00 - это длина строчки. s[i] := s[i] xor $AA; 

а это что?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Snowy
Дата 14.9.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



У ксора алгоритм расшифровки тот же, что и шифрования.
PM MAIL   Вверх
s0neg
Дата 14.9.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

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



Вот написал небольшой пример. Писал "на коленке", но по идее должен работать:
Код

function DoCode(Source: string): string;
var
  i: integer;
  s: string;
begin
  s := IntToHex(Length(Source), 2) + ' ';
  s := s + '00 00 00';
  for i := 1 to Length(Source) do
  begin
    Source[i] := Chr(Ord(Source[i]) xor Ord(Code));
    s := s + ' ' + IntToHex(Ord(Source[i]), 2);
  end;
  Result := s;
end;

function DoEnCode(Source: string): string;
var
  i: integer;
  s: string;
begin
  Source := StringReplace(Source, #32, '', [rfReplaceAll]);
  Delete(Source, 1, 8);
  for i := 1 to Length(Source) div 2 do
  begin
    s := s + Char(StrToInt('$' + Copy(Source, 1, 2)));
    s[i] := Chr(Ord(s[i]) xor Ord(Code));
    Delete(Source, 1, 2);
  end;
  Result := s;
end;

PM MAIL   Вверх
Snowy
Дата 14.9.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



smile

Добавлено @ 14:19 
Цитата(ShowMessage @  14.9.2006,  00:27 Найти цитируемый пост)
07 00 00 00 de cf d9 de 9b 98 99
Это не строка, а байты записанные в файл через TWriter.WriteString
Человек просто скопировал их из HexEditor'a

Нужно всего лишь прочитать эту строку TReader'ом и декодить:
Код

  for i := 1 to Length(s) do s[i] := s[i] xor $AA; 

PM MAIL   Вверх
Romikgy
Дата 14.9.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



s0neg, а что будет в 
Цитата(s0neg @  14.9.2006,  13:12 Найти цитируемый пост)
function DoCode(Source: string): string;

если строка будет более 255 символов smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
s0neg
Дата 14.9.2006, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

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



Я просто хотел привести пример ShowMessage`у.  smile Остальное пусть дописывает под свои нужды.  smile 
PM MAIL   Вверх
ShowMessage
Дата 14.9.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 s[i] := Chr(Ord(s[i]) xor Ord(Code));

code - это что такое? тоесть как её обозначить?
пишет что незадекларированна
PM MAIL   Вверх
s0neg
Дата 14.9.2006, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


under constraction



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2006
Где: Behind You

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



Извини забыл добавить...
Код

const
  Code = $AA;


PM MAIL   Вверх
ShowMessage
Дата 15.9.2006, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



"s0neg" чтото неработает ничего нерасшифровываеет строку мою что давал в примере... smile 
PM MAIL   Вверх
Fedia
Дата 15.9.2006, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

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



ShowMessage, 
Код

var
  ArB: array[1..7] of Char;
  i: Integer;
begin
  //de cf d9 de 9b 98 99
  ArB[1]:=Char($de);
  ArB[2]:=Char($cf);
  ArB[3]:=Char($d9);
  ArB[4]:=Char($de);
  ArB[5]:=Char($9b);
  ArB[6]:=Char($98);
  ArB[7]:=Char($99);
  for i:=1 to 7 do
  ArB[i]:=Char(Ord(ArB[i]) xor $AA);
  ShowMessage(string(ArB));
end;
 Не мучайся !


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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