>백엔드 개발 >PHP 튜토리얼 >Zend Guard 사용 가이드 및 문제 해결_php 기술

Zend Guard 사용 가이드 및 문제 해결_php 기술

WBOY
WBOY원래의
2016-05-16 20:26:061349검색

Zend Guard는 현재 시장에 출시된 가장 성숙한 PHP 소스 코드 암호화 제품입니다.

저만의 제품을 암호화해야 했는데요. 밤새 고생한 끝에 나중에 다른 사람들에게 도움이 될 수 있도록 제가 겪은 문제와 해결 방법을 기록해 두었습니다.
저는 PHP 버전이 5.3.10인 Wampserver를 사용하고 있습니다.

Zend Guard 설치 및 크래킹

다운로드하려면Zend Guard5.5.0을 다운로드한 후 직접 설치하세요

여기서 다음 사항에 유의해야 합니다:

1. 본 KEY는 2010년 7월 10일부터 유효하므로 활성화 시 컴퓨터 시스템 시간을 이 시간 이전으로 조정하시기 바랍니다
2. 이 KEY는 평가판을 활성화하며 암호화된 파일은 14일 동안만 유효합니다. 따라서 파일을 암호화할 때 컴퓨터 시스템 시간을 2099-12-31과 같이 N년 뒤로 조정하세요.
3. 인증 파일[zend_guard 인증 파일.zip]을 다운로드하고 압축을 풀어 활성화용 파일인 zend_guard.zl을 얻습니다
4. Zend Guard 5.5.0을 열고 [도움말]->[등록]->[내 디스크에서 라이센스 파일 검색]에서 활성화할 파일을 선택합니다.

Zend Guard를 암호화에 사용하는 방법?

1. Zend Guard 5.5.0을 열고, [파일]->[새로 만들기]->[Zend Guard 프로젝트]에서 새 프로젝트를 만듭니다
2. 팝업창에서 처음 3개 항목을 아무렇게나 입력하고, 마지막 항목은 암호화된 파일의 저장 위치를 ​​입력한 후,
3. 단일 파일 [파일 추가] 또는 전체 폴더 [폴더 추가] 중 암호화할 파일을 선택한 후 [다음]
4. 다음 단계는 PHP 버전을 선택하는 것입니다. [서버의 PHP 버전과 비교] 이것은 매우 중요합니다. 버전이 올바르지 않으면 [마침] 프로젝트 생성을 완료하세요. > 5. Zend Guard 왼쪽에 있는 Guard Explorer에서 새 프로젝트를 선택한 후 [Encode Project]를 마우스 오른쪽 버튼으로 클릭하여 완료합니다
.

Zend Guard 런타임 지원 누락 문제 해결

지금은 PHP 소스코드 암호화에 성공했지만, 스크립트를 실행하면 정상적으로 실행되지 않고 다음과 같은 메시지가 출력되는 것을 확인할 수 있습니다

Zend Guard 런타임 지원이 누락되었습니다!

이 웹사이트에 있는 또 하나의 파일은 ZendGuard에 의해 인코딩되었으며 필요한 런타임 지원이 설치되지 않았거나 제대로 구성되지 않았습니다.
......

암호화된 PHP 코드가 제대로 실행되려면 ZendGuardLoader 모듈이 필요한 것으로 나타났습니다.

내 PHP 버전은 5.3.10이므로 ZendGuardLoader-php-5.3-Windows만 제공합니다. 다른 버전의 PHP인 경우 Baidu를 사용하세요.

ZendGuardLoader-php-5.3-Windows를 다운로드하려면 클릭하세요. 다운로드 후 압축된 패키지의 압축을 풀고 디렉터리에서 ZendLoader.dll 파일을 찾아 php 디렉터리의 ext 아래에 넣은 다음 php.ini 파일을 편집하고 코드 조각을 추가합니다(예:

코드 복사 코드는 다음과 같습니다.
[젠드.로더]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="PHP 설치 디렉터리 extZendLoader.dll"

wampserver 다시 시작

운이 좋다면 이를 성장시키고 구현할 수 있다는 것을 알게 될 것입니다. 운이 좋지 않다면 여전히 위의 오류를 발견하게 될 것입니다.
여기에 zend Guard 로더를 설치했는데 왜 여전히 zend 암호화된 PHP 스크립트를 실행할 수 없습니까?
출력된 phpinfo() 정보를 살펴보면 여러 줄의 정보가 있음을 발견했습니다.

코드 복사 코드는 다음과 같습니다.
PHP 확장 20090626
Zend 확장 220090626
Zend 확장 빌드 API220090626,TS,VC9

TS는 Thread Safety(즉, Thread Safety)의 약자이니 참고해주세요


한동안 이유를 찾을 수 없어서 그냥 젠드가드 공식 홈페이지를 열어서 검색했더니 문제가 해결되었습니다.


Zend Guard Loader는 NTS 버전만 지원하는 것으로 나타났습니다. 즉, PHP 버전이 TS인 경우 Zend Guard Loader를 사용할 수 없다는 의미입니다. PHP가 ts인지 nts인지 확인하려면 phpinfo를 출력한 다음 검색: Thread Safety, 비활성화됨은 nts 버전에 해당하고, 그렇지 않으면 ts입니다.


따라서 궁극적인 해결책은 NTS 버전의 PHP를 다운로드하여 설치하는 것입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.