web-dev-qa-db-ja.com

ステガノグラフィーツールを使用せずに画像内のファイルを非表示にするにはどうすればよいですか?

画像内のファイルを非表示にしたい。ファイルは音楽またはビデオです。これは技術的に可能ですか?もしそうなら、どうですか?

方法を見つけるためにGoogleで検索しました。初心者向けのいくつかの方法を提案してください。どこから始めたらいいかわからないので、ご案内ください。

重要な注意:画像のサイズをある程度まで変更します。たとえば、画像サイズを非表示にする前:1MB、非表示後は最大4MBになります。

私は以下のURLを参照しました:

martinolivier.com/open/stegoverview.pdf

www.garykessler.net/library/steganography.html

www.jjtc.com/ihws98/jjgmu.html

pcplus.techradar.com/.../secrets-of-steganography/-イギリス

これらはいくつかの例です、サー。

他のファイル内のファイルを非表示にすることができます。画像の場合、RGBピクセル定義の最下位ビットを使用できます。

ピクセルには、その色を定義する3バイトがあります。ライトシーグリーンは、32,178,170(R、G、B)で定義されます。

これはバイナリに変換されます:00100000,10101100,10101010

これらの最後の部分を変更しても、画像の色は大きく変化しません。そのため、ピクセルのすべてのカラー値の最下位ビットを使用できます。これにより、使用できるピクセルあたり3ビットが得られます。

したがって、テキストを取り、それをバイナリ表現に変換してから、画像内のすべてのR、G、B値のLSBをそのテキストのビットに変更するアルゴリズムを記述します。 128ビット長のテキストがある場合、そのテキストを非表示にするには128/3ピクセルが必要です。

バイナリ表現であるテキストがあるとしましょう:

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001 00100000

このテキストは13バイトの長さで、13 * 8 = 104ビットであることを意味します。 1ピクセルで最大3ビットを非表示にできるので、104/3 = 34.666なので、35ピクセルが必要です。

したがって、画像がある場合は、最初の35ピクセルを使用します。それがどのように機能するかを示すために、2つのピクセルを使用した例を示します。そこに6ビットを隠すことができます。テキストの最初の6ビットは010010

私たちのピクセルは:

pixel1,R: 00010101
pixel1,G: 01011111
pixel1,B: 10111100

pixel 2,R: 10010001
pixel 2,G: 00010101
pixel 2,B: 11011100

これで、すべての色の値の最後のビットをテキストの代表的なビットに変更できます。

pixel1,R: 00010101 ---> 00010100 (changes to 0)
pixel1,G: 01011111 ---> 01011111 (remains the same)
pixel1,B: 10111100 ---> 10111100 (remains the same)

pixel 2,R: 10010001 ---> 10010000 (changes to 0)
pixel 2,G: 00010101 ---> 00010101 (remains the same)
pixel 2,B: 11011100 ---> 11011100 (remains the same)

画像からテキストを抽出したい場合は、新しいピクセルのLSBを見るだけで、次のようになります。

P1 R: 0
P1 G: 1
p1 B: 0

P2 R: 0
P2 G: 1
P2 B: 0

これは私たちの行です:010010

22
Lucas Kauffman

ステガノグラフィーツールを使用せずに(!!)

Windowsの場合:コマンドプロンプトの数字から、非表示にするファイルを含む.rarアーカイブを作成します。

copy /b MYIMAGE.JPG + MYHIDDENFILE.RAR MYIMAGE.JPG

できた! WinRarを使用して、隠しファイルにJPG画像にアクセスします。

Linux:非表示にするファイルを含むZipアーカイブを作成します。

[tombo@palantir Immagini]$ Zip TEXT.TXT.Zip TEXT.TXT

画像のZipファイルを非表示にします。

[tombo@palantir Immagini]$ cat MYIMAGE.JPG TEXT.TXT.Zip > MYNEWIMAGE.JPG

できた! unzipを使用して、隠しファイルにJPG画像にアクセスします。

[tombo@palantir Immagini]$ unzip MYNEWIMAGE.JPG
Archive: MYNEWIMAGE.JPG
warning [MYNEWIMAGE.JPG]:  5288 extra bytes at beginning or within zipfile
(attempting to process anyway)
inflating: TEXT.TXT
8
tombolinux

ツール自体がどのように機能するかを調査しましたか?: https://github.com/Vsevak/stbmp

私は単にgithubでc ++フィルターを使ってステガノグラフィーを検索しました。

2
schroeder