最初に MASM を使用しています。暗号化されたファイルを開き、その内容をバッファーに入れ、新しいファイルにエクスポートしています。復号化部分を除いて、すべてが機能しています。
バッファー自体を XOR する必要があるのか、edx (バッファーを格納する場所) を参照するのか、eax レジスターに入れた読み取りバイトを XOR する必要があるのか わかりません。
頭のてっぺんから(テストなし)...
mov esi,dword ptr [buffer]
mov ecx,dword ptr [bufsize]
shr ecx,2
jz startloop1
toploop4:
mov eax,dword ptr [esi]
xor eax,ffffffffh
mov dword ptr [esi],eax
dec ecx
jnz toploop4
startloop1:
mov ecx,dword ptr [bufsize]
and ecx,3
jz end
toploop1:
mov al,byte [esi]
xor al,ffh
mov dword ptr [esi],al
dec ecx
jnz toploop1
end:
If you are using simple XOR function for decryption and encryption then function is the same for boath calls. XOR binary function is reversible!