當前位置:首頁 » 密碼管理 » linuxtar加密

linuxtar加密

發布時間: 2022-09-23 09:07:09

linux tar命令

tar命令可以為linux的文件和目錄創建檔案。利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網路傳輸是非常有用的。
首先要弄清兩個概念:打包和壓縮。打包是指將一大堆文件或目錄變成一個總的文件;壓縮則是將一個大的文件通過一些壓縮演算法變成一個小文件。
為什麼要區分這兩個概念呢?這源於Linux中很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然後再用壓縮程序進行壓縮(gzip bzip2命令)。
linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程序來進行壓縮。
1.命令格式:
tar[必要參數][選擇參數][文件]
2.命令功能:
用來壓縮和解壓文件。tar本身不具有壓縮功能。他是調用壓縮功能實現的
3.命令參數:
必要參數有如下:
-A 新增壓縮文件到已存在的壓縮
-B 設置區塊大小
-c 建立新的壓縮文件
-d 記錄文件的差別
-r 添加文件到已經壓縮的文件
-u 添加改變了和現有的文件到已經存在的壓縮文件
-x 從壓縮的文件中提取文件
-t 顯示壓縮文件的內容
-z 支持gzip解壓文件
-j 支持bzip2解壓文件
-Z 支持compress解壓文件
-v 顯示操作過程
-l 文件系統邊界設置
-k 保留原有文件不覆蓋
-m 保留文件不被覆蓋
-W 確認壓縮文件的正確性
可選參數如下:
-b 設置區塊數目
-C 切換到指定目錄
-f 指定壓縮文件
--help 顯示幫助信息
--version 顯示版本信息

常見文件的解壓/壓縮命令及參數:
tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(註:tar是打包,不是壓縮!)

.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName

.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName

.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知

.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName

.rar
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName

② Linux下如何進行全盤加密(包括根分區)

你去網路查一下eCryptfs文件系統,它是一個抽象的堆疊式文件系統,用於就是對任何數據加密,它可以選擇進行根目錄加密還是單個文件夾以內的數據加密,不懂再問我唄。我的工作就是做內核這部分的,歡迎討論。

③ rar和tar的區別

區別如下:

RAR:是一種專利文件格式,用於數據壓縮與歸檔打包。

TAR:Unix和類Unix系統上的壓縮打包工具,可以將多個文件合並為一個文件,打包後的文件後綴亦為「tar」。

tar是無壓縮的,比壓縮效率,gz的演算法最原始,所以較低,其次zip,接著rar,7z兩個主要演算法基本上略優於rar,基本不相上下。

在Linux裡面,tar一般和其他沒有文件管理的壓縮演算法文件結合使用,用tar打包整個文件目錄結構成一個文件,再用gz,bzip等壓縮演算法壓縮成一次。也是Linux常見的壓縮歸檔的處理方法。

zip相對比較老,格式規范可知,所以積累了各種加解壓實現,有較好的兼容性,不過現有文件格式相對而言比較落後,還有會有文件名亂碼問題(因為文件名是用非Unicode編碼)。

RAR文件特點:

RAR通常情況比ZIP壓縮比高,但壓縮/解壓縮速度較慢。

分卷壓縮:壓縮後分割為多個文件。

固實壓縮:把要壓縮的視為同一個文件以加大壓縮比,代價是取用包中任何文件需解壓整個壓縮包。

恢復記錄:加入冗餘數據用於修復,在壓縮包本身損壞但恢復記錄夠多時可對損壞壓縮包進行恢復。

加密:RAR 2.0使用AES-128-cbc,(rar5.0以後為AES-256CBC)。之前RAR的加密演算法為私有。目前均未被直接攻破(至少沒有公開),沒有密碼時只有暴力破解。

④ Linux中tar的命令是什麼

tar [-j|-z] [cv] [-f 建立的檔案名] filename...《==打包與壓縮

