>65
// SteganographDemo.java
import java.io.*;
public class SteganographDemo {
public static void main(String[] args) {
if( args.length != 2 ) usage();
else if( !args[0].endsWith( ".bmp" ) ) usage();
File bmpFile = new File( args[0] ); File inpFile = new File( args[1] );
FileInputStream fis = null; FileOutputStream fos = null;
try {
fos = new FileOutputStream( bmpFile, true );
fis = new FileInputStream( inpFile );
fos.write( "here".getBytes() );
for( int i; (i=fis.read()) != -1; ) fos.write( i );
System.out.println( "埋め込み完了..." );
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch( IOException ioe ) {
ioe.printStackTrace();
} finally {
try {
if( fos != null ) fos.close();
if( fis != null ) fis.close();
} catch( IOException ioe ) {}}
}
public static void usage() {
System.err.println( "java SteganographDemo [bmp画像] [埋め込みデータ]" ); System.exit(0);
}
}
ひどく単純。後ろにくっつけるだけ。
取り出すときは「here」という文字列を手掛かりにすればいいようにしてみました(※取り出す機能はありません)。
ファイル偽装って昔流行ったよね、なにもかも懐かしい。