eXeL@B —› Вопросы новичков —› Обратить AND |
Посл.ответ | Сообщение |
|
Создано: 22 мая 2017 14:13 · Личное сообщение · #1 Кейгеню одну прогу. Дано: ecx=22222222 (вторая часть 64 значного ключа) esi=88888888 (восьмая часть 64 значного ключа) Code:
Получаем ecx = 028820AA, а нужно, чтобы был равен 0601508E. Как обратить? Спасибо. | Сообщение посчитали полезным: sefkrd |
|
Создано: 22 мая 2017 14:19 · Личное сообщение · #2 |
|
Создано: 22 мая 2017 14:25 · Личное сообщение · #3 |
|
Создано: 22 мая 2017 14:35 · Личное сообщение · #4 hekked пишет: значит только брут констант? Да. Не знаю, что у вас за таргет, но возможно к задаче применим солвер (например z3 от microsoft). https://habrahabr.ru/company/kaspersky/blog/323116/ | Сообщение посчитали полезным: hekked |
|
Создано: 22 мая 2017 15:14 · Поправил: lx6 · Личное сообщение · #5 Возможно, эта формула сработает: xor ecx, esi = 0601508E xor (not 168970AE) = EF77DFDF или xor ecx, esi = not (0601508E xor 168970AE) = EF77DFDF проверка: EF77DFDF and 168970AE = 0601508E | Сообщение посчитали полезным: Bronco, MasterSoft, ELF_7719116, sefkrd, hekked |
|
Создано: 22 мая 2017 16:41 · Личное сообщение · #6 hekked пишет: r_e, значит только брут констант? Да, и наличие and все очень упрощает, т.к. значимыми являются только единичные биты в маске, а значит множество для брута сокращается с 2^32 до 16384 ключей. | Сообщение посчитали полезным: hekked |
|
Создано: 22 мая 2017 21:57 · Личное сообщение · #7 Спасибо ТС за вопрос, а lx6 за решение , ибо такая же(почти) ситуация как у hekked.. Кейгеним по тихонечку.. | Сообщение посчитали полезным: hekked |
eXeL@B —› Вопросы новичков —› Обратить AND |