tar [-j|-z] [tv] [-f 建立的檔案名] 《==查看檔案
tar [-j|-z] [xv] [-f 建立的檔案名] [-C 目錄] 《==解壓縮
選項與參數:
-c:建立打包檔案,可搭配-v來觀察過程中被打包的檔案名(filename)
-t:查看打包檔案的內容含有那些檔案
-x:解壓縮的功能,可以搭配-C在特定的目錄解開;-c、-t、-x不能同時出現在一串指令列中。
-j:透過bzip2的支持進行壓縮/解壓縮:此時檔案名最好為*.tar.bz2
-z:透過gzip的支持進行壓縮/解壓縮:此時檔案名最好為*.tar.gz
-v:在壓縮/解壓縮的過程中,將正在處理文件名顯示出來
-f filename:-f後面要立刻接被處理的檔案名!建議-f單獨寫一個選項
-C 目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項

⑤ Linux中tar的命令

tar 歸檔+壓縮

語法:tar czvf newfile.tar.gz SOURCE

語法:tar czvf 壓縮後的文件名(tar.gz tar.bz2)需要壓縮的文件或目錄

常用參數:

-z, --gzip 以gzip方式壓縮 擴展名: tar.gz

-j : 以bz2方式壓縮的 擴展名:tar.bz2

-J: 以xz 方式壓縮 擴展名:tar.xz

例1:創建.tar.gz 包

[root@xuegod63 ~]# tar cvf /root/etc.tar /etc

[root@localhost test]# tar zcvf /root/etc.tar.gz /etc#歸檔,注意備份的名字後綴

[root@localhost test]# tar zxvf /root/etc.tar.gz #解壓縮

[root@localhost test]# tar xvf /root/etc.tar.gz #解壓縮

例2:創建.tar.bz2包

語法: #tar jcvf newfile.tar.bz2SOURCE

[root@xuegod63 ~]# tar -jcvf ~/etc.tar.bz2 /etc

[root@xuegod63 ~]# tar -jxvf ~/etc.tar.bz2 #解壓縮

[root@xuegod63 ~]# tar -xvf ~/etc.tar.bz2 #解壓縮

[root@xuegod63 ~]# tar jxvf ~/etc.tar.bz2 -C /opt #解壓到opt目錄下

例3:創建.tar.xz包

[root@xuegod63 ~]# tar -Jcvf ~/etc.tar.xz /etc

[root@xuegod63 ~]# tar -Jxvf ~/etc.tar.xz #tar.xz 這類包,解壓縮

[root@xuegod63 ~]# tar -xvf ~/etc.tar.xz

對比三種壓縮方式後壓縮比例:

[root@xuegod63 ~]# time tar zcf /root/etc.tar.gz /etc

[root@xuegod63 ~]# time tar jcf /root/etc.tar.bz2 /etc

[root@xuegod63 ~]# time tar Jcf /root/etc.tar.xz /etc

[root@xuegod63 ~]# ll -h etc.tar* (*為通配符,代表任意字元任意次)

-rw-r--r-- 1 0 root 28M5月 10 12:10 etc.tar

-rw-r--r-- 1 0 root 8.7M5月 10 12:14 etc.tar.bz2 #常用

-rw-r--r-- 1 0 root 9.8M5月 10 12:11 etc.tar.gz #常用

-rw-r--r-- 1 0 root 7.0M5月 10 12:16 etc.tar.xz #這個壓縮比例最高,壓縮的時間是最長

查看源文件大小

[root@xuegod63 ~]# -sh /etc

31M /etc

etc.tar包為28M ,實際幾乎沒怎麼壓縮。xz格式化為7.0M,傳輸的時候效率提高很多。

擴展:

解壓指定文件到指定目錄

