Snowdrop is intended to bring (relatively) invisible and modification-proof watermarking to a new realm of “source material” – written word and computer source codes. The information is not being embedded in the least significant portions of some binary output, as it would be with a traditional low-level steganography, but into the source itself.
snowdrop-c [ -6 ] -e origfile newfile snowdrop-c [ -6 ] -l snowdrop-c [ -6 ] -i origfile newfile "Recipient" [ "Comment" ]
-e First method of calling the program (with -e option) enables watermark extraction mode. In this mode, file passed as a first parameter must be the original document used to generate second file (or its portions). -l Second method (-l) simply lists the contents of the watermark database for the module you're now running. -i Third method (-i) enables watermark injection mode. File 'origfile' is modified and saved as 'newfile'. Mandatory parameter is the recipient identifier. Optional comment can be added for your refernece. -6 Additional parameter -6 enables strong, 64-bit watermarking that is suitable for providing public documentation of watermarked document abuse.
cyborg@cyborg:~$ snowdrop-c -i c.pdf new.pdf "secured" snowdrop 0.02b: text watermarking / watermark recovery by email@example.com [*] Weak 32-bit watermarking used (use -6 to change it). [+] Input file loaded successfully. Location : c.pdf Size : 659924 bytes Signature : 0385e157-2cf488e6 Recipient : secured Comment : <none> Magic : e59f7cbc-a3d501b7 Watermark : 86ce4a37 Conf MD5 : 00000f00 [*] Computed capacity: 50 bits overall. Target specification : standalone C code (**** BROKEN BETA ****) [c] WARNING: capacity too low, watermark will not be redundant! Whitespace channel : 1.56 (50 bits) Grammar channel : 0.00 (0 bits) Formatting channel : 0.00 (0 bits) Substitution channel : 0.00 (0 bits) Channel offsets are : 0, 8, 8, 8 [*] Embedding the watermark... [+] Done. Written 558 bytes to file 'new.pdf', 50 bits embedded.