我尝试解析加密的 &RQ 历史,但我真的无法理解 asm 代码。它嵌入到 Delphi 函数中。
有人可以帮助我理解这一点吗?
procedure decritt(var s:string; key:integer);
asm
mov ecx, key
mov dl, cl
shr ecx, 20
mov dh, cl
mov esi, s
mov esi, [esi]
or esi, esi // nil string
jz @OUT
// now esi points to the first character of the string
mov ah, 10111000b
mov ecx, length(s)
or ecx, ecx
jz @OUT
@IN:
mov al, [esi]
xor al, ah
rol al, 3
xor al, dh
sub al, dl
mov [esi], al
inc esi
ror ah, 3
dec ecx
jnz @IN
@OUT:
end; // decritt
谢谢。