
🔍 LSB 스테가노그래피를 위한 Go 도구로, 이미지 내에 모든 파일을 숨길 수 있습니다.
stegify는 이미지 또는 이미지 세트 안에 파일을 완전히 투명하게 숨길 수 있는 간단한 명령줄 도구입니다.
이 기술은 LSB(최하위 비트) 스테가노그래피로 알려져 있습니다.
| 캐리어 | 데이터 | 결과 |
|---|---|---|
![]() | ![]() | ![]() |
결과 파일에는 데이터 파일이 숨겨져 있습니다. 보시다시피 완전히 투명합니다.
여러 개의 캐리어 파일이 제공되면 데이터 파일이 조각으로 나뉘어 각 조각이 각 캐리어 파일에 인코딩됩니다.
| 캐리어1 | 캐리어2 | 데이터 | 결과1 | 결과2 |
|---|---|---|---|---|
![]() |
결과1 파일에는 데이터 파일의 절반이 숨겨져 있고, 결과2 파일에는 나머지 절반이 숨겨져 있습니다. 항상 완전히 투명합니다.
go install github.com/DimitarPetrov/stegify@latest
brew tap DimitarPetrov/stegify
brew install stegify
또는 여기에서 시스템에 맞는 바이너리를 다운로드할 수 있습니다.
stegify encode --carrier <파일-이름> --data <파일-이름> --result <파일-이름>
stegify decode --carrier <파일-이름> --result <파일-이름>
인코딩 시 --data 플래그의 이름을 가진 파일이 --carrier 플래그의 이름을 가진 파일 안에 숨겨지고, 결과 파일은 현재 작업 디렉토리에 --result 플래그에 지정된 이름으로 저장됩니다.
참고: 결과 파일에는 파일 확장자가 없으므로
--result플래그에 명시적으로 지정해야 합니다.
디코딩 시 이전에 인코딩된 데이터가 있는 캐리어 파일의 이름이 주어지면 데이터가 추출되어 현재 작업 디렉토리에 --result 플래그에 지정된 이름으로 저장됩니다.
참고: 결과 파일에는 파일 확장자가 없으므로
--result플래그에 명시적으로 지정해야 합니다.
두 경우 모두 --result 플래그를 생략할 수 있으며 기본값이 사용됩니다.
stegify encode --carriers "<파일-이름들...>" --data <파일-이름> --results "<파일-이름들...>"
또는
stegify encode --carrier <파일-이름> --carrier <파일-이름> ... --data <파일-이름> --result <파일-이름> --result <파일-이름> ...
stegify decode --carriers "<파일-이름들...>" --result <파일-이름>
또는
stegify decode --carrier <파일-이름> --carrier <파일-이름> ... --result <파일-이름>
데이터 파일을 둘 이상의 캐리어에 인코딩할 때 데이터 파일은 N개의 청크로 나뉘며, 여기서 N은 제공된 캐리어의 수입니다. 각 청크는 해당 캐리어에 인코딩됩니다.
참고: 디코딩 시 결과를 올바르게 추출하려면 캐리어를 정확히 동일한 순서로 제공해야 합니다.
이러한 종류의 인코딩은 보안의 또 다른 계층과 크기 제한에 관한 더 많은 유연성을 제공합니다.
두 경우 모두 --result/--results 플래그를 생략할 수 있으며 기본값이 사용됩니다.
참고: 인코딩 시 결과 파일의 수(제공된 경우)는 캐리어 파일의 수와 같아야 합니다. 디코딩 시 정확히 하나의 결과가 예상됩니다.
여러 캐리어가 혼합된 종류의 플래그로 제공될 때, carrier 플래그를 통해 제공된 이름이 먼저 사용되고 carriers/c 플래그가 그 다음에 사용됩니다. result/results 플래그에도 동일하게 적용됩니다.
stegify는 프로그래밍 방식으로도 사용할 수 있으며, 파일 이름 또는 원시 Reader 및 Writer와 함께 사용하기 쉬운 함수를 제공합니다. 자세한 내용은 steg 패키지 아래의 godoc을 방문하세요.
캐리어 파일이 jpeg 또는 jpg 형식인 경우, 인코딩 후 결과 파일 이미지는 (지정된 파일 확장자와 관계없이) png로 인코딩되므로 크기가 더 커질 수 있습니다.
stegify는 Codefest'19의 캡처 더 플래그 챌린지 중 하나에 사용되었습니다.
참가자들은 "순진한" 고양이 사진 한 장을 받았습니다. 의심스러운 점이 없나요? 다시 생각해보세요!
![]() |
![]() |
![]() |
![]() |