2017-10-24 3 views
1

私は、PGMとPPMファイルでLSBステガノグラフィを実行するAndrew Kerによる小さなサンプルのPerlスクリプトを見てきました。 (アクセス - http://www.cs.ox.ac.uk/andrew.ker/docs/ADK11B.pdfPerl LSB Steganography Script

次のように提示したスクリプトは、(Ubuntu Linuxの上で実行されている)である:

perl -n0777 <cover-image > stego-image 
    -e’split/(\s+)/,<STDIN>,5;@z=map ord,split"",[email protected]_;srand key; for(0..$#z){@p[$k,$_]=($_,$p[$k=int rand$_]);} map{$z[[email protected]]+=($z[$q]-ord()&1)*(rand 2<=>1)} split"",unpack"B*",$_;[email protected]_,map chr,@z;’ secret-text-file 

しかし、これは私が '文字の使用からだと思うこれは、私のために構文エラーを与えます。私はPerlの経験がないので、問題の原因を突き止めるのが遅くなっています。

アドバイスをいただければ幸いです。

答えて

2

は、このPDFが作成されたすべてのワープロプログラムによって変換されたように見えます。それは単一の引用'であるはずです。両方のインスタンスを置き換えると正常に動作します。

+0

私はこれらの変更を行い、次のエラーが発生しました:オペレータがtest.prlの3行目の "secret-text"の近くにあると思われる場所を見つけました(秘密テキストの前に演算子がありません) – jr791

+0

@ jr791 _test.pl_ファイルが関係するのはなぜですか?あなたはこれをコマンドラインで直接実行することになっています。 'perl'はPerlインタプリタコマンドです。 https://explainshell.com/explain?cmd=perl+-n0777+%3Ccover-image+%3E+stego-image+-e%27...%27+secret-text-%EF%AC%81le – simbabque

+0

@ jr791、 'secret-text'がPerlコードの一部として見られる場合、2つの' ''を '' 'で置き換えるだけではありません。 – ikegami