Level Goal
The password for the next level is stored in the file data.txt, which is a hexdump of a file that has been repeatedly compressed. For this level it may be useful to create a directory under /tmp in which you can work using mkdir. For example: mkdir /tmp/myname123. Then copy the datafile using cp, and rename it using mv (read the manpages!)
Commands you may need to solve this level
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd, mkdir, cp, mv, file
다음 레벨로 가는 패스워드는 data.txt
파일내에 있는데 이 파일은 반복적으로 압축된 16진수 덤프 파일이다. /tmp
디렉토리내에 mkdir
명령어를 사용하여 디렉토리를 생성 후, 그 안에 파일을 복사하여 작업하는 것이 유용할 것이라고 한다. cp
로 파일을 복사하고 mv
로 파일명을 바꿀 수 있다.
mkdir /tmp/helloyj
cp ./data.txt /tmp/helloyj
cd /tmp/helloyj
힌트대로 /tmp
디렉토리내에 mkdir
명령어로 새 디렉토리를 하나 생성한 후 그 안에 data.txt
파일을 복사하였다.
xxd -r ./data.txt ./level12
file ./level12
xxd
명령어와 -r
옵션을 사용하여 data.txt
파일을 원래 파일로 복원시켰다. 파일명은 level12
로 하였다. file
명령어로 살펴보니 gzip
으로 압축된 파일임을 알 수 있었다.
mv ./level12 ./level12.gz
gzip -d ./level12.gz
file ./level12
gzip
으로 압축되었기 때문에 gzip -d
명령어로 압축해제 한다. 그 전에 mv
명령어를 사용하여 .gz
확장자를 붙여줘야 압축해제가 가능하다. 압축해제 후 file
명령어를 사용하면 해제한 파일이 bzip2
압축 파일임을 알 수 있다.
bzip2 -d ./level12
file ./level12.out
mv ./level12.out ./level12.gz
gzip -d ./level12.gz
file ./level12
bzip2 -d
명령어로 bzip2
압축 파일을 압축해제 하고, 압축해제한 파일이 gzip
압축파일이어서 다시 mv
명령어로 .gz
확장자를 붙인 후 다시 압축해제 한다. 압축해제 한 파일이 tar
압축 파일임을 알 수 있다.
tar -xvf ./level12
file data5.bin
tar -xvf ./data5.bin
file data6.bin
bzip2 -d ./data6.bin
file ./data6.bin.out
tar -xvf ./data6.bin.out
file ./data8.bin
mv ./data8.bin ./data8.gz
gzip -d ./data8.gz
file ./data8
그 후에도 tar
, gzip
, bzip2
로 압축되어 있는 파일들을 압축해제하여 최종적으로 data8
파일을 얻을 수 있다. 해당 파일에 다음 레벨로 가는 패스워드가 저장되어 있다.
- xxd
파일을 16진수 덤프 파일로 만들거나 혹은 원래대로 변환한다.- gzip
압축 소프트웨어 중 하나로 .gz 확장자를 가진 파일로 압축하거나 해당 파일을 압축해제 할 수 있다.- bzip2
압축 소프트웨어 중 하나로 .bz2 확장자를 가진 파일로 압축하거나 반대로 압축해제 할 수 있다.- tar
여러 개의 파일들을 하나로 묶거나 해제 하는 명령어다. (데이터의 크기를 줄이기 위한 압축이 아니라 하나의 파일로 묶기위한 용도로 사용된다.)