Без ROL
шифрование расшифровывалось бы и для расшифровки.
Предполагая, что зашифрованный символ находится в ecx
, а ключ в eax
, требуется лишь небольшая модификация:
decrypt5:
push eax
push ecx
Эта часть генерирует внутренний ключ в edx
из клавиши ввода в eax
:
and eax,0x3C
ror eax,1
ror eax,1
inc eax
mov edx,eax
Вставьте входной символ из ecx
в eax
:
pop eax
Обратный ROL AL,1
:
ror al,1
Отменить XOR-инг.
XOR - это инволюция, то есть обратная сторона.
Это также коммутативно, поэтому порядок не имеет значения:
xor eax,edx
Вставьте клавишу ввода из eax
в ecx
и XOR:
pop ecx
xor eax,ecx
ret
Надеюсь, это правильно, моя сборка x86 довольно ржавая.
Обратите внимание, что это немного сложно назвать это шифрование.
Это так слабо, что я бы скорее назвал это обфускацией.