본문 바로가기
C#

.NET Assembly Obfuscation(난독화)

by 캡틴노랑이 2016. 1. 11.
반응형


.NET Assembly Obfuscation


소스코드 난독화는 C++, 자바, C#등의 프로그램의 소스코드를 알아보기 힘든 형태로 바꾸는 기술이고, 

바이너리 난독화는 컴파일 후에 생성된 바이너를 역공학을 통해 분석하기 힘들게 변조하는 기술이다.

-http://guagua.egloos.com/m/4182996-


참고 사이트

-바이너리 난독화

http://guagua.egloos.com/m/4182996


상용 툴

Secure team's obfuscator

Crypto Obfuscator http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm


공개 툴 

http://confuser.codeplex.com/


공개툴이지만 성능은 괜찮은 것 같다. 
아래가 난독화 작업후의 소스다 알아보기 힘들다.
private void 噔\uEA13쭞쵪ꂝ\uF2CB\uFFFD\uE81D(object 괉\uF49C\u9FF9횟矚勯ﰞ\uA792, MouseEventArgs 퓸㠵\u2848饎\u2443䑛䐆鍨)
{
label_0:
      \u08D2㟒\uFFFD服\u234B誾ꖇ轨.䓜\u22AB\u1AFF\uA9A0ٚⅫ鑑瓱((object) this, true);
      int num1 = (int) \uE099Ӱ闙앰삑\u06FD叒깝.狀γ棰屠걍츦던\u167F((object) this);
      int num2 = 1;
      int num3 = 3;
      if (num1 == num2)
        num3 = 1;
      while (true)
      {
        switch (num3)
        {
          case 0:
            goto label_0;
          case 2:
            goto label_5;
          case 3:
            \uFFFD厝瑙鼹\u215Fꡰ\u2F27\uE24A.ᚾ遜㶈霹\uEBBEȋᦜ\u21EE((object) this);
            num3 = 2;
            continue;
          default:
            妢襪ᗭ諸㐋邬釒ꈡ.ᆘޤ১ꔑ\u332C䋐ẹﺂ((object) this, FormWindowState.Normal);
            num3 = 3;
            continue;
        }
      }
label_5:;
}

confuser.codeplex.com.zip


Confuser_Build_37_artifacts.zip

https://confuser.codeplex.com/releases/view/101015


반응형

댓글