블로그 이미지
Rootrator
1개를 알면 모르는 10개가 튀어나온다..!

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2017. 3. 22. 13:26 Linux

[서버환경]

Ubuntu 14.04

php-5.5



php_screw 파일 다운은 https://sourceforge.net/projects/php-screw/ 에서 받을수 있으며,


현재일 기준 1.5가 최신버전이다.


다운로드 후에 압축해제한다.


]# wget http://sourceforge.net/projects/php-screw/files/latest/download?source=files

]# tar xvzfp php_screw-1.5.tar.gz

]# cd php_screw-1.5/


설치전에 seed값을 변경하여 암호화/복호화의 사용되는 키값을 변경


]# vi my_screw.h

short pm9screw_mycryptkey[] = {

12311, 312, 4422, 534, 11, 849, 125

};


저장하고 컴파일을 진행한다.


]# phpize

]# ./configure

]# make

make 시에 오류가 뜨는데 php_screw.c파일을 열어 가장 마지막의 CG(extended_info) = 1; 두곳을 주석처리 해준다.


]# vi php_screw.c

PHP_MINIT_FUNCTION(php_screw)

{

        //CG(extended_info) = 1;


        org_compile_file = zend_compile_file;

        zend_compile_file = pm9screw_compile_file;

        return SUCCESS;

}


PHP_MSHUTDOWN_FUNCTION(php_screw)

{

        //CG(extended_info) = 1;

        zend_compile_file = org_compile_file;

        return SUCCESS;

}


]# make

]# make install


so 파일을 extension_dir 에 복사후에 php.ini에 직접 extension을 넣어줘도 되고 아래와 같이 ini파일은 등록해도 된다.


]# cd /etc/php5/mods-available/

]# vi screw.ini

extenion=php_screw.so


]# cd /etc/php5/cli/conf.d/

]# ln -s ../../mods-available/screw.ini 90-screw.ini


이후에 아파치 재시작으로 php_screw 모듈을 설치된다.


php_screw 소스파일 경로로 다시 이동해서 tools/ 로 이동하여 make 실행.


]# cd /usr/local/src/php_screw-1.5/tools/

]# make 


실행하여 생성된 screw가 encryptor파일로 bin 디렉토리로 이동


]# cp -arp screw /usr/bin/screw


사용법은

]# screw 암호화할 php파일의 절대경로


결과물로 php파일은 암호화되고 암호화되기 전의 파일은 php.screw파일로 생성된다.



반응형
posted by Rootrator