我一直在研究 Andrew Ker 提供的一个小型 Perl 脚本示例,该脚本在 PGM 和 PPM 文件中执行 LSB 隐写术。 (访问 - http://www.cs.ox.ac.uk/andrew.ker/docs/ADK11B.pdf)
所提供的脚本如下(在 Ubuntu Linux 上运行):
perl -n0777 <cover-image > stego-image
-e’split/(\s+)/,<STDIN>,5;@z=map ord,split"",pop@_;srand key; for(0..$#z){@p[$k,$_]=($_,$p[$k=int rand$_]);} map{$z[$q=shift@p]+=($z[$q]-ord()&1)*(rand 2<=>1)} split"",unpack"B*",$_;print@_,map chr,@z;’ secret-text-file
但是,这给我带来了语法错误,我认为这是由于使用了 ' 字符造成的。我没有使用 Perl 的经验,所以我正在缓慢地试图找出问题所在。
如有任何建议,我们将不胜感激。
最佳答案
看起来字符 ’
是由创建此 PDF 的任何文字处理程序转换的。它应该是单引号'
。替换两个实例,它应该可以工作。
关于Perl LSB 隐写术脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46909504/