ααΆαααααα½ααααα»αααααααααααααα»α
αααααααααΎαααΉαααααΆααΆαααΈααααα
ααααα·α
α αΎαααΎααααα½ααααααααΆα LSB α ααααα·αααΎα’αααα
αΆααα’αΆααααααα’αααααααΌαααΆαααααΆαααααα
αααααααααΆα (αα
αααααααΆαααΆααααΊααΆα
ααΆα
αααα αααα αααα½αααααΆααα )
ααΆααααΌαααΆα
αΆαααΆα
αααΎααααΈααααΎααΆαααααΆαααααΈαα ααα»ααααααααααααΆααΉαααΆαααααααααααΆαααααΈαααΊααΎααααΈααααΎα±ααααΆαα·αα’αΆα
α’αΆαααααααΆααααααΆααααΆαα ααΆααΆααα·αααΆαα ααΆαααααΈαααααΈαααΆααααααα·ααΈααααααΆ ααα»ααααααΆααα·ααΈααΆααααααα½ααααααααααααα»αααΆαααΆαααΆααα·ααααααα ααΎααα·αα
αΆαααΆα
αα’αα·αααααΈαααααααΆαααααα ααα»ααααααααΎαα»αααΆααΎααα·αααΆαααΆα ααααα·αααΆααΌαα ααα»ααα steganography ααααΌαααΆααααααΎαα‘αΎαα αα·ααΈααΈααΆ ααΆααΆααΎαααΆ βααααα αααΆααΈαααΆααααΆα (ααΈααΆααΆαααα·α
ΟΟΞ΅Ξ³Ξ±Ξ½ΞΏΟ - ααΆαα αα·ααααα·α Ξ³ΟΞ±ΟΟ - αααα»ααααααααΆααααααααα "ααΆαααααααααααΆαα") ααΊααΆαα·ααααΆααΆαααααααααΆααααααΌαααααααΆααααααΆααααααααααΆααΆααα·αααααΆααααααΌαααααααΆααααααΆααα
ααΆααΆααα·αααΆαα ααααΆαααααΆααααΆααα αΆαααΆααααΆααααα αΌαααααΆαααΆααα·ααΈααΆαααααααααΈαααααΈα αα·αααααα αααΆααΈαα‘αΎαα ααΎαααΈααααα ααααα αααα»αααΆαα’αα»αααααα½αααααααΎααααααααα»ααααααΆααα·α αα ααααααΎαααΊααααΌααααααΈααΌαααααΆαα ααααα·αααΎα’ααααα·ααααΆα’ααααααα·ααΈααΈααΆαααααα α·ααααα»αααΆαα α’αααααΉαααΉαααΆ αααα½ααααααααΆαααααα αααΆαααααΆα αα½ααααα αΌαα’αααΈαααααα α ααΆα αα»ααα·αααΆαα αα»αααΊαααααΊααΆααααααΆαααααα½αααΆααααΆααααααΆααααααααΎαα
αααα»αααααΈααααααΎα αα»αααΊαααααΉαααΆααΌαααΆααααα»ααααααα BMP α ααΆααααΌα ααΌααααα‘ααααΎααα ααΆααααααααααα―αααΆααααα α―αααΆαα’αΆα αααα ααααΆ 4 αααααα ααααααΆα―αααΆα ααααααΆααΌαααΆα ααααΆαααΆα αα·αααΌαααΆααααα½αα―αα αααααΆαααααααααααααααΎα ααΎαααααΆααααααααΌαααΉαααΈα’αααΈαααααααΌαααΆαααααααα αααα»αααααααΆα
ααΈαααααααΌαααααααααΆααΊααΆα αααααααΆ BM αααααΆααααααα αα―αααΆαααΆααααααΌαααΆααααααααΆααΆαααααΈααα 4 αααααααΆααααααΌαααΆαααααα»ααα»α α αΎαααααΌαααααΆαααΌααα α αΎαα α»ααααααααΆαααααΈααααααααΆαα’α»α αααα·αα αΆααααΈααΎααα α―αααΆααα αααα·αααααΌαααΆαα αα αααα»αα―αααΆα bmp 24 αααΈα ααΈααααααΈαα½ααααααΌαααΆαα’αα·αααΌααααααΈαα BGR α
α₯α‘αΌααααααΎαααΉαααΈααααααΎααααΈαα αααααΌαααΆαα αΎα α’αααΈααααα αααααΊααααΌααααααΈαααααααααΎαα’αΆα αααααααααααΆααααααΎαααααΌαααΆααα ααΈαααα αααααΆαααααα αΆαααααΎαααΉαααααΌαααΆααα·ααΈααΆααααα LSB α ααααΉαααΆααααα·ααΈααΆαααααααΆαααΌα ααΆααααααα ααΎααααα½ααααΈαααααα·αααΌαααααΆαααααα»ααααααααα½ααα»αααααΌαα ααααααΆαα’αα·αααΌααααα α αΌααα·ααΆαααΆααααα·αααΎαααααααΆααααααΆααααααΆααααααααΎαααΊ 11001011 α αΎααααααα»αααΌαααΆαααΊ...11101100 01001110 01111100 0101100111... αααααΆαα’αα·αααΌαααΉαααΎααα ααΌα αααα ααΎαααΉααααααααααΆααααααΆααααΆ 4 αααααααΈααααΈαα 11, 00, 10, 11 α αΎααααα½ααααΈαααααΆααααΆαααααΌαααΆαααΆαα½αααΉααααααααααααα ...11101111 01001100 ααααΌαααΈ 011111th 10 0101100111β¦. ααΆαβαααα½αβαααβαααβααΆβααΌαα βαα·αβα’αΆα βαααβαααααΆααβααΆαβα ααααβαααααβααα»αααβα‘αΎαα ααΎαααΈααααα ααα α§ααααααα·αααααα αΆαααααΆα αααΎαααΉααα·αα’αΆα αααα αΆαααΆαααααΆααααααΌαααΌα ααΆα ααααααααΆαααα
ααΆα αααΆααααΆααααΆα’αααα’αΆα ααααΆααααααΌααα·αααααΉααα 2 αααΈαααααα·αααΌαααααΆααααα»ααααααα ααα»ααααα ααα½αααΆαα½ααααα½αααΆα ααΆαααααΆαααΌα ααΆααααααα αα ααααααααΎαααααΆααααααΌααααΈαααΆααααα αααΎα ααααααΆααααααααααααΎαα’αΆα ααΆααααΆα α αΎαααΆαααααααααααααΆααααα αααΎαααΆααΉααααααΆαα±ααααΆααα αααα»αααΌαααΆαααΎαα α§ααΆα ααααααααΊααΆααΌαααΆαααΈαα
αααααΈαααα»αααααααΉααααααα’ααααΈαααααααΆαααααα αααα»ααα·αα’αΆα
ααΎαααΎαααΆααα»αααααΆαααΆααα½ααααα ααα»αααααααααΆαααΆαααΆααααα αα
αααα»αααΌαααΆαααΈααΈα αααααααΎαα·ααΈααΆααααααααααΆααα·αααααΆ ααααΆααααααα Lewis Carroll "The Hunting of the Snark" ααααΌαααΆαααΆααα ααααα·αααΎα’αααααΆαα’αΆαααααααααα α’ααααααα ααααΆα
αΆααα’αΆαααααααααα»αααΆαααααααααααΈααΆαα’αα»ααααα ααΆβααΆααααβααΆαα ααα»ααααβαααα»αβααΉαβαααααΆαβα’αααβααααΆααβααΆβα’αααΈβαααααβαααΆαβααααΌαβααΆαβααααΎβαα
Delphi α ααΆαα ααα»ααααΈααααααΆααααΏααααα 1. αααα»ααα·αααΆ Delphi ααΊααΆααΆααΆααααα’α 2. αααααα·ααΈαααααΆαααΎααααα»αααααΎαααΆαααααΆααααα
ααααααα·ααααΆα’αααΈααΌαααααΆαααααΉαααα
αααα»αα·ααααα»αααααΌααα α αΎααα»ααααααααα»ααααα»ααααααααααααα·ααααΆααααα·αααΆααααΉαα’αααΈαααα
ααΈ Delphi αααααα αααααΆααα’αααααααα·ααααΆαααΉαααΆααααααααααα ααΏααα½αα
αΆαααΆα
αααααΌαααααααα shl x ααΊααΆααΆαααααΆααααααΌαααααα·α
αα
ααΆααααααααα x, shr x ααΊααΆααΆαααααΆααααααΌαααααα·α
αα
ααΆαααααΆαααα x α
ααΎαααααααααΆααΎααααα»ααααααα’αααααααααααααΆαα»ααααα»αααααα’αααααα
αααα»ααα»αααΊααα α αΎααααα½αααΈαααααΆαααΆααααα
αααααΌαααα
αααααΆαα i:=1 to length(str) ααααΎ
α αΆααααααΎα
l1:=byte(str[i]) shr 6;
l2:=byte(str[i]) shl 2; l2:=l2 shr 6;
l3:=byte(str[i]) shl 4; l3:=l3 shr 6;
l4:=byte(str[i]) shl 6; l4:=l4 shr 6;
f.ReadBuffer(tmp,1);
f.Position:=f.Position-1;
tmp:=((tmp shr 2) shl 2)+l1;
f.WriteBuffer(tmp,1);
f.ReadBuffer(tmp,1);
f.Position:=f.Position-1;
tmp:=((tmp shr 2) shl 2)+l2;
f.WriteBuffer(tmp,1);
f.ReadBuffer(tmp,1);
f.Position:=f.Position-1;
tmp:=((tmp shr 2) shl 2)+l3;
f.WriteBuffer(tmp,1);
f.ReadBuffer(tmp,1);
f.Position:=f.Position-1;
tmp:=((tmp shr 2) shl 2)+l4;
f.WriteBuffer(tmp,1);
αααα αα;
ααΌαααΎααααΈα’αΆαα
αααααΆαα i:=1 αα MsgSize ααααΎ
α αΆααααααΎα
f.ReadBuffer(tmp,1);
l1:=tmp shl 6;
f.ReadBuffer(tmp,1);
l2:=tmp shl 6; l2:=l2 shr 2;
f.ReadBuffer(tmp,1);
l3:=tmp shl 6; l3:=l3 shr 4;
f.ReadBuffer(tmp,1);
l4:=tmp shl 6; l4:=l4 shr 6;
str:=str+char(l1+l2+l3+l4);
αααα αα;
αααα αΎααααααΆααα’ααααααα·α -
ααααααΈαα
ααααα: www.habr.com