2009년 10월 20일 화요일

[Obfuscator 혼란] Java 역컴파일 방지 기법

제목 : Java 역컴파일 방지 기법 (Obfuscator)

내용 : 역컴파일에 약한 Java의 보안상 문제로 인해 역컴파일 방지 기법으로 "혼란 Obfuscator"를 사용함.

사용법 : http://rumkin.com/tools/compression/compress_huff.php

원 소스

<html>

<head>

</head>

<body>

<a>Reverse Engineering!!</a>

</body>

</html>

 

변경 후 소스

<script language="JavaScript1.2">

<!--

a="1R1^1e1f2g3O1a1b242J1_3R3X1Y1Z272Y1U1V3Q3S1S2K3L1H1O2i1K1L3Y3]1I3V3W1<1?1B"

+"1C3^3a1@3/3<1=3_3d1:3K3N";

l=new Array();

while(a.length){l.push((Y(a.charCodeAt(0))<<6)+Y(a.charCodeAt(1))-512);

a=a.slice(2,a.length)}

d="*aUaL.*Zhg:J4BHi2:1_jF:JG6[[0X*O]8[S[0U=VFc/e2:/I=h[,*SWAW*";

c=79;e=b=a=0;o="";

function Y(y){if(y>92)y--;return y-42}

function B(){if(a==0){b=Y(d.charCodeAt(e++));a=6;}

return ((b>>--a)&0x01);}

while(c--){i=0;while(l[i]<0){if(B())i=-l[i];else i++;}

o+=String.fromCharCode(l[i]);}document.write(o);

// --></script>

관련 Tool : http://jode.sourceforge.net

의의 : 해당 Tool을 사용하여 소스 자체를 난해화 시켜 역컴파일 시 사용자가 소스의 내용을 파악하기 어렵게 만든다.

댓글 없음:

댓글 쓰기