[Obfuscation 101] - MBA Obfuscation
·
Rev
MBA 난독화란 무엇일까?MBA 난독화란, Mixed Boolean-Arithmetic Obfuscation으로 코드의 논리를 분석하기 어렵게 하기 위해사용되는 기법중 하나이다. 간단히 말하자면 우리가 흔히 아는 산술 연산(+, -)과 비트 논리 연산(AND, OR, NOT, XOR)을 복잡하게 뒤섞어동일한 결과를 내는 아주 긴 수식으로 변환하는 기술이다.예시를 들어보자면 덧셈의 변환에서는$$ x + y = (x \oplus y) + 2(x \wedge y) $$$$ x + y = (x \vee y) + (x \wedge y) $$$$ x + y = 2(x \vee y) - (x \oplus y) $$위와 같이 나타낼수 있고, 이는 가산기를 구성할때 사용하는 논리와 유사하다. 다음으로 뺄셈은$$ x - ..