쉘스크립트 암호화 (바이너리 파일로 변환) - shc, bash-obfuscate
리눅스/OS 일반2014. 12. 31. 00:01
반응형
[방법1]
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
# tar zxvf shc-3.8.7.tgz
# cd shc-3.8.7
# make
# ./shc -r -v -T -f script.sh
최근에 (2021. 11) 확인해보니 간단히 레포지토리에서 받아올 수 있었습니다.
# yum install shc
* 참고
- script.sh.x 라고 생성된 파일이 바이너리 파일입니다.
- 스크립트 상단에 반드시 #!/bin/bash 가 있어야 변환됩니다.
- 스크립트 구동 가능 날짜 제한
# shc -e 31/12/2016 -m "The end" -f script.sh
// 2016년 12월 13일 이후에는 "The end" 라는 메세지가 출력되며 구동이 되지 않습니다.
* 단점 : sleep 등 스크립트 내 지연 작업이 있는경우 ps 명령으로 소스가 노출 됨
shc-3.8.7.tgz
[방법2]
CentOS 8 에서 테스트 하였습니다.
# npm install -g bash-obfuscate
# bash-obfuscate script.sh -o script_new.sh
실제로는 바이너리 파일로 변환하는게 아니고 문자열을 쪼개서 변수에 넣고 변수를 조합하는 식으로 난독화 합니다.
변환 된 파일을 쉘스크립트 처럼 구동 하면 됩니다.
# sh script_new.sh
반응형
'리눅스 > OS 일반' 카테고리의 다른 글
리눅스 tar.gz 분할 압축하기 (0) | 2014.12.31 |
---|---|
CENTOS 5.3에서 GFS 구성하기 (0) | 2014.12.31 |
iconv 로 파일 캐릭터셋 일괄 변경하기 (0) | 2014.12.31 |
apr-1.4.2 및 apr-util-1.3.9 설치 (0) | 2014.12.30 |
64bit 에서 컴파일 오류. -fPIC 가 필요할때 (0) | 2014.12.30 |
댓글()