Сейчас на форуме: tyns777, cppasm (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Обратить AND
Посл.ответ Сообщение

Ранг: 0.7 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 22 мая 2017 14:13
· Личное сообщение · #1

Кейгеню одну прогу. Дано:
ecx=22222222 (вторая часть 64 значного ключа)
esi=88888888 (восьмая часть 64 значного ключа)

Code:
  1. 004266EA  |.  33CE          xor     ecx, esi
  2. 004266EC  |.  81E1 AE708916 and     ecx, 168970AE

Получаем ecx = 028820AA, а нужно, чтобы был равен 0601508E. Как обратить? Спасибо.

| Сообщение посчитали полезным: sefkrd

Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 22 мая 2017 14:19
· Личное сообщение · #2

Никак. AND необратимая операция.

-----
старый пень


| Сообщение посчитали полезным: hekked

Ранг: 0.7 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 22 мая 2017 14:25
· Личное сообщение · #3

r_e, значит только брут констант?



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 22 мая 2017 14:35
· Личное сообщение · #4

hekked пишет: значит только брут констант?

Да. Не знаю, что у вас за таргет, но возможно к задаче применим солвер (например z3 от microsoft).
https://habrahabr.ru/company/kaspersky/blog/323116/

| Сообщение посчитали полезным: hekked

Ранг: 0.2 (гость), 5thx
Активность: 0=0
Статус: Участник

Создано: 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

Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 22 мая 2017 16:41
· Личное сообщение · #6

hekked пишет:
r_e, значит только брут констант?

Да, и наличие and все очень упрощает, т.к. значимыми являются только единичные биты в маске, а значит множество для брута сокращается с 2^32 до 16384 ключей.

| Сообщение посчитали полезным: hekked


Ранг: 77.2 (постоянный), 74thx
Активность: 0.190.15
Статус: Участник

Создано: 22 мая 2017 21:57
· Личное сообщение · #7

Спасибо ТС за вопрос, а lx6 за решение , ибо такая же(почти) ситуация как у hekked..
Кейгеним по тихонечку..

| Сообщение посчитали полезным: hekked
 eXeL@B —› Вопросы новичков —› Обратить AND
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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