지난 글에서는 데이터 흐름과 분기 구조의 중요성을 정리했다.특히 CALL 이후 TEST와 JZ/JNZ로 이어지는 구조가 인증 로직의 핵심이라는 점을 확인했다.하지만 실제 분석을 진행하면서 한 가지 의문이 계속 남아 있었다.왜 굳이 TEST EAX, EAX를 사용하는가?겉보기에는 의미 없는 연산처럼 보였기 때문이다.이번 글에서는 이 부분을 정리하면서, 분기 구조를 해석하는 방식을 한 단계 정리해본다.1. TEST를 연산이 아닌 상태 확인으로 보기 test eax, eax 처음에는 이 명령어를 단순한 AND 연산으로 이해했다.eax & eax 하지만 이 방식으로 접근하면 의미가 흐려진다.자기 자신과 AND를 수행하는 것은 결과적으로 값이 그대로 유지되기 때문이다.리버싱 관점에서 TEST의 역할은 다음과 같이..