Perl LSB 隐写术脚本

标签 perl steganography

我一直在研究 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/

相关文章:

perl - Perl Gmail电子邮件脚本错误

ruby - 如何在 ruby​​ 中组织读\写到 lsb

python - 在数字列表中隐藏二进制值

java - 无法提取隐写术中的文本

perl - Rijndael Perl 中的 CBC 加密解密

perl - 在 Perl 中关闭 'use Module' 语句中生成的警告的任何方法

perl - 我如何在 Class::DBI 中使用 add_to?

perl - 我可以在 Perl 中使用 sprintf 为数字指定最大精度宽度吗?

encryption - 如何将 256 位公钥编码为可变长度的字序列

php - 用 PHP 隐藏照片中的 secret