Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 25.04.2010, 20:03   #11
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Цитата:
Сообщение от Asmoday Посмотреть сообщение
Случаем не понял откуда берется seed?
Входящий параметр функции:
Код:
procedure _init_tables(seed: integer; _2_byte_size: integer);
.
Передается я так понял число, которое берется из пакета KeyPacket (последние 4 байта пакета) и из пакета CharSelected (размер пакета-3).

Это не 100% утверждение, может я что-то не так понял.

Код:
TCorrectorData = packed record
    _seed : integer;  // random generator seed for mixing id tables
    _1_byte_table : string;
    _2_byte_table : string;
    _2_byte_table_size: integer;
    _id_mix : boolean;
    temp_seed : integer;
    protocol: integer;
  end;
Вот где это все прячется

Добавлено через 6 минут
Мне показалось или пакет CharacterSelect от клиента не шифруется вообще?

Последний раз редактировалось guplen, 25.04.2010 в 20:14. Причина: Добавлено сообщение
guplen вне форума   Ответить с цитированием
Старый 25.04.2010, 20:16   #12
Новичок
 
Регистрация: 06.06.2009
Сообщений: 28
Сказал Спасибо: 8
Имеет 5 спасибок в 5 сообщенях
Asmoday пока неопределено
По умолчанию

Оп пропустил, сейчас посмотрел, например если вызов идет от KeyPacket то seed является 16й байт в пакете.
CharacterSelect не шифруется вобще.

Добавлено через 1 минуту
xkor спасай нас, а то наши мосги лопнут пытаясь понять логику работы данной функции. если можно то хотяб пару строчек коментов к функции либо словестно алгоритм ее работы. Заранее спасибо.

Последний раз редактировалось Asmoday, 25.04.2010 в 20:16. Причина: Добавлено сообщение
Asmoday вне форума   Ответить с цитированием
Старый 25.04.2010, 21:58   #13
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Вот как я понял работает функция коректора:
Формируются 2 массива байтов, один для одноИДшных пакетов и второй для 2хИДешных пакетов.
Формируются массивы так:
сначала тупо заполняются байтами от 0 до $D0, а после, по ниипическому закону меняются местами байты, причем байты выбираются по какому-то псевдо рандому, по всей видимости тоже ниипическому ))
Расшифровка ИД происходит так:
Берем ИД оригинального пакета, прибавляем 1, получаем номер байта в массиве, который подставляется вместо оригинального ИД.

Это как я понял. Даже если это и так, то я не представляю что можно поменять, чтобы пакеты норм пакетхаком распознавались.

Добавлено через 12 минут
Все, на сеня хватит головоломок. Подождем ответа ксора, мб подскажет чего интересного... у него опыт в этом деле поболее будет

Последний раз редактировалось guplen, 26.04.2010 в 01:30. Причина: Добавлено сообщение
guplen вне форума   Ответить с цитированием
Старый 26.04.2010, 06:38   #14
Новичок
 
Регистрация: 06.06.2009
Сообщений: 28
Сказал Спасибо: 8
Имеет 5 спасибок в 5 сообщенях
Asmoday пока неопределено
По умолчанию

Цитата:
Сообщение от guplen Посмотреть сообщение
по ниипическому закону меняются местами байты, причем байты выбираются по какому-то псевдо рандому, по всей видимости тоже ниипическому ))
Рандом не псефдо эпический всему есть объяснение, например вот глянь...
Код:
function _pseudo_rand: integer;
var
  a : integer;
begin
    with CorrectorData^ do begin
      a := (Int64(_seed) * $343fd + $269EC3) and $FFFFFFFF;
      _seed := a;
      result := (_seed shr $10) and $7FFF;
    end;
end;


pseudo_srand(seed);

for i := 2 to $D1 do begin
    rand_pos := (_pseudo_rand mod i) + 1;
    x := _1_byte_table[rand_pos];
    _1_byte_table[rand_pos] := _1_byte_table[i];
    _1_byte_table[i] := x;
end;
Asmoday вне форума   Ответить с цитированием
Старый 26.04.2010, 14:09   #15
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Это я видел, я просто говорю что непонятно почему именно так и почему именно такие числа и действия.
Как вот могли разгадать такую шифрацию? Или просто ктото слил из разработчиков
guplen вне форума   Ответить с цитированием
Старый 26.04.2010, 15:30   #16
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Asmoday, я этот алгоритм переписал со скрипта для wpf, как ктот написал тот скрипт я хз, но на вид алгоритм должен спокойно проглядываться в дизасемблере...

ЗЫ псевдорандом кстати стандартный Сишный)

Добавлено через 1 минуту
Цитата:
Сообщение от Asmoday Посмотреть сообщение
CharacterSelect не шифруется вобще.
вообще эт чтоль даж ксором?
ЗЫ без изменений клиента алгоритм поменять точно не могли...
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 26.04.2010 в 15:30. Причина: Добавлено сообщение
xkor вне форума   Ответить с цитированием
Старый 26.04.2010, 16:43   #17
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
ЗЫ без изменений клиента алгоритм поменять точно не могли...
Да, говорят было обновление клиента, появились некоторые файлы.

ПС: этот сервер очень напоминает шок, такие же лаги сосок, такие же внезапные рестарты, может быть 2 рестарта подряд...

Вот думаю там начать играть, но пока не будет бота, даже суваться туда не буду. А так сервачок веселый, не вялый
guplen вне форума   Ответить с цитированием
Старый 27.04.2010, 09:04   #18
Новичок
 
Регистрация: 06.06.2009
Сообщений: 28
Сказал Спасибо: 8
Имеет 5 спасибок в 5 сообщенях
Asmoday пока неопределено
По умолчанию

xkor, случам скриптика на wpf не осталось? Не охото изобретать велосипед...
Asmoday вне форума   Ответить с цитированием
Старый 27.04.2010, 10:16   #19
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Asmoday, гдето в инете остался наверняка, corrector он назывался вроде
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 27.04.2010, 15:37   #20
Местный
 
Регистрация: 27.01.2009
Сообщений: 154
Сказал Спасибо: 23
Имеет 26 спасибок в 19 сообщенях
guplen пока неопределено
По умолчанию

Цитата:
Сообщение от Asmoday Посмотреть сообщение
xkor, случам скриптика на wpf не осталось? Не охото изобретать велосипед...
Вот, у мну он был почему то в стандартной поставке... почти копия кода в лпх.
Вложения
Тип файла: zip corrector-3a_CT22.zip (1.8 Кб, 58 просмотров)
guplen вне форума   Ответить с цитированием
За это сообщение guplen нажился спасибкой от:
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:56.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!