쉘 스크립트를 암호화하거나 읽을 수 없게 하려면 어떻게 해야 합니까?

쉘 스크립트를 암호화하거나 읽을 수 없게 하려면 어떻게 해야 합니까?

육안으로 읽을 수 없도록 쉘 스크립트를 암호화하거나 스크램블하려면 어떻게 해야 합니까? 어느 방법이든 가능합니다. 구체적인 단계를 제공해 주세요.

답변1

쉘 스크립트를 암호화하려면 다음을 사용하십시오.GPG. 스크립트를 실행하려는 사람은 누구나 먼저 스크립트를 해독해야 합니다.

누군가가 스크립트를 실행할 수는 있지만 읽을 수는 없도록 하려는 경우 이는 완전히 다른 문제이며 암호화와는 아무 관련이 없습니다. 그것은 알려져있다혼란시키다.

해당 스크립트에 비밀번호나 기타 기밀 정보가 있는 경우 아무리 난독화해도 이를 숨길 수 없습니다. 조만간 스크립트는 비밀번호를 사용하여 무언가를 수행할 것이며, 이때 비밀번호를 찾는 사람은 누구나 비밀번호를 명확하게 볼 수 있습니다.

누군가 복사할까봐 걱정되어 스크립트 작동 방식을 숨기고 싶다면 잊어버리세요. 아무도 신경 쓰지 않는다.

품질이 부끄러워서 스크립트를 숨기고 싶다면 수정하세요.

기능을 숨기고 싶어서 스크립트 작동 방식을 숨기려는 경우에는 불가능합니다. 누군가는 스크립트가 실행되는 동안 스크립트를 보고 스크립트가 수행하는 작업을 관찰할 수 있습니다.

여기까지 읽고도 여전히 스크립트를 "암호화"하고 싶다면 뭔가 큰 것을 오해한 것입니다. 스크립트를 누구에게도 보내거나 일반 텍스트로 보내지 마십시오.

답변2

Claudio P.님의 도움으로 인터넷 검색 중 얻은 정보입니다.

  1. 스크립트 작성(script-base.sh)

    #!/bin/sh 
    echo "Hello World" 
    
  2. 스크립트를 암호화합니다(비밀번호 제공):

    openssl enc -e -aes-256-cbc -a -in script-base.sh > script-enc 
    
  3. 래퍼(script-final.sh)를 작성합니다.

    #!/bin/sh 
    openssl enc -d -aes-256-cbc -a -in script-enc | sh - 
    
  4. "script-final.sh"를 실행하고 비밀번호를 입력하면 일반 텍스트 스크립트를 디스크에 쓰지 않고도 스크립트가 실행됩니다.

답변3

SHC

이 웹사이트에 설명된 다음 단계를 시도해 볼 수 있습니다.SHC를 사용하여 Linux에서 Bash 쉘 스크립트를 암호화하는 방법. 이 기사에서는 다음과 같은 도구의 사용에 대해 설명합니다.SHC - 쉘 스크립트 컴파일러.

URL 리소스

이는 gcc/g++로 빌드해야 하는 실행 파일입니다.

용법

$ ./shc -f random.sh

쉘 스크립트를 실행하면 random.sh다음 파일로 변환됩니다.

-rwx-wx--x. 1 ramesh ramesh 11752 Mar 27 01:12 random.sh.x

이것이 확실한가요?

아니요, SHC 도구에서 사용되는 방법을 잘 분석하면 이 도구가 지나치게 강력하지 않으며 수행 중인 작업을 알고 있으면 우회할 수 있음을 알 수 있습니다. 이 기사는 linuxjournal.com 웹사이트에 다음 제목으로 게시되었습니다.Paranoid Penguin - 쉘 암호화 유틸리티인 shc의 제한 사항.

노트:이러한 도구는 난독 처리기(Obfuscator)로 가장 잘 설명됩니다.

답변4

새 버전을 사용해주세요.4.0.0보다 큼~을 위한우분투 18.04(테스트됨). 이전 버전에는 버그가 있어 해결 방법이 있습니다. 새로운 버전을 사용하면 이 문제가 해결됩니다. ;)

다음 명령을 사용하십시오

sudo add-apt-repository ppa:neurobin/ppa
sudo apt-get update
sudo apt-get install shc

관련 정보