0x012 Etc

[Term] Code Obfuscation

KimSangLab 2017. 12. 29. 16:48

Code Obfuscation

 

  코드 난독화(Code Obfuscation)는 프로그램을 바꾸는 방법의 일종으로, 코드를 읽기 어렵게 만들어 역공학을 통한 공격을 막는 기술을 의미한다. 난독화는 대상에 따라 크게 소스코드 난독화와 바이너리 난독화로 나눌 수 있다. 소스코드 난독화는 C/C++/자바 등의 프로그램의 소스코드를 알아보기 힘든 형태로 바꾸는 기술이고, 바이너리 난독화는 컴파일 후에 생성된 역공학을 통해 분석하기 힘들게 변조하는 기술이다. 출처 : 네이버 지식백과

 

  .NET으로 개발된 프로그램의 경우 .NET Reflector 라는 툴을 이용하면 프로그램의 소스코드를 확인 할 수 있습니다. 이러한 경우 프로그램의 내부 흐름과 알고리즘등이 그대로 노출되는 문제점이 발생하게 됩니다.. 이러한 문제점을 막기 위해 사용 하는 방법 중 하나가 코드 난독화 입니다. 코드 난독화는 직접 프로그램을 만들어서 이용하셔도 되지만 이미 많은 툴들이 개발되어 출시 되고 있기 때문에 적당한 툴을 선택하셔서 이용하시면 됩니다. 

 

 

 

출처 : http://www.codejam.or.kr/codejam/index.jsp