3

bmp イメージを使用して C で簡単なステガノグラフィ ツールを作成します。

イメージをメモリに読み取り、テキストを char バイト [8] で一度に 1 文字ずつ非表示にします。

例えば。

a=0d97
bytes[0] = 0
bytes[1] = 1
bytes[2] = 1
bytes[3] = 0
bytes[4] = 0
bytes[5] = 0
bytes[6] = 0
bytes[7] = 1

次に、最初の画像バイト(char *ptr points毎回)に移動してバイト[0]をLSBに配置し、次に次のものなどを配置します.

*ptr=0xff or 0b11111111最後の 1 を 0 に設定する必要がある 場合。

*ptr = *ptr ^ 0x01 ;

ただし、*ptr = 0x00または0b00000000xorが機能しない場合0^1=1

ケースをどうしようか迷っています。LSB が 1 または 0 の場合に毎回 0 の最後のビットを作成し、他のビットに触れないようにする演算子が必要です。

4

4 に答える 4

1

|演算子を使用してビットを設定できます。詳細については、関連する投稿をご覧ください: How do you set, clear, and toggle a single bit? .

于 2013-11-02T17:02:06.380 に答える
0

最も簡単な答えは. 数値の lsb をゼロに設定したい場合。数が奇数の場合、Num=num-1 です。偶数の場合、lsb には既にゼロがあります。

于 2014-07-16T05:01:20.057 に答える