IDA Pro を使用して x86 dll を逆アセンブルした後、次のコードを見つけました (pusedo-c コードに私が追加したコメント。正しいことを願っています)。
test ebx, ebx ; if (ebx == false)
jz short loc_6385A34B ; Jump to 0x6385a34b
mov eax, [ebx+84h] ; eax = *(ebx+0x84)
mov ecx, [esi+84h] ; ecx = *(esi+0x84)
mov al, [eax+30h] ; al = *(*(ebx+0x84)+0x30)
xor al, [ecx+30h] ; al = al XOR *(*(esi+0x84)+0x30)
jnz loc_6385A453
私が理解しやすいようにしましょう:
mov eax, b3h
xor eax, d6h
jnz ...
xor 命令の後の条件付きジャンプ命令はどのように機能しますか?