리눅스, 자료실, 성경검색, 추억의게임, 고전게임, 오락실게임, rootman, http://www.rootman.co.kr
* 54.167.216.239 *
| Home | Profile | Linux | 자료실 | zabbix | Mysql 5.6 | 갤러리 | 성경검색 | 해피니스 | 자유게시판 | 게시물검색 | L | O | R |    

 
[기초강좌] shc를 이용한 쉘 스크립트 암호화하기 (Encrypting Shell Scripts)
 작성자 : rootman
Date : 2006-03-15 10:22  |  Hit : 18,067  
최종 업데이트 : 2008/10/14

안녕하세요.
"rootman.co.kr" 운영자입니다.

요즘 너무 나도 바쁜 하루 하루입니다.
시간 쪼개서 한 팁 올립니다...

"shc" 는 스크립트 파일을 바이너리로 바꿔 주는 역할을 합니다.
php encoder 같은 역할을 한다고 보면 됩니다.

예전엔 중요한 소스 같은 경우, php로 스크림트 파일 위치를 열어서 특정 디렉터리에 위치해 놓고 컴파일하여 사용했는데,
"shc"를 사용하니 더욱 강력(?)하고 손 쉽게 인코딩하더군요.

역시 아는 것이 힘입니다.

쉘 스크립트도 역시 중요한 "root" 패스워드 정보, "DB" 정보 등 공유되거나 유출되면 안 되는 파일들이 존재합니다.

이럴 때 정말 유용하게 사용될 수 있으니, 아직까지 모르셨던 분들 아래 문서 참고하셔서 도움되시길 바랍니다.

좋은 날, 기쁜 날 되시길 빕니다.


-------------------------------------------------------
1. 다운로드
-------------------------------------------------------
■ 공식 사이트
http://www.datsi.fi.upm.es/~frosal/

(*) rootman 사이트
- 다운로드 : https://app.box.com/s/ffvbwjtj1rws6aurh8tk
- md5sum : 006ff130b2839048e23495bfcdaf0404


-------------------------------------------------------
2. 설치
-------------------------------------------------------
[[email protected] local]# tar xvf shc-3.8.6.tar
shc-3.8.6/CHANGES
shc-3.8.6/Copying
shc-3.8.6/Makefile
shc-3.8.6/match
shc-3.8.6/pru.sh
shc-3.8.6/shc.1
shc-3.8.6/shc.c
shc-3.8.6/shc.html
shc-3.8.6/shc.README
shc-3.8.6/test.bash
shc-3.8.6/test.csh

[[email protected] shc-3.8.6]# make install
*** Installing shc and shc.1 on /usr/local
*** ¿Do you want to continue? y
install -c -s shc /usr/local/bin/
install -c -m 644 shc.1 /usr/local/man/man1/


"shc" 파일은 /usr/local/bin/ 디렉터리에 설치됩니다.


-------------------------------------------------------
3. 테스트
-------------------------------------------------------
(1) 파일 생성 (__EOF___ 까지 쉘 상태에서 긁어다가 붙이시면 됩니다.)
cat > /root/tmp/script.sh << __EOF__<br/>#!/bin/sh
#------------------------------
# this file is not encrypted
#------------------------------
echo "I love Duane's articles and will send him a donation via PayPal."
exit 0;
__EOF__


(2) 명령행 실행
[[email protected] tmp]# shc -f /root/tmp/script.sh
"script.sh.x"라는 바이너리 파일이 생성된다.


(3) 생성된 스크립트 수행
[[email protected] tmp]# ./script.sh.x
I love Duane's articles and will send him a donation via PayPal.


-------------------------------------------------------
4. 특이한 기능
-------------------------------------------------------
[[email protected] tmp]# shc -e 09/10/2004 -m "Dude it is too late to run this script." -f script.sh
[[email protected] tmp]# ./script.sh.x
./script.sh.x: has expired!
Dude it is too late to run this script.

- 쉘 스크립트에 대한 만료일을 지정하여 실행할 수 있습니다.
- 지정된 날짜 이후는 실행되지 아니합니다.
- 위 예는 "2004년 10월 9일"을 스크립트 만료일로 지정하여 만료 후에는 "Dude it is too late to run this script."라는
메시지를 출력하라고 지정한 내용입니다.

-------------------------------------------------------
5. 참고사항
-------------------------------------------------------
- "shc" 명령어는 스크립트에 대한 C 소스 코드를 생성합니다.
- binary로 파일이 생성되므로 "./파일명" 형태로 실행하여야 합니다.
- 생성된 스크립트 파일은 이름을 변경해도 무관합니다.

-------------------------------------------------------
6. 기본 실행 옵션 설명
-------------------------------------------------------
(1) -e date
만료일을 지정합니다. (dd/mm/yyyy format)

(2) -m message
만기 시 메시지를 출력합니다.

(3) -f script_name
컴파일할 스크립트 파일을 지정합니다.

 
 

Total. 645
번호 분류 제목 작성자 등록일 조회수
645 기초강좌 NFS server unable to open connection to tcp6/udp6 networks rootman 09-27 1775
644 php [php] mssql ms-sql 한글 변환 끄적임.. 정리 rootman 03-29 2564
643 기초강좌 java vim 에서 자바 환경 만들기 rootman 02-16 2040
642 삭제예정 [xencenter] xenserver tool 설치 rootman 08-24 2925
641 mysql [mysql] Creating a File-Per-Table Tablespace Outside the Dat… rootman 08-03 3109
640 기초강좌 Centos Xwindow 설치 rootman 06-16 3955
639 php [php] highlight 함수 rootman 04-01 3854
638 qmail [qmail] qmail-scanner에 filtering 된 이메일 처리 rootman 02-14 4241
637 Shell [날짜] awk를 이용하여 unixtime의 시간 차 구하기 rootman 01-27 4695
636 기초강좌 centos에 그놈(gnome) 설치하기 rootman 01-10 4671
635 쉘(awk) [awk] shell 변수 사용하기 rootman 12-27 4585
634 기초강좌 서버 캐시 메모리 초기화하기 (drop_caches) rootman 12-11 5307
633 windows tips 그리드 제거 배치 스크립트 rootman 11-28 5184
632 기초강좌 패스워드 lockgin control rootman 09-06 4
631 windows tips win7 자동 로그인 설정하기 rootman 08-18 4744
 1  2  3  4  5  6  7  8  9  10    
AND OR