· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Что происходит с ключом?

Посл.отвђт Сообщенiе


Дата: Сен 12, 2003 17:36:31

Понятно, что в нижеприведенном куске кода с KEY происходит какая-то трансформация, связанная с NAME, но по КАКОМУ принципу/алгоритму ??
Подскажите, плиз!!

; в eax <-- длина Name

cmp eax, +$01
jl _finish
mov [ebp-$1C], eax
_bigloop mov eax, [ebp-$2C] ; адрес, где находится Name
mov edx, [ebp-$1C] ; длина Name
mov al, byte ptr [eax+edx-$01] ; al <-- последний символ Name
mov [ebp-$15], al
lea edx, [ebp-$14] ; edx <-- адрес Key на стеке
add edx, [$004858F4] ; плюс длина Key
dec edx
mov ch, byte ptr [ebp-$15]
mov cl, byte ptr [$004858F4] ; cl <-- длина Key
mov [ebp-$15], cl
rol ch, cl
mov cl, ch
mov ch, $01
_smallloop sub [edx], cl
ror cl, 1
cmp ch, $04
jb _jump
mov eax, [edx]
rol eax, cl
mov [edx], eax
_jump inc ch
dec edx
dec byte ptr [ebp-$15]
jnz _smallloop
dec dword ptr [ebp-$1C]
cmp dword ptr [ebp-$1C], +$00
jnz _bigloop
_finish


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.055