Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

HMAC_MD5 в Synapse

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 02.10.2012, 00:26   #1
Заблокирован
 Разведчик
Аватар для gudvin7771
 
gudvin7771 никому не известный тип
Регистрация: 27.08.2011
Сообщений: 2
Популярность: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию HMAC_MD5 в Synapse

Установил на билдер синапс, юзаю HMAC_MD5, так эта функция берет AnsiString аргументы и возвращает AnsiString, и потому хеш считается неверно от связки логина-пароля. Просто на С# HMACMD5 принимает byte[], и ей можно передать связку логин-пароль и ключ ввиде байтовых массивов. А как мне быть с синапсовой хренью? Передавать строку из "логинпароль" и ключ строкой и разве я получу верный хмакмд5 хеш? Растолкуйте пж.
  Ответить с цитированием
Старый 02.10.2012, 07:26   #2
-= Мастер Света =-
 Капитан
Аватар для FreePVP)))
 
FreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского Союза
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
Отправить сообщение для FreePVP))) с помощью ICQ Отправить сообщение для FreePVP))) с помощью Skype™
 
По умолчанию Re: HMAC_MD5 в Synapse

Да, вы получите верный хеш
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- твинки любого игрока, их дата создания, последний онлайн, статус удаления и прочее

Skype - freepvps
ICQ - 412705115


[Ссылки могут видеть только зарегистрированные пользователи. ] - ставкобот
[Ссылки могут видеть только зарегистрированные пользователи. ] - общение в КЧ через смартфон
  Ответить с цитированием
Старый 02.10.2012, 09:48   #3
Заблокирован
 Разведчик
Аватар для gudvin7771
 
gudvin7771 никому не известный тип
Регистрация: 27.08.2011
Сообщений: 2
Популярность: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

Ок, тогда вопрос: ключ мы будем выковыривать из пришедшего пакета, потому он будет в байтах, и как тогда мне передать ключ в байтах в HMAC_MD5?
  Ответить с цитированием
Старый 03.10.2012, 17:05   #4
 Разведчик
Аватар для vogel
 
vogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личность
Регистрация: 17.09.2009
Сообщений: 46
Популярность: 1187
Сказал(а) спасибо: 8
Поблагодарили 50 раз(а) в 13 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

как-то так :

Код:
Type
  TByteArray = array of byte;

function ByteArrayToAnsiString(aData : TByteArray) : AnsiString;
var
  len : integer;
begin
  len :=Length(aData);
  if len > 0 then begin
    SetLength(result, len);
    MoveMemory(@result[1], @aData[0], len);
  end;
end;

function AnsiStringToByteArray(aString : AnsiString) : TByteArray;
var
  len : integer;
begin
  len := Length(aString);
  if len > 0 then begin
    SetLength(result, len);
    MoveMemory(@result[0], @aString[1], len);
  end;
end;

function TAccountController.BuildClient03LoginAnounce(aLogin, aPassword: AnsiString) : TPacket;
var
  pck : TPacket;
begin
  // ~~~ Calculate login hash ~~~~~~~~~~~~~~~~~~~~~~~~~
  self._userName := LowerCase(aLogin);
  self._logPairHash := AnsiStringToByteArray(
    HMAC_MD5(
      ByteArrayToAnsiString(self._srvKey),
      MD5(self._userName + aPassword))
  );
  // ~~~ Build packet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pck := TPacket.Create($03);
  pck.WriteByte(length(aLogin));
  pck.WriteArray(AnsiStringToByteArray(self._userName));
  pck.WriteByte(length(_logPairHash));
  pck.WriteArray(_logPairHash);
  pck.WriteByte($00);
  result := pck;
end;
  Ответить с цитированием
Старый 15.10.2012, 11:12   #5
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

Угу, тоже с этой дрягой мучился, но вроде норм пашет. Только 2 функции как у vogel написал что б туда сюда конвертить и все норм.)
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 15.10.2012, 18:12   #6
 Разведчик
Аватар для evo-x
 
evo-x скоро будет известенevo-x скоро будет известенevo-x скоро будет известен
Регистрация: 12.07.2010
Сообщений: 5
Популярность: 235
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: HMAC_MD5 в Synapse

