php에서 실행되는 특정부분 스크립트 난독화 방법 질문합니다.

2017-09-15 (금) 18:14:36 4,492

https://sir.kr/g5_tip/4437

이 글을 참고해서 적용하려고 합니다.

다만 이런 경우 어떻게 사용하는지 몰라 글 남깁니다.

도움주시면 정말 감사하겠습니다.

Copy
if($img == 'check') return $is_type;	$jw_id = apms_id();	$jwplayer_script = '';		if($is_type == 'audio' && !$img && !$caption) {		$jwplayer_script .= '<script type="text/javascript">					    jwplayer("'.$jw_id.'").setup({							file: "'.$file.'",							title: "'.$title.'",							width: "100%",							height: "40",							repeat: "file"						});					 </script>'.PHP_EOL;	} else if($is_type == 'plist') {		$plist_set = 'aspectratio: "16:9"';		if($cnt > 1) {			$plist_set = G5_IS_MOBILE ? 'aspectratio: "16:9", listbar: { position: "right", size:150 }' : 'aspectratio: "16:9", listbar: { position: "right", size:200 }';		}		$jwplayer_script .= '<script type="text/javascript">						jwplayer("'.$jw_id.'").setup({							playlist: "'.$file.'",							width: "100%",							'.$plist_set.'						});					 </script>'.PHP_EOL;	} else {		$img = $img ? 'image: "'.$img.'",' : '';		$caption = $caption ? 'tracks: [{file: "'.$caption.'"}],' : '';		$jwplayer_script .= '<script type="text/javascript">						jwplayer("'.$jw_id.'").setup({							file: "'.$file.'",							title: "'.$title.'",							'.$img.'							'.$caption.'							aspectratio: "16:9",							width: "100%"						});					 </script>'.PHP_EOL;	}	$jwplayer = '';	if($jwplayer_script) {		if(!defined('APMS_JWPLAYER6')) {			define('APMS_JWPLAYER6', true);			$jwplayer .= '<script type="text/javascript" src="'.G5_PLUGIN_URL.'/jwplayer/jwplayer.js"></script>'.PHP_EOL;			$jwplayer .= '<script type="text/javascript">jwplayer.key="'.APMS_JWPLAYER6_KEY.'";</script>'.PHP_EOL;		}		$jwplayer .= '<div id="'.$jw_id.'">Loading the player...</div>'.PHP_EOL;		$jwplayer .= $jwplayer_script;		$jwplayer .= '<div class="h15"></div>'.PHP_EOL;	}	return $jwplayer;}

여기서 어떻게 새롭게 코드를 짜야

<script type="text/javascript">

var playerInstance = jwplayer('myElement');

playerInstance.setup({

    too: 'tumblr_video',

    video: 'mp3 jpg png',

    tux: 'tumblr_video',

    file: 'https://vt.media.tumblr.com/tumblr_video.mp4',

    ted: '',

    width: '100%',

    tip: 'tumblr_video.mp4',

    height: '380',

    url: '',

    taq: 'tumblr_video.mp4',

});

</script>

원래 이렇게 출력되던 스크립트를

<script type="text/javascript">

eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('37 1=17(\'16\');1.15({14:\'13\',10:\'11-3.0 9 8 7\',6:\'5\',4:\'18://12.19.29.0/36.35\',34:\'33\',32:\'31%\',30:\'28\',21:\'27\',26:\'25://24.0/[email protected]\',20:\'2\',});',10,38,'com|playerInstance|tumblr_video|soft|file|tumblr_video|tux|png|jpg|mp3|video|elim|vt|tumblr_video.mp4|too|setup|myElement|jwplayer|https|media|taq|height|naver|http|url|380|tumblr_video|tumblr|tip|100|width|tumblr_video|ted|mp4|tumblr_video|var'.split('|'),0,{}))

</script>

이렇게 출력할 수 있나요?

도움주시면 점심값이라도 사례하겠습니다.

감사합니다.

|

답변 2개 / 댓글 2개

2017-09-15 (금) 20:32:41

php-packer 쓰시려구요?

Dean Edwards란 사람이 만든거고, 한 5년전인가 오래전부터 알려진 유명한 공개 난독화 툴이예요 

자기 사이트에 툴을 만들어놓은건데, 그 툴에 대한 공개소스예요~

그거 만든사람이 당연히 사이트에 난독화 푸는 기능도 아주 쉽게 공개해놓았고,

대부분 사람들이 소스가 난독화되어있는거 만나면, 이 사이트에 찾아와서 난독화소스넣고 풀어서 쓰는데요? 그래서 유명무실한건데~~

난독화푸는 unpacker 주소예요.

(아주 많이 알려진 유명한 주소예요~ php-packer보다 더 많이 알려진 주소예요.)

http://dean.edwards.name/unpacker/ 


위 주소들어가서 위에 난독화된 자바스크립트소스 붙여넣고 unpack버튼 눌러보세요~ 그대로 다 보여요


Copy
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('37 1=17(\'16\');1.15({14:\'13\',10:\'11-3.0 9 8 7\',6:\'5\',4:\'18://12.19.29.0/36.35\',34:\'33\',32:\'31%\',30:\'28\',21:\'27\',26:\'25://24.0/[email protected]\',20:\'2\',});',10,38,'com|playerInstance|tumblr_video|soft|file|tumblr_video|tux|png|jpg|mp3|video|elim|vt|tumblr_video.mp4|too|setup|myElement|jwplayer|https|media|taq|height|naver|http|url|380|tumblr_video|tumblr|tip|100|width|tumblr_video|ted|mp4|tumblr_video|var'.split('|'),0,{}))



답변에 대한 댓글 1개

괜찮아요.. 저 스크립트 내용안에 링크만 쏙 빼가는 사람이 있어서요..
바로 뚫리는것보다 좀 귀찮게 하려구요

http://closure-compiler.appspot.com/home

에서 작업하시면 됩니다만

암호화는 아니라는 것을 이해하셔야 하고

이렇게 js 를 압축하는 방법은 많습니다

답변에 대한 댓글 1개

apms.lib.php에 있는 파일에 적용하는거여서요..
이건 안되네요

답변을 작성하려면 로그인이 필요합니다.