티스토리 툴바

Injecting SMS Messages into Smart Phones for Security Analysis

2012/03/16 23:20
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

AND, OR 연산 패턴

2012/03/02 07:59

어셈블리 언어나 바이트코드를 분석하다 보면 AND연산과 OR연산이 가끔 해깔린 경우가 있습니다. 그래서 한번 정리해 보았습니다. 일단 특정 조건(Cond')의 결과가 True인지 False인지에 따라  실행되는 문장(Statement)이 다릅니다. 이게 조건문이지요. 그건 아래와 같습니다.



네 아주 간단합니다. 조건의 결과가 True이면 True에 해당하는 Statement가 실행되겠지요.


만약 두 개의 조건이 중첩 되었다면 그 조건들 사이에는 AND 또는 OR 연산이 들어가겠지요? 아래 그림은 OR 연산입니다.



첫 번째 조건의 결과가 True 이면 바로 True에 해당하는 Statement를 실행합니다. 그리고 두 번째 조건은 평가되지 않습니다. 패턴으로 한다면 두 조건 모두 True에 해당하는 다음 경로가 동일합니다.


반대로 AND일 경우는 다음과 같습니다.



AND는 첫 번째 조건이 False 일 경우 두 번째 조건이 평가되지 않습니다. OR와 반대이지요. 그리고 두 조건 모두 False일 경우 다음 경로가 동일합니다.

머리속으로 금방 금방 그림이 그려지면 좋으려만 이상하게 해깔려서 한번 정리해 보았습니다. 만약 (A&&B)||C와 같은 형식으로 다중 중첩된 조건문도 우선순위만 고려된다면 그림은 비슷하게 나오겠지요?
저작자 표시

'Reverse Engineering > Theory' 카테고리의 다른 글

AND, OR 연산 패턴  (0) 2012/03/02

binoopang Reverse Engineering/Theory