[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2/grub.cfg

解壓某一類型文件到指定目錄

--wildccards文件名匹配,使用通配符

[root@xuegod62 ~]# tar -tvf boot.tar.gz

[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz --wildcards *.mo

排除指定文件並解壓

[root@xuegod62 ~]# rm -rf /opt/boot

[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2 --exclude=boot/grub2/i386-pc

⑥ 如何在Linux系統上加密

打開虛擬機,進入安裝好的Linux系統,創建一個屬於自己的目錄,這里我創建的是test

在創建的目錄中新建一個文件,名字為test.txt

在文件中輸入「北京歡迎你」,然後保存

執行openssl加密命令
openssl enc -des-ede3-cbc -in test.txt -out JMtest.txt -k 12345678

查看生成的文件JMtest.txt,發現是亂碼,說明已經加密成功

然後執行openssl的解密命令
openssl enc -des-ede3-cbc -in JMtest.txt -out test_after.txt -d -k 12345678

查看生成的文件test_after.txit,可以清楚的看到「北京歡迎你」,說明解密成功

⑦ linux下如何將文件加密

/etc/passwd、/etc/shadow、二個配置文件用於系統帳號管理,都是文本文件,可用vim等文本編輯器打開。/etc/passwd用於存放用戶帳號信息,/etc/shadow
用於存放每個用戶加密的密碼。
/etc/passwd文件用於存放用戶賬戶信息,每行代表一個賬戶,每...

⑧ Linux Encryption HOWTO 怎樣製作一個加密的文件系統

設定分區

您的硬碟(hda)最少應該包含三個分區:
hda1:這個小的沒加密的分區 應該 要求 一個 口令 為了 載入 加密 的根文件系統
hda2:這個分區應該包含你的加密根文件系統;確保它足夠大
hda3:這個分區就是你的當前的GNU/Linux系統

在這時,hda1和hda2沒有使用。hda3就是當前你安裝的linux發行版; /usr 和/boot不能另外分區裝載。

你的分區分布也許會像下面這樣:

# fdisk -l /dev/hda

Disk /dev/hda: 255 heads, 63 sectors, 2432 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 1 8001 83 Linux
/dev/hda2 2 263 2104515 83 Linux
/dev/hda3 264 525 2104515 83 Linux
/dev/hda4 526 2047 12225465 83 Linux

安裝 Linux-2.4.27

有兩種主要的方案可用於在內核上添加 loopback加密支持:cryptoloop 和 loop-AES。本文是基於loop-AES方案的,因為因為它的特點是非常快 和非常優化實行 of Rijndael 用匯編語言。如果你有一個IA-32 (x86) CPU ,它將為您提供 最大的性能。另外,還有一些關於cryptoloop的安全關切.

首先,下載和解壓 loop-AES 軟體包:

wget http://loop-aes.sourceforge.net/loop-AES/loop-AES-v2.2b.tar.bz2
tar -xvjf loop-AES-v2.2b.tar.bz2

然後再下載內核源代碼和補丁並為內核源碼打上補丁:

wget http://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.27.tar.bz2
tar -xvjf linux-2.4.27.tar.bz2
cd linux-2.4.27
rm include/linux/loop.h drivers/block/loop.c
patch -Np1 -i ../loop-AES-v2.2b/kernel-2.4.27.diff

設置鍵盤映射:

mpkeys | loadkeys -m - > drivers/char/defkeymap.c

下一步,配置你的內核;確定下面的選項你已經選上了:

make menuconfig

Block devices --->

<*> Loopback device support
[*] AES encrypted loop device support (NEW)

<*> RAM disk support
(4096) Default RAM disk size (NEW)
[*] Initial RAM disk (initrd) support

File systems --->

<*> Ext3 journalling file system support
<*> Second extended fs support

(important note: do not enable /dev file system support)

編譯並安裝內核:
make dep bzImage
make moles moles_install
cp arch/i386/boot/bzImage /boot/vmlinuz

如果你的啟動器是grub,更新你的 /boot/grub/menu.lst或 /boot/grub/grub.conf文件:

cat > /boot/grub/menu.lst << EOF
default 0
timeout 10
color green/black light-green/black
title Linux
root (hd0,2)
kernel /boot/vmlinuz ro root=/dev/hda3
EOF

啟動器是lilo的話就更新/etc/lilo.conf並運行 lilo :
cat > /etc/lilo.conf << EOF
lba32
boot=/dev/hda
prompt
timeout=100
image=/boot/vmlinuz
label=Linux
read-only
root=/dev/hda3
EOF
lilo

現在重啟你的系統。

安裝Linux 2.6.8.1

像之前所說的那樣進行前面的部分,所用補丁是loop-aes'kernel-2.6.8.1.diff 。要注意的是你要安裝mole-init-tools軟體包以便你的系統支持模塊。
安裝util-linux-2.12b

這個losetup程序包含在util-linux-2.12b軟體包中。必須打補丁並重新編譯以使它支持加密。下載,解壓並打為util-linux打補丁:

wget http://ftp.kernel.org/pub/linux/utils/util-linux/util-linux-2.12b.tar.bz2
tar -xvjf util-linux-2.12b.tar.bz2
cd util-linux-2.12b
patch -Np1 -i ../loop-AES-v2.2b/util-linux-2.12c.diff
使用少於20個字元的密碼,鍵入:
CFLAGS="-O2 -DLOOP_PASSWORD_MIN_LENGTH=8"; export CFLAGS

安全可能是你主要關心的一個問題。為此,請不要使您的密碼少於20個字元。數據保密性不是免費的, 你必須以『支付』的形式使用長的密碼。

使用root用戶編譯安裝 losetup程序:
./configure && make lib mount
mv -f /sbin/losetup /sbin/losetup~
rm -f /usr/share/man/man8/losetup.8*
cd mount
gzip losetup.8
cp losetup /sbin
cp losetup.8.gz /usr/share/man/man8/

創建加密的根文件系統
用隨機數據填充目標分區:
shred -n 1 -v /dev/hda2
安裝加密loopback設備:
losetup -e aes256 -S xxxxxx /dev/loop0 /dev/hda2
為防止比較快的字典攻擊,推薦加上-S xxxxxx 選項,"xxxxxx" 是你隨機選取的種子(例如,你可能選擇 "gPk4lA" )。 同樣,為了防止啟動時的鍵盤映射問題,在密碼中不要使用非ASCII字元(方言,等)。Diceware站點提供了一種簡單的的方法去創建強大並容易記住的密碼。
現在開始創建ext3文件系統:
mke2fs -j /dev/loop0
檢測你輸入的密碼是正確的:
losetup -d /dev/loop0
losetup -e aes256 -S xxxxxx /dev/loop0 /dev/hda2
mkdir /mnt/efs
mount /dev/loop0 /mnt/efs
你可以比較已加密的和未加密的數據:

xxd /dev/hda2 | less
xxd /dev/loop0 | less

現在是時候安裝你的加密的linux系統了。如果你使用的是GNU/Linux發行版(譬如Debian, Slackware, Gentoo, Mandrake, RedHat/Fedora, SuSE, etc.), 運行下面的命令:

cp -avx / /mnt/efs
如果你使用是Linux From Scratch手冊,照著lfs手冊上所說的那樣進行配置,但要做以下修改:
Chapter 6 - Installing util-linux:

在解壓源代碼後打上 loop-AES 的補丁。
Chapter 8 - Making the LFS system bootable:
指向我們的下一章(創建啟動設備)。
--------------------------------------------------------

創建啟動設備
創建ramdisk
在開始時,先用chroot命令進入你的加密分區並創建啟動設備的掛載點:
chroot /mnt/efs
mkdir /loader
然後創建 initial ramdisk (initrd),它將會在以後用到:
cd
dd if=/dev/zero of=initrd bs=1k count=4096
mke2fs -F initrd
mkdir ramdisk
mount -o loop initrd ramdisk
如果您使用 grsecurity . 您可能會收到"Permission denied"的提示錯誤的信息;如果是這樣你將必須在chroot命令之前運行 mount命令。
創建文件系統的目錄組織並復制所需要的的文件進去:
mkdir ramdisk/{bin,dev,lib,mnt,sbin}
cp /bin/{bash,mount} ramdisk/bin/
ln -s bash ramdisk/bin/sh
mknod -m 600 ramdisk/dev/console c 5 1
mknod -m 600 ramdisk/dev/hda2 b 3 2
mknod -m 600 ramdisk/dev/loop0 b 7 0
cp /lib/{ld-linux.so.2,libc.so.6,libdl.so.2} ramdisk/lib/
cp /lib/{libncurses.so.5,libtermcap.so.2} ramdisk/lib/
cp /sbin/{losetup,pivot_root} ramdisk/sbin/
如果你看到像"/lib/libncurses.so.5: No such file or directory","/lib/libtermcap.so.2: No such file or directory"的信息,這是正常的。bash 只要求用這兩個庫中的其中一個。 你可以檢測哪一個才是你實際所需要的:
ldd /bin/bash
編譯sleep程序,它將防止密碼提示被內核信息所淹沒(例如當usb設備注冊時)。
cat > sleep.c << "EOF"
#include <unistd.h>
#include <stdlib.h>

int main( int argc, char *argv[] )
{
if( argc == 2 )
sleep( atoi( argv[1] ) );

return( 0 );
}
EOF

gcc -s sleep.c -o ramdisk/bin/sleep
rm sleep.c
創建初始化腳本(不要忘記替換掉你之前報選的種子 "xxxxxx" ):

cat > ramdisk/sbin/init << "EOF"
#!/bin/sh

/bin/sleep 3
/sbin/losetup -e aes256 -S xxxxxx /dev/loop0 /dev/hda2
/bin/mount -r -n -t ext3 /dev/loop0 /mnt

while [ $? -ne 0 ]
do
/sbin/losetup -d /dev/loop0
/sbin/losetup -e aes256 -S xxxxxx /dev/loop0 /dev/hda2
/bin/mount -r -n -t ext3 /dev/loop0 /mnt
done

cd /mnt
/sbin/pivot_root . loader
exec /usr/sbin/chroot . /sbin/init
EOF

chmod 755 ramdisk/sbin/init

卸載 loopback 設備並壓縮initrd:
umount -d ramdisk
rmdir ramdisk
gzip initrd
mv initrd.gz /boot/
從CD-ROM啟動
我強烈建議您從只讀的媒體里啟動您的系統,例如可啟動的光碟。
下載並解壓syslinux:
wget http://ftp.kernel.org/pub/linux/utils/boot/syslinux/syslinux-2.10.tar.bz2
tar -xvjf syslinux-2.10.tar.bz2
配置isolinux:
mkdir bootcd
cp /boot/{vmlinuz,initrd.gz} syslinux-2.10/isolinux.bin bootcd
echo "DEFAULT /vmlinuz initrd=initrd.gz ro root=/dev/ram0" \
> bootcd/isolinux.cfg

把iso映像刻錄到可啟動光碟中:

mkisofs -o bootcd.iso -b isolinux.bin -c boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-J -hide-rr-moved -R bootcd/

cdrecord -dev 0,0,0 -speed 4 -v bootcd.iso

rm -rf bootcd{,.iso}

從硬碟啟動

當你丟失了你的可啟動光碟時,啟動分區就可以派上用場了。請記住hda1是個可寫分區,因而並不是很可靠的,只有當你遇到緊急的情況時才使用它!

創建並掛載ext2文件系統:

dd if=/dev/zero of=/dev/hda1 bs=8192
mke2fs /dev/hda1
mount /dev/hda1 /loader

復制內核和initial ramdisk:

cp /boot/{vmlinuz,initrd.gz} /loader

如果你使用的是grub :

mkdir /loader/boot
cp -av /boot/grub /loader/boot/
cat > /loader/boot/grub/menu.lst << EOF
default 0
timeout 10
color green/black light-green/black
title Linux
root (hd0,0)
kernel /vmlinuz ro root=/dev/ram0
initrd /initrd.gz
EOF
grub-install --root-directory=/loader /dev/hda
umount /loader

如果你使用lilo:

mkdir /loader/{boot,dev,etc}
cp /boot/boot.b /loader/boot/
mknod -m 600 /loader/dev/hda b 3 0
mknod -m 600 /loader/dev/hda1 b 3 1
mknod -m 600 /loader/dev/ram0 b 1 0
cat > /loader/etc/lilo.conf << EOF
lba32
boot=/dev/hda
prompt
timeout=100
image=/vmlinuz
label=Linux
initrd=/initrd.gz
read-only
root=/dev/ram0
EOF
lilo -r /loader
umount /loader

最後一步 仍然保持chroot的狀態,修改/etc/fstab增加以下選項:
/dev/loop0 / ext3 defaults 0 1

去除 /etc/mtab 並從chroot中退出。最後 ,運行 "umount -d /mnt/efs"命令然後重啟系統。 如果有某些錯誤發生,你仍然可以在 LILO提示中用"Linux root=/dev/hda3"來啟動你未加密的分區。

如果一切都順利,你就可以重新分區你的硬碟和繼續加密你的hda3或hda4分區。在下面的腳本中,我們假設 hda3將掛載swap設備,hda4掛載/home目錄;你應該先初始化這兩個分區:
shred -n 1 -v /dev/hda3
shred -n 1 -v /dev/hda4
losetup -e aes256 -S xxxxxx /dev/loop1 /dev/hda3
losetup -e aes256 -S xxxxxx /dev/loop2 /dev/hda4
mkswap /dev/loop1
mke2fs -j /dev/loop2

然後在系統的啟動目錄里創建一個腳本並更新 /etc/fstab:
cat > /etc/init.d/loop << "EOF"
#!/bin/sh

if [ "`/usr/bin/md5sum /dev/hda1`" != \
" /dev/hda1" ]
then
echo -n "WARNING! hda1 integrity verification FAILED - press enter."
read
fi

echo "1st password chosen above" | \
/sbin/losetup -p 0 -e aes256 -S xxxxxx /dev/loop1 /dev/hda3

echo "2nd password chosen above" | \
/sbin/losetup -p 0 -e aes256 -S xxxxxx /dev/loop2 /dev/hda4

/sbin/swapon /dev/loop1

for i in `seq 0 63`
do
echo -n -e "\33[10;10]\33[11;10]" > /dev/tty$i
done

EOF

chmod 700 /etc/init.d/loop
ln -s ../init.d/loop /etc/rcS.d/S00loop
vi /etc/fstab
...
/dev/loop2 /home ext3 defaults 0 2

⑨ linux 文件加密

linux文件加密需要分五步進行,下面是具體介紹:
1、進入linux系統,打開待加密文件;

2、進入命令模式,輸入大寫字母X;

3、點擊回車輸入密碼;

4、命令模式輸入w,、回車確定;

5、打開文件vibase.sh,即可加密成功。

以上就是今天的分享了,希望可以幫助到大家。
本文章基於thinkpadE15品牌、centos7系統撰寫的。

⑩ 如何將Linux Shell程序使用shc編譯加密

第一步非常簡單,就是獲取到
shc
程序的源碼文件,這個可以從官方站點(現在視乎無法訪問)下載,或者從參考資料裡面提供的地址下載。
2
下載到源文件後,先要解壓出來,使用Tarball工具進行解壓,命令時
tar
-xvf
shc.tar
這樣就能得到解壓後的文件,。
3
這時候我們自己編譯shc得到可以使用的可執行程序,過程如下:
make
make
install
等待系統完成即可,我這里因為許可權問題,幫助文件安裝出了些問題,但整體還是沒有問題的。
4
我們准備一個程序,這里就使用簡單的顯示語句,文件名
test.sh
echo
"
this
is
a
shell"
然後
sch
-f
test.sh
完成編譯操作,會發現目錄下多出如下圖所示的文件
5
這里是編譯完成後的目錄內容,可以看到
.x
的已經編譯後的二進制可執行文件,而
.x.c
的是轉化的C語言源文件。
6
這里顯示的是經過轉化過的C語言源文件,可以在同一目錄下看到,內容已經經過處理,字元串都進行了編碼處理。
7
我們直接執行對應的編譯後的二進製程序,可以看到,效果和shell文件是一樣的,但是這樣源代碼隱藏了起來,保密性強。
END
注意事項
shc需要自己編譯,因此您需要有GCC的環境
shc
在使用了
-r
選項的時候具有通用性,很多系統之間可以直接運行,參數如下:
shc
並不是真正意義的高強度加密,因此很容易被逆向工程,所以不要依靠這個的安全性

熱點內容
天行機械手用戶3密碼多少 發布:2023-09-29 13:48:19 瀏覽:161
端游賬號密碼在哪裡改 發布:2023-09-29 13:19:58 瀏覽:792
asp禁止訪問 發布:2023-09-29 13:12:33 瀏覽:486
ftp伺服器ip地址怎麼填 發布:2023-09-29 13:12:22 瀏覽:745
永久刪除文件夾 發布:2023-09-29 12:59:59 瀏覽:559
油猴腳本廣告 發布:2023-09-29 12:58:19 瀏覽:942
編程從上往下 發布:2023-09-29 12:53:44 瀏覽:944
換代理伺服器ip會變嗎 發布:2023-09-29 12:19:18 瀏覽:92
php審批系統 發布:2023-09-29 12:14:11 瀏覽:266
什麼是分級存儲 發布:2023-09-29 12:14:00 瀏覽:441