vogel, TPacket это что? Какой модуль надо подключить чтобы он заработал?
  Ответить с цитированием
Старый 16.10.2012, 07:24   #7
 Пехотинец
Аватар для Jok3r666
 
Jok3r666 скоро будет известенJok3r666 скоро будет известенJok3r666 скоро будет известен
Регистрация: 17.05.2010
Сообщений: 53
Популярность: 204
Сказал(а) спасибо: 11
Поблагодарили 15 раз(а) в 6 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

Цитата:
Сообщение от evo-xПосмотреть сообщение
vogel, TPacket это что? Какой модуль надо подключить чтобы он заработал?

TPacket это самописная структура(класс), в этом куске когда суть не в TPaket а в функциях ByteArrayToAnsiString и AnsiStringToByteArray
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 07.12.2012, 10:46   #8
 Разведчик
Аватар для AHTOLLlKA
 
AHTOLLlKA никому не известный тип
Регистрация: 08.10.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

или я тупой или что то пошло не так \=
проблема как и у ТС, замучился уже
взял логин в нижнем регистре + пароль, перевел в hex
и это прогнал через md5 в итоге имею c99b6e98334dc4ee4c02267bdac28e7e
ключ из 0x1 - 780000d000000000e1023a72b14e2458
HMAC_MD5('c99b6e98334dc4ee4c02267bdac28e7e','78000 0d000000000e1023a72b14e2458');
выдает не тот результат, уже пробовал и в верхний и нижний регистр переводить ключ и мд5 и задом наперед писать оО все равно не тот результат, подскажите плиз где я дурак
  Ответить с цитированием
Старый 08.12.2012, 01:17   #9
 Разведчик
Аватар для vogel
 
vogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личность
Регистрация: 17.09.2009
Сообщений: 46
Популярность: 1187
Сказал(а) спасибо: 8
Поблагодарили 50 раз(а) в 13 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

Цитата:
Сообщение от AHTOLLlKAПосмотреть сообщение
перевел в hex

а зачем ?
  Ответить с цитированием
Старый 08.12.2012, 09:54   #10
 Разведчик
Аватар для AHTOLLlKA
 
AHTOLLlKA никому не известный тип
Регистрация: 08.10.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

Цитата:
Сообщение от vogelПосмотреть сообщение
а зачем ?

ну я уже пытался loginpassword переводить
в ASCII (108 111 103 105 110 112 97 115 115 119 111 114 100)
в HEX (6c 6f 67 69 6e 70 61 73 73 77 6f 72 64)
и поверх MD5 прогонять и все равно не то =(
мне кажется я все перепроболва оО
  Ответить с цитированием
Старый 04.01.2013, 03:54   #11
 Разведчик
Аватар для Python
 
Python скоро будет известенPython скоро будет известенPython скоро будет известенPython скоро будет известен
Регистрация: 05.05.2010
Сообщений: 20
Популярность: 368
Сказал(а) спасибо: 9
Поблагодарили 12 раз(а) в 10 сообщениях
 
По умолчанию Re: HMAC_MD5 в Synapse

Здравствуйте.
С нового года мне тоже захотелось присоединиться к ООГ-исследователям.

Попробовал повторить старый эксперимент:
логин: mylogin
пароль: password
Ключ: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

логин + пароль: 6D 79 6C 6F 67 69 6E 70 61 73 73 77 6F 72 64
MD5: DA 76 B0 C1 EE B1 AB 4D 36 D5 F1 20 B8 B9 93 45
HMAC_MD5: 62 92 16 06 3E E1 89 46 28 1A 0C FF 79 9F 0D FD
а ожидал
HMAC_MD5: 57 B6 68 77 9E 9E C4 DA C5 63 84 0F F1 45 63 46

Кому удалось перепрыгнуть через SM_KEY повторите эксперимент и выложите полученные MD5 и HMAC_MD5.
Заранее благодарю.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 08.01.2013, 03:42   #12
-= Мастер Света =-
 Капитан
Аватар для FreePVP)))
 
FreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского Союза
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
Отправить сообщение для FreePVP))) с помощью ICQ Отправить сообщение для FreePVP))) с помощью Skype™
 
По умолчанию Re: HMAC_MD5 в Synapse

