Я пытаюсь изменить схему шифрования, но, похоже, я попал в яму, когда дело доходит до обращения с использованием алгебры.
Схема шифрования следующая для одного символа (с использованием регистров и констант):
encrypted_char= (original_char XOR dl) + al
where:
eax = eax.previous * c1 +c2
edx = (eax >> c3)
eax.0 is a known seeded constant.
Я хочу решить это уравнение алгебраически для original_char, но я сталкиваюсь с несколькими проблемами, а именно с порядком операций для получения оригинального char самостоятельно. Размышления о переносе отрицательных чисел также вызывают у меня головную боль.
Если бы у кого-то были какие-либо указатели на то, как решить для original_char, это было бы оценено. Мои первые мысли - просто вычесть al, а затем xor с помощью dl, но в этот момент я начинаю чувствовать смущение.