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

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

QA

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

본문

https://sir.kr/g5_tip/4437

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

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

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



	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/23@22.0\',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

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

에서 작업하시면 됩니다만

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

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

php-packer 쓰시려구요?

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

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

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

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

난독화푸는 unpacker 주소예요.

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


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


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



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/23@22.0\',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,{})) 



답변을 작성하시기 전에 로그인 해주세요.
전체 6
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT