Matlabは画像とオーディオでファイルを隠す(続き)
前の文章はMatlabを通じて画像の隠しファイルを実現することを述べて、この1篇は私がC#を使ってMatlabを呼び出してコンパイルしたのです.Netプログラムセットは小さなアプリケーションを構築した.
原理はとても簡単で、前の文章の中のMatlabコードを使って、2つの関数を書いて、それぞれ隠して解析するために使って、コードは以下の通りです:
次にmatlabのdeploytoolを用いてコンパイルする.Netプログラムセット(dll)、C#エンジニアリングで参照、
コードは簡単です
次はスクリーンショットです.
任意のファイルを1枚の画像に隠します.http://bbs.windowsparty.com/showtopic-3270.aspx
基本的なコマンドラインの知識があるほうがいいです.でも大丈夫です.次の手順でやればいいです.準備:1.1枚の画像2.試験を行うtxtファイル3.WinRARステップ:1:winshomeなどの画像を用意します.jpg.testなどのターゲットファイルを準備します.txt.我々はtestを実現しなければならない.txtは画像に隠されています.2:隠すファイルをtest.txtはWinRARで圧縮します.testを生成します.rar圧縮パッケージ3:コマンドラインプロンプトを開く:「開始→実行」をクリックし、「cmd」を入力します.4:両方のファイルが「D:」の下に保存されていると仮定します.入力コマンド:copy/b D:winshome.jpg + D:test.rar D:winshome.jpg 5:ok、生成した画像winshomeを開いてみてください.jpg、間違いないでしょう.確かに元の画像です.6:どのようにそのtxtファイルを開きますか?WinRARを開き、「ファイル→開く(ショートカットキーCtrl+O)」をクリックし、ファイルタイプが「すべてのファイル」であることを選択し、winshome.jpgを見つけ、開くことを選択します.txtファイルがあるのではないでしょうか.この方法はすべてのファイルに適用されます(基本的にツールがない場合に使用できます).
原理はとても簡単で、前の文章の中のMatlabコードを使って、2つの関数を書いて、それぞれ隠して解析するために使って、コードは以下の通りです:
function saveFileIntoImg(imgFileName,txtFileName)
fid = fopen(txtFileName, 'r');
%c = fread(fid, 5, 'uint8=>char')';
c = fread(fid);%
c=dec2bin(c);% 2
fclose(fid);
img=imread(imgFileName);%
%figure,imshow(img)
%
len1=size(c,1);
length = dec2bin(len1);
for i=1:32
img(i)=bitset(img(i),1,0);
end
for i=(33-size(length,2)):32
img(i)=bitset(img(i),1,str2num(length(i+1-(33-size(length,2)))));
end
%
len2=size(c,2);
length = dec2bin(len2);
for i=1:32
img(i)=bitset(img(i),2,0);
end
for i=(33-size(length,2)):32
img(i)=bitset(img(i),2,str2num(length(i+1-(33-size(length,2)))));
end
%
for i=1:len1*len2
img(i)=bitset(img(i),3,str2num(c(i)));%
end
if(sum(imgFileName(end-3:end)~='.png')~=0)
imgFileName(end-3:end)='.png';
imwrite(img,imgFileName);
end
end
function y=getImgFile(filename)
img=imread(filename);%
len1=[];
for i=1:32
len1=[len1 num2str(bitget(img(i),1))];%
end
len1=bin2dec(len1);
len2=[];
for i=1:32
len2=[len2 num2str(bitget(img(i),2))];%
end
len2=bin2dec(len2);
res=[];
for i=1:len1*len2
res=[res num2str(bitget(img(i),3))];
end
res=reshape(res,[len1 len2]);%
res=bin2dec(res);%
y=char(res')%
end
次にmatlabのdeploytoolを用いてコンパイルする.Netプログラムセット(dll)、C#エンジニアリングで参照、
コードは簡単です
dc dc = new dc();
dc.saveFileIntoImg(imgFileName, txtFileName);
dc dc1 = new dc();
MWArray resFile = dc1.getImgFile((MWArray)fileName);
filerichTextBox.Text = resFile.ToString();
次はスクリーンショットです.
任意のファイルを1枚の画像に隠します.http://bbs.windowsparty.com/showtopic-3270.aspx
基本的なコマンドラインの知識があるほうがいいです.でも大丈夫です.次の手順でやればいいです.準備:1.1枚の画像2.試験を行うtxtファイル3.WinRARステップ:1:winshomeなどの画像を用意します.jpg.testなどのターゲットファイルを準備します.txt.我々はtestを実現しなければならない.txtは画像に隠されています.2:隠すファイルをtest.txtはWinRARで圧縮します.testを生成します.rar圧縮パッケージ3:コマンドラインプロンプトを開く:「開始→実行」をクリックし、「cmd」を入力します.4:両方のファイルが「D:」の下に保存されていると仮定します.入力コマンド:copy/b D:winshome.jpg + D:test.rar D:winshome.jpg 5:ok、生成した画像winshomeを開いてみてください.jpg、間違いないでしょう.確かに元の画像です.6:どのようにそのtxtファイルを開きますか?WinRARを開き、「ファイル→開く(ショートカットキーCtrl+O)」をクリックし、ファイルタイプが「すべてのファイル」であることを選択し、winshome.jpgを見つけ、開くことを選択します.txtファイルがあるのではないでしょうか.この方法はすべてのファイルに適用されます(基本的にツールがない場合に使用できます).