Categories: Kali Linux

Stegify : Go Tool For LSB Steganography,Capable Of Hiding Any File Within An Image

Stegify is a Go tool for LSB steganography, capable of hiding any file within an image.

It is a simple command line tool capable of fully transparent hiding any file within an image. This technique is known as LSB (Least Significant Bit)

Install

$ go get -u github.com/DimitarPetrov/stegify

Usage

As a command line tool

$ stegify -op encode -carrier -data -result
$ stegify -op decode -carrier -result

When encoding, the file with name given to flag -data is hidden inside the file with name given to flag -carrier and the resulting file is saved in new file in the current working directory under the name given to flag -result.

The file extension of result file is inherited from the carrier file and must not be specified explicitly in the -result flag.

When decoding, given a file name of a carrier file with previously encoded data in it, the data is extracted and saved in new file in the current working directory under the name given to flag -result.

The result file won’t have any file extension and therefore it should be specified explicitly in -result flag.

In both cases the flag -result could be omitted and it will be used the default file name: result

Programmatically in your code

stegify can be used programmatically too and it provides easy to use functions working with file names or raw Readers and Writers. You can visit godoc under steg package for details.

Demonstration

Carrier
Data
Result

The Result file contains the Data file hidden in it. And as you can see it is fully transparent.

Disclaimer

If carrier file is in jpeg or jpg format, after encoding the result file image will be png encoded (therefore it may be bigger in size) despite of file extension inherited from the original carrier file (which is .jpeg or .jpg).

R K

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

5 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

5 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

6 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago