본문 바로가기

REVERSING

.net(C#, vb)으로 작성된 exe 디컴파일 보호하기

[사진1- 필자의 프로그램인 2012/05/30 - [유용한 자료] - XML 자동 업로더기 XmLeader v1.0를 reflector로 디컴파일 한결과 소스가 전부 그대로 나와버린다.)


.net의 특성상, reflector로 exe를 열면 소스코드가 그대로 나오는 대참사가 발생한다.ㅜ

이를 방지하기 위하여 많은 방법이 있는데 그 방법을 소개하기로 한다.


1. 프로그래머의 노력(?)

 - 말 그대로 노력이다. 그것은 바로 최대한 디컴파일 후 해커가 알아보기 어렵도록 소스를 작성한다던가.

   그런 종류의 일이다.

 - 근데 이건 좀 너무하는것 같다.


2. CryptoObfuscator 의 이용.


(사진2. Crypto Obfuscator for .Net v2011의 메인화면)


- 위와 같이 생긴 툴이다. 엄청난 기능을 제공한다.

- 메서드의 이름을 간단화 (ex A, B, ab1, ab2 ... 등)으로 바꾸어 주거나, String의 암호화, Text로 표현할 수 없게끔 변경하여 준다, 

- 이 툴은 정말 유용하며, 사용도 편리하고, 많은 기능이 제공된다.

- 자세한 사항 또는 무료 체험판 다운로드는 (http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm)

- 그외 VS제품군에게 유용한 기능을 제공하는 소프트웨어가 있다.


3. exe의 packing.

 - 단순하지만 또한 강력하다.

 - exe packer는 매우 다양하므로 직접 검색하여 찾아보기를 권장한다.


 4. 다른 언어의 이용..

  - 이라곤 하지만 어느 언어든 디컴파일은 어느정도의 수준까지 가능하다. 하지만 이런식으로 전체소스가 다 나오는 정도의 대형 참사는 발생하지는 않을 것이다.



* 프로그램의 요청은 받지않습니다, 구글링 몇번만 하면 됩니다.