이렇게 된 PHP 코드는 해독이 어려운가요?
본문
안녕하세요.
제가 CodeCanyon에서 PHP 난독화 도구를 구매하고 간단히 태스트 해보았습니다.
(무엇보다도 프로그램이 꽤 저렴해서 좋았습니다.)
난독화 된 코드
<?php /* File is protected by copyright law! Checksum: 900aaab886b1c22ab4ad6a5c6d127eab */ eval(base64_decode("JElsMWxsSWwxSWxJMWw9ZmlsZShwcmVnX3JlcGxhY2UoIkBcKC4qXCguKiRAIiwiIixfX0ZJTEVfXykpOw0KaWYocHJlZ19yZXBsYWNlKCJAXCguKlwoLiokQCIsIiIsX19GSUxFX18pPT1fX0ZJTEVfX3x8DQpwcmVnX3JlcGxhY2UoIkBcKC4qXCguKiRAIiwiIixfX0xJTkVfXykhPTMpZGllKCI8dHQ+RVJST1IiKTs"));eval(base64_decode("ZXJyb3JfcmVwb3J0aW5nKDApO2lmKCFmdW5jdGlvbl9leGlzdHMoIk8wME8wMDBPME8iKSl7ZnVuY3Rpb24gTzAwTzAwME8wTygkYSwkYil7JGM9YXJyYXkoMTA1MiwzMjQsMzIsNzcxKTskaz1nemluZmxhdGUoYmFzZTY0X2RlY29kZSgiS3lyTlRjb3NLUVlBIikpOyRPME8wPSRrWzZdLiRrWzFdLiRrWzNdLiRrWzZdLiRrWzVdLiRrWzBdOyRPMD0iJGtbNV0ka1swXSRrWzRdJGtbMl0iO2lmKCRiPT0zOCl7JGQ9JE8wTzAoJGEsJGNbMF0rJGNbMV0sJGNbMl0pO31lbHNlaWYoJGI9PTQwKXskZD0kTzBPMCgkYSwkY1swXSwkY1sxXSk7fWVsc2VpZigkYj09MTEyKXskZD0kTzAoJE8wTzAoJGEsJGNbMF0rJGNbMV0rJGNbMl0pKTt9cmV0dXJuJGQ7fX0="));eval(base64_decode(O00O000O0O($Il1llIl1IlI1l[0],40)));return eval(III1IIII1I1(O00O000O0O($Il1llIl1IlI1l[0],112),O00O000O0O($Il1llIl1IlI1l[0],38),$Il1llIl1IlI1l));__halt_compiler();SyaWYoIWZ1bmN0aW9uX2V4aXN0cygiSUlJMUlJSUkxSTEiKSl7ZnVuY3Rpb24gSUlJMUlJSUkxSTEoJGEsJGIsJGMpeyRkPWltcGxvZGUoJGMpOyRkPXByZWdfcmVwbGFjZSgiL19faGFsdF9jb21waWxlci4qLyIsIiIsJGQpO2lmKCRiPT1oYXNoKCJtZDUiLCIkZCIpKXtyZXR1cm4oaGV4MmJpbihiYXNlNjRfZGVjb2RlKCRhKSkpO31lbHNle2RpZSgiPHR0Pm1kNSBDb2RlIG1hbmlwdWxhdGlvbiBkZXRlY3RlZDwvdHQ+Iik7fX1996021b5d3e3e23e1079228ba01fe78eaMGQwYTI0Njc2ZTc1NjI2ZjYxNzI2NDIwM2QyMDIyZWFiN2I4ZWI4ODg0ZWJiM2I0ZWI5MzljM2EyMDIyM2IyMDI0NzM3NDcyNjk2ZTY3NWYzMTIwM2QyMDIyZWI4YzgwZWQ5NTljZWJhZmJjZWFiNWFkMjBlYzliYjllYmE3ODhlYzhhYTRlZDg0YjBlYzlkOTgyMGVhYjVhZGViYWZiYzIwZWJiMGE1ZWM4MzgxMjEzYzYyNzIyMDJmM2UyMjNiMjAyNDczNzQ3MjY5NmU2NzVmMzIyMDNkMjAyMmVhYjdiOGViODg4NGViOWU5MTIwZWM4YmI4ZWM5YWIwZWI4YmE0ZWFiMDgwMjBlYzk3YjBlYzk1YTBlYjhmODQyMGViODE5ZGViODJhY2VjOGFiNWViOGI4OGViOGJhNDIwZTM4NWEwZTM4NWEwMjAzYzYyNzIyMDJmM2UyMjNiMjAyNDczNzQ3MjY5NmU2NzVmMzMyMDNkMjAyMmVhYjdiY2ViOGRiMDIwZWM4N2JjZWQ5NTkxZWJhYWIwZWM5ZDgwMjBlYzk3YjRlYzk3ODhlYzk2YjRlYzlhOTQyMGVmYmQ5ZTI4ZWZiZmEzZTI5NmJkZWZiZmEzMjllZmJkOWUyMjNiMjA2NTYzNjg2ZjIwMjQ2NzZlNzU2MjZmNjE3MjY0MmUyMDI0NzM3NDcyNjk2ZTY3NWYzMTJlMjAyNDczNzQ3MjY5NmU2NzVmMzIyZTI0NzM3NDcyNjk2ZTY3NWYzMzNiMjA
원본소스
<?php
$gnuboard = "그누보드: ";
$string_1 = "대한민국 웹마스터의 국민 밥상!<br />";
// 생략...
echo $gnuboard. $string_1. $string_2.$string_3;
?>
eval(base64_decode()) 로 난독화 처리된 코드는 디코드가 쉽지 않을까요?
PHP 고수님들은 바로 해독 가능할 것 같은데요 ^^
그냥 태스트 코드인데요. PHP 고수님들 한번 해독 해보시겠어요? ㅎㅎ
!-->!-->
답변 2
$string_2 = "... 열었어요 ~( ̄▽ ̄)~";
PHP에서 난독화를 굳이 할 필요가 있을까 싶네요.
제가 그누보드 답변을 쭉 읽어보면 항상 질문과 다른 답변이 달리더라구요
이글도 난독화 어떻냐고 물어보니
어디 어떻게 쓸지도 모르는데 굳이 난독화가 필요하냐 ? 라는 저런 답변 하는게 참 안타깝습니다.
PHP에서 난독화가 필요없다고 하시는분은 실력이 문제일까요?
아니면 큰 사이트를 운영해보신 적이 없으신분 같네요.
그게 사실인 마냥 그렇게 말씀하시면
다른분들은 "아 ~ php는 난독,암호화 굳이 안해도 되구나." 하고 잘못생각 할 수 있으니
굳이 필요할까? 왜 굳이 쓰려고 하냐는 둥 그런말은 제발 좀 지양해주세요. 보기가 싫네요.
알고싶으니까 모르니깐 물어보겠죠 ? 근데 굳이 해야하냐고 답변 달면 무슨 의도와 심보인지 정말 궁금합니다.
거두절미하고
base64 는 암호화로 보기 어렵죠.
복호화가 매우x1000 쉽거든요.
다른 SHA256 와 같은걸로 암호화 시도해보시면 좋을거 같습니다. 복호화가 힘듭니다.
그리고 eval과 같은 php명령어는 보안상 되도록 다른걸로 대체하셔서 쓰시는게 좋습니다