Matlabは画像とオーディオでファイルを隠す(続き)


前の文章はMatlabを通じて画像の隠しファイルを実現することを述べて、この1篇は私がC#を使ってMatlabを呼び出してコンパイルしたのです.Netプログラムセットは小さなアプリケーションを構築した.
原理はとても簡単で、前の文章の中の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ファイルがあるのではないでしょうか.この方法はすべてのファイルに適用されます(基本的にツールがない場合に使用できます).