비밀 언어가 아님
PHP 소스 코드를 암호화하고 숨기는 방법에 대한 안내서에 오신 것을 환영합니다.
경쟁 업체로부터 소스 코드를 숨겨야 합니까, 그렇지 않은 경우 지불하지 않은 고객에게 완전히 제공하지 않겠습니까? 간단히 말해서 – 일반적으로 PHP 소스 코드는 해석되는 언어이므로 숨길 수는 없지만 암호화하는 방법은 여전히 있습니다.
소스 코드를 숨기는 것은 간단하지 않습니다. PHP 코드를 암호화하는 데 많은 시간과 비용이 낭비 될 수 있으므로 권장하지는 않습니다 ... 그러나 실제로 이 작업을 수행하려는 경우 가능한 옵션을 안내합니다. 알아 보려면 계속 읽으십시오!
무료 PHP OBFUSCATORS
우리가 가지고 있는 첫 번째 옵션은 무료 PHP 난독화 장치를 사용하는 것입니다. 난독화란 무엇입니까? 원래 코드를 사람이 쉽게 읽을 수 없는 인코딩 된 스크립트의 혼란으로 바꿉니다.
온라인 OBFUSCATOR
“무료 PHP obfuscator”를 온라인으로 검색하면 선택할 수 있는 다양한 서비스가 제공됩니다. 그중 하나는 Mobile Fish이며, PHP 코드를 복사하여 붙여 넣을 수 있습니다. 예를 들어 다음 스크립트를 입력 할 때 :
$varA = "Hello World"; $varB = "Foo Bar"; $varC = $varA . " " . $varB; echo $varC;
그것은 우리에게 매우 놀라운 것입니다 :
eval(str_rot13(gzinflate(str_rot13(base64_decode('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')))));
하지만 더 이상 사람이 읽을 수 있다고 생각하지 마십시오.
오프라인 OBFUSCATOR
대부분의 온라인 obfuscator는 문자 수에 제한이 있으므로 대규모 스크립트가 있는 경우 대신 오프라인 obfuscator를 다운로드하여 사용하는 것이 좋습니다.
좋은 것들이 몇 가지 있는데, 내가 추천 할 것은 YAK Pro입니다. Github에서 직접 다운로드하거나 직접 복제 할 수 있습니다. PHP 파서 라이브러리도 필요합니다.
git clone https://github.com/pk-fr/yakpro-po.git git clone https://github.com/nikic/PHP-Parser.git
두 라이브러리를 모두 다운로드 한 후에는 명령 줄에서 YAK Pro를 실행하여 스크립트를 인코딩 할 수 있습니다.
D:\http\yakpro-po-master>php yakpro-po.php test.php Info: Using [D:\http\yakpro-po-master\yakpro-po.cnf] Config File... Info: yakpro-po version = 2.0.3 Info: Process Mode = file Info: source_file = [D:\http\yakpro-po-master\test.php] Info: target_file = [stdout] Obfuscating D:\http\yakpro-po-master\test.php <?php /* __________________________________________________ | Obfuscated by YAK Pro - Php Obfuscator 2.0.3 | | on 2019-03-09 09:25:54 | | GitHub: https://github.com/pk-fr/yakpro-po | |__________________________________________________| */ goto LLSso; mh5vK: $EjslL = $ZvlM7 . "\x20" . $c23ok; goto xEHTG; LLSso: $ZvlM7 = "\x48\x65\154\x6c\x6f\x20\127\x6f\162\154\144"; goto uktyA; uktyA: $c23ok = "\106\x6f\x6f\x20\x42\141\162"; goto mh5vK; xEHTG: echo $EjslL; Info: [variable ] scrambled : 3 Info: [function ] scrambled : 0 Info: [method ] scrambled : 0 Info: [property ] scrambled : 0 Info: [class ] scrambled : 0 Info: [class_constant] scrambled : 0 Info: [constant ] scrambled : 0 Info: [label ] scrambled : 4
추신 Yak Pro를 명령 줄에서 코드를 직접 출력하도록 설정했습니다. 그러나 많은 구성 매개 변수를 허용하므로 난독 처리 된 코드를 저장할 위치를 지정할 수 있습니다. 자세한 내용은 공식 웹 페이지를 확인하십시오.
한계
유료 PHP 인코더
무료 PHP 난독화 도구를 믿지 않습니까? 아니면 좀 더 전문적인 것이 필요하십니까? 그런 다음 몇 가지 유료 PHP 인코더를 사용할 수 있습니다… 그러나 많은 비용이 들 수 있습니다.
유료 인코더
최고의 인코더?
개인적으로, 나는 유료 옵션에 깊이 들어 가지 않았습니다 – 그들은 비쌉니다! 그러나 Zend Guard는 좋아 보이고 라이센스 시스템도 함께 제공됩니다… 스폰서 게시물은 아니지만 관심이 있다면 빠른 시작 자습서를 확인하십시오.
PHP 컴파일러
이 마지막 옵션에 관해서는 PHP 코드를 실행 파일로 컴파일 할 것입니다 ... 여러분 중 일부는 코드 사용자를 생각할 수도 있지만, 가능한 옵션으로 이 과정을 계속 진행할 것입니다.
INTERPRETER VS COMPILER
인터프리터와 컴파일러의 차이점을 모르는 초보자에게 :
한계
PHP는 통역 된 언어이며 PHP 스크립트를 컴파일 할 공식적인 방법은 없습니다. 사용 가능한 “PHP 컴파일러”중 일부는 PHP를 다른 언어 (예 : Java)로 변환 한 다음 컴파일하여 작동합니다.
이 경우 컴파일 된 스크립트는 공식적으로 독립 실행형 실행 파일로 바뀝니다. 원래 의도했던 대로 더 이상 PHP나 웹 서버에서 읽을 수 없습니다. 따라서 "컴파일 된 PHP"스크립트는 대부분 자체 포함 된 명령행 응용 프로그램에만 사용됩니다.
PHP 컴파일러
많은“PHP 컴파일러”가 있으며 다음을 확인할 수 있습니다.
명예로운 언급으로, 원하는 경우 HHVM (Hip-Hop Virtual Machine)을 확인할 수 있습니다. 이것은 Facebook을 구동하는 오픈 소스 PHP 가상 시스템입니다.
유용한 비트
옵션에 대한 모든 것이 있으며 여기에 유용한 추가 정보에 대한 작은 섹션이 있습니다.
최고는 무엇입니까?
상황과 원하는 것에 달려 있습니다.
인코딩하거나 인코딩하지 않기
그것은 모두 당신의 원래 의도로 귀결됩니다. 백만 달러짜리 시스템이 있고 보안이 중요한 경우 – 그렇습니다. 지적 재산을 보호하기 위해 시간과 돈을 투자하는 것은 모든 노력을 기울일 가치가 있습니다.
그러나 비 지불 고객과 관련된 문제에 직면 한 경우에도 여전히 주요 라이브러리 파일 중 일부를 난독 처리하는 것이 좋습니다. 너무 많은 시간과 비용을 낭비하지 말고 비 지불 고객이 성능을 저하시키지 않도록 하십시오. 손실. 전체 소스 코드와 개선 된 성능을 협상 칩으로 유지하십시오 – 다음 프로젝트 및 고객과 함께 진행하십시오.
등록된 댓글이 없습니다.