0x012 Etc
[Term] Code Obfuscation
KimSangLab
2017. 12. 29. 16:48
Code Obfuscation
코드 난독화(Code Obfuscation)는 프로그램을 바꾸는 방법의 일종으로, 코드를 읽기 어렵게 만들어 역공학을 통한 공격을 막는 기술을 의미한다. 난독화는 대상에 따라 크게 소스코드 난독화와 바이너리 난독화로 나눌 수 있다. 소스코드 난독화는 C/C++/자바 등의 프로그램의 소스코드를 알아보기 힘든 형태로 바꾸는 기술이고, 바이너리 난독화는 컴파일 후에 생성된 역공학을 통해 분석하기 힘들게 변조하는 기술이다. 출처 : 네이버 지식백과
.NET으로 개발된 프로그램의 경우 .NET Reflector 라는 툴을 이용하면 프로그램의 소스코드를 확인 할 수 있습니다. 이러한 경우 프로그램의 내부 흐름과 알고리즘등이 그대로 노출되는 문제점이 발생하게 됩니다.. 이러한 문제점을 막기 위해 사용 하는 방법 중 하나가 코드 난독화 입니다. 코드 난독화는 직접 프로그램을 만들어서 이용하셔도 되지만 이미 많은 툴들이 개발되어 출시 되고 있기 때문에 적당한 툴을 선택하셔서 이용하시면 됩니다.