댓글 검색 목록

[php] PHP 소스 코드를 암호화하고 숨기는 방법

페이지 정보

작성자 운영자 작성일 20-04-19 18:48 조회 1,692 댓글 0

비밀 언어가 아님 


PHP 소스 코드를 암호화하고 숨기는 방법에 대한 안내서에 오신 것을 환영합니다. 

경쟁 업체로부터 소스 코드를 숨겨야 합니까, 그렇지 않은 경우 지불하지 않은 고객에게 완전히 제공하지 않겠습니까? 간단히 말해서 – 일반적으로 PHP 소스 코드는 해석되는 언어이므로 숨길 수는 없지만 암호화하는 방법은 여전히 ​​있습니다.


  • 무료 코드 난독 처리기를 사용하십시오.
  • 유료 코드 인코더를 구입하십시오.
  • 마지막으로 변환기 또는 가상 머신을 사용하여 PHP 코드를 컴파일하십시오.

소스 코드를 숨기는 것은 간단하지 않습니다. PHP 코드를 암호화하는 데 많은 시간과 비용이 낭비 될 수 있으므로 권장하지는 않습니다 ... 그러나 실제로 이 작업을 수행하려는 경우 가능한 옵션을 안내합니다. 알아 보려면 계속 읽으십시오!


무료 PHP OBFUSCATORS 


우리가 가지고 있는 첫 번째 옵션은 무료 PHP 난독화 장치를 사용하는 것입니다. 난독화란 무엇입니까? 원래 코드를 사람이 쉽게 읽을 수 없는 인코딩 된 스크립트의 혼란으로 바꿉니다.


온라인 OBFUSCATOR 


“무료 PHP obfuscator”를 온라인으로 검색하면 선택할 수 있는 다양한 서비스가 제공됩니다. 그중 하나는 Mobile Fish이며, PHP 코드를 복사하여 붙여 넣을 수 있습니다. 예를 들어 다음 스크립트를 입력 할 때 :


<?php $varA = "Hello World"; $varB = "Foo Bar"; $varC = $varA . " " . $varB; echo $varC; ?> 



그것은 우리에게 매우 놀라운 것입니다 :


<?php 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를 명령 줄에서 코드를 직접 출력하도록 설정했습니다. 그러나 많은 구성 매개 변수를 허용하므로 난독 처리 된 코드를 저장할 위치를 지정할 수 있습니다. 자세한 내용은 공식 웹 페이지를 확인하십시오.


한계 


  • 난독 처리자는 원본 스크립트를 해시하는 방식으로 작동합니다.
  • 여전히 리버스 엔지니어링하고 원래 스크립트를 다시 가져올 수 있습니다.
  • 난독 처리 된 스크립트는 성능이 좋지 않습니다. 먼저 해시 된 문자열을 해독 한 다음 eval을 실행해야 합니다.
  • 보호 및 성능 수준은 인코딩 디코딩 알고리즘의 작동 방식에 따라 다릅니다.


유료 PHP 인코더 


무료 PHP 난독화 도구를 믿지 않습니까? 아니면 좀 더 전문적인 것이 필요하십니까? 그런 다음 몇 가지 유료 PHP 인코더를 사용할 수 있습니다… 그러나 많은 비용이 들 수 있습니다.


유료 인코더 


최고의 인코더? 


개인적으로, 나는 유료 옵션에 깊이 들어 가지 않았습니다 – 그들은 비쌉니다! 그러나 Zend Guard는 좋아 보이고 라이센스 시스템도 함께 제공됩니다… 스폰서 게시물은 아니지만 관심이 있다면 빠른 시작 자습서를 확인하십시오.


https://youtu.be/1S6rpCfpvFo


PHP 컴파일러 


이 마지막 옵션에 관해서는 PHP 코드를 실행 파일로 컴파일 할 것입니다 ... 여러분 중 일부는 코드 사용자를 생각할 수도 있지만, 가능한 옵션으로 이 과정을 계속 진행할 것입니다.


INTERPRETER VS COMPILER 


인터프리터와 컴파일러의 차이점을 모르는 초보자에게 :


  • Interpreted languages: 스크립트를 실행하려면 인터프리터가 설치되어 있어야 합니다. 이 경우 PHP 파일을 실행하려면 PHP를 컴퓨터에 설치해야 합니다.
  • Compiled languages: 자체적으로 실행할 수 있는 자체 포함 파일을 작성합니다. 예를 들어 C++로 실행 파일을 만들 수 있습니다. –이 실행 파일은 C++가 설치되지 않은 컴퓨터에서 실행할 수 있습니다.

한계 


PHP는 통역 된 언어이며 PHP 스크립트를 컴파일 할 공식적인 방법은 없습니다. 사용 가능한 “PHP 컴파일러”중 일부는 PHP를 다른 언어 (예 : Java)로 변환 한 다음 컴파일하여 작동합니다.


이 경우 컴파일 된 스크립트는 공식적으로 독립 실행형 실행 파일로 바뀝니다. 원래 의도했던 대로 더 이상 PHP나 웹 서버에서 읽을 수 없습니다. 따라서 "컴파일 된 PHP"스크립트는 대부분 자체 포함 된 명령행 응용 프로그램에만 사용됩니다.


PHP 컴파일러 


많은“PHP 컴파일러”가 있으며 다음을 확인할 수 있습니다.


명예로운 언급으로, 원하는 경우 HHVM (Hip-Hop Virtual Machine)을 확인할 수 있습니다. 이것은 Facebook을 구동하는 오픈 소스 PHP 가상 시스템입니다.


유용한 비트 


옵션에 대한 모든 것이 있으며 여기에 유용한 추가 정보에 대한 작은 섹션이 있습니다.


최고는 무엇입니까? 


상황과 원하는 것에 달려 있습니다.


  • 무료 난 독자는 성능이 좋지 않지만 코드를 충분히 보호하고 비용이 들지 않습니다.
  • 유료 인코더는 성능이 좋고 특정 수준의 보호 기능을 제공합니다.
  • 컴파일러는 100 % 호환되지 않으며 웹 사이트 친화적인 스크립트를 생성하지 않지만 성능이 우수합니다. 컴파일 된 스크립트를 리버스 엔지니어링 하려는 것은 사실상 불가능합니다.

인코딩하거나 인코딩하지 않기 


그것은 모두 당신의 원래 의도로 귀결됩니다. 백만 달러짜리 시스템이 있고 보안이 중요한 경우 – 그렇습니다. 지적 재산을 보호하기 위해 시간과 돈을 투자하는 것은 모든 노력을 기울일 가치가 있습니다.


그러나 비 지불 고객과 관련된 문제에 직면 한 경우에도 여전히 주요 라이브러리 파일 중 일부를 난독 처리하는 것이 좋습니다. 너무 많은 시간과 비용을 낭비하지 말고 비 지불 고객이 성능을 저하시키지 않도록 하십시오. 손실. 전체 소스 코드와 개선 된 성능을 협상 칩으로 유지하십시오 – 다음 프로젝트 및 고객과 함께 진행하십시오.



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.