Цитата:
Сообщение от PythonПосмотреть сообщение
Здравствуйте.
С нового года мне тоже захотелось присоединиться к ООГ-исследователям.

Попробовал повторить старый эксперимент:
логин: mylogin
пароль: password
Ключ: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

логин + пароль: 6D 79 6C 6F 67 69 6E 70 61 73 73 77 6F 72 64
MD5: DA 76 B0 C1 EE B1 AB 4D 36 D5 F1 20 B8 B9 93 45
HMAC_MD5: 62 92 16 06 3E E1 89 46 28 1A 0C FF 79 9F 0D FD
а ожидал
HMAC_MD5: 57 B6 68 77 9E 9E C4 DA C5 63 84 0F F1 45 63 46

Кому удалось перепрыгнуть через SM_KEY повторите эксперимент и выложите полученные MD5 и HMAC_MD5.
Заранее благодарю.

В той строке, где вы генерируете HMACMD5, поменяйть MD5 и Ключ местами
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- твинки любого игрока, их дата создания, последний онлайн, статус удаления и прочее

Skype - freepvps
ICQ - 412705115


[Ссылки могут видеть только зарегистрированные пользователи. ] - ставкобот
[Ссылки могут видеть только зарегистрированные пользователи. ] - общение в КЧ через смартфон

Последний раз редактировалось FreePVP))); 08.01.2013 в 04:00.
  Ответить с цитированием
Пользователь сказал cпасибо:
Python (08.01.2013)
Старый 08.02.2013, 17:16   #13
 Разведчик
Аватар для krysun
 
krysun на правильном пути
Регистрация: 01.07.2009
Сообщений: 23
Популярность: 83
Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
Отправить сообщение для krysun с помощью Skype™
 
По умолчанию Re: HMAC_MD5 в Synapse

hash := HMAC_MD5(key,md5(login+pass)); //так правильно
...тоже сталкивался...

Примерчик:
Код:
// с использованием 'synacode'
type
  aob = array of byte;
type
  TConv = class
  public
    function StrToByteArray(s:string):aob;
    function ByteArrayToStr(a:aob):string;
  end;

//...

var
  Form1: TForm1;
  conv:TConv;

implementation

uses synacode;
//...

{ convert }
function Tconv.ByteArrayToStr(a: aob): string;
var
  i:integer;
begin
  for i:=0 to length(a)-1 do
    result:=result+IntToHex(a[i],2)+' ';
end;

function Tconv.StrToByteArray(s: string): aob;
var
  i:integer;
begin
  setlength(result,length(s));
  for i:=0 to length(s)-1 do
    result[i]:=ord(s[i+1]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  key: string; //ваш ключ (строка)
begin
  key := 'ThisIsAnsiString';
  edit3.Text:=conv.ByteArrayToStr(conv.StrToByteArray(
  HMAC_MD5(key,MD5(Edit1.Text+Edit2.Text))));
  // Edit1 - поле с логином
  // Edit2 - поле с паролем
  // В Edit3 - выводим полученный HMAC_MD5
end;
Сейчас борюсь с SMKey, CMKey.

Пришел к тому, что не могу распаковать пакет 0х04 )))
Кто-нить переводил сиё чудо на Delphi, или может есть рабочий исходник на C#
PS: т.к. с С# знаком плохо, пример FreePVP)) задействовать не смог, там по байтиках толкать надо, а АнгелЭму-вский выдает "индекс вне пределах массива".
----
Ах, да.
Ключ для шифрования делается так: EncKey = HMAC_MD5(hash_from_0x03 + EncHash_from_0x02, login);
Длина логина должна быть = 16. (Я добивал нулями (Char(0) ). По другому не заработало )

Последний раз редактировалось krysun; 19.02.2013 в 04:23.
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Synapse hack 1.1 BagBeer Общение и обсуждение по World of Tanks 0 28.05.2012 20:16
Synapse Loader picpoc Counter-Strike: Source 6 14.10.2011 19:24
[Программа] CSS Synapse hack 2.0.2 TRiLLeR13 Counter-Strike: Source 0 18.07.2011 16:16
[Помогите!] Delphi/synapse RTR Вопросы и ответы, обсуждения 4 25.08.2010 14:46

Заявление об ответственности / Список мошенников

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net