Сейчас на форуме: jinoweb, bartolomeo, rmn (+5 невидимых)

 eXeL@B —› Программирование —› Кому не лень, помогите обратить алгоритм
<< . 1 . 2 .
Посл.ответ Сообщение


Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 20 марта 2012 17:20
· Личное сообщение · #1

Code:
  1.  void xtea_decipher(uint32_t *res, uint32_t *v, uint32_t const *k)
  2. {
  3.   uint32_t y,z,delta18 = 0,delta1C = 0;
  4.  
  5. //  asm {int 3};
  6.  
  7. for (int i = 0; i < 0x41*2; i+=2)
  8. {
  9.          y = v[i];
  10.          z = v[i+1];
  11.  
  12.          z -= (((>> 5) ^ (<< 4)) + y) ^ (k[3]-0x61C88647);
  13.          y -= (((>> 5) ^ (<< 4)) + z) ^ (k[0]);
  14.  
  15.          res[i] = y ^ delta18;
  16.          res[i+1] = z ^ delta1C;
  17.  
  18.          delta1C = res[i+1] ^ v[i+1];
  19.          delta18 = res[i] ^ v[i];
  20.  
  21.   }
  22.  
  23. }


Это код модифицированного xtea, не получается его обратить. Вот мои скромные попытки:
Code:
  1. for (int i = 0; i < 0x41*2; i+=2)
  2. {
  3.          y = v[i];
  4.          z = v[i+1];
  5.  
  6.          y += (((>> 5) ^ (<< 4)) + z) ^ (k[0]);
  7.          z += (((>> 5) ^ (<< 4)) + y) ^ (k[3]-0x61C88647);
  8.  
  9.          res[i] = y ^ delta18;
  10.          res[i+1] = z ^ delta1C;
  11.  
  12.          delta1C = res[i+1] ^ v[i+1];
  13.          delta18 = res[i] ^ v[i];
  14.  
  15.   }


Первая итерация проходит правильно, потом начинает писать мусор. Это связано с не правильным заполнением дельт. Направьте в нужном направлении

-----
Research For Food





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 мая 2014 10:31
· Личное сообщение · #2

IDA_Signsrch имеет базу xml в 3 мегабайта констант алгосов, уж что то да должен найти

| Сообщение посчитали полезным: OKOB, daFix, ELF_7719116

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 12 мая 2014 17:30
· Личное сообщение · #3

reversecode
О-о-о! а то я и не знал что есть IDA_Signsrch!
Вы прям Колумб, чес слово
.text:017866BE and edx, 0F0F0F0Fh ; <$ignsrch> "DES [32.le.20&]"

Только у меня два вопроса:
1) Можно 100% доверять результату?(при условии, когда нет явной обфускации)
2) Где можно поживиться сорцами для дешифровки DES(да и вообще прочих алго)?(лень свой велосипед делать-переписывать наоборот)

95ff_12.05.2014_EXELAB.rU.tgz - algo_hexrays_asm.txt




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 12 мая 2014 17:39
· Личное сообщение · #4

ELF_7719116 пишет:
2) Где можно поживиться сорцами для дешифровки DES(да и вообще прочих алго)?(лень свой велосипед делать-переписывать наоборот)



4f54_12.05.2014_EXELAB.rU.tgz - cryptohash.rar

-----
aLL rIGHTS rEVERSED!





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 мая 2014 17:51
· Личное сообщение · #5

в 2012 году был контест у ильфака на сайте, там еще было пару плагинов для определения всяких крипто-алго

но я лично предпочитаю ручками проверять




Ранг: 170.1 (ветеран), 96thx
Активность: 0.090.01
Статус: Участник

Создано: 13 мая 2014 08:40
· Личное сообщение · #6

reversecode пишет:
для определения всяких крипто-алго

CryptoCheckers


<< . 1 . 2 .
 eXeL@B —› Программирование —› Кому не лень, помогите обратить алгоритм
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати