比如说公司不能携带源代码;可以带图片;要做的就是把源码用rar打个包,然后找个bmp文件,打开它,在尾部增加几个特征字符串,再把rar的数据增加上去,ok了。带出去后,打开bmp文件,找到特征字符串,把尾部记录复制出来,保存到一个新文件内;
该方法同样可以用于EXE文件.

为了简便操作,用C#编写了一个工具软件,以下是部分代码,(本人菜鸟臭作、高手勿笑):


{
把文件以二进制写入到图形文件里      //加入到文件尾部
把文件以二进制写入到图形文件里
      System.IO.FileStream SBF= null
把文件以二进制写入到图形文件里      System.IO.FileStream SF
= null
把文件以二进制写入到图形文件里      System.IO.FileStream DBF
= null;
把文件以二进制写入到图形文件里      
byte[] srcBmpByte;
把文件以二进制写入到图形文件里      
byte[] srcFileByte;
{
把文件以二进制写入到图形文件里        SBF 
= new System.IO.FileStream(srcBmpFile,System.IO.FileMode.Open, System.IO.FileAccess.Read);
把文件以二进制写入到图形文件里        SF 
= new System.IO.FileStream(srcFile,System.IO.FileMode.Open, System.IO.FileAccess.Read);
把文件以二进制写入到图形文件里        DBF 
= new System.IO.FileStream(destBmpFile,System.IO.FileMode.CreateNew, System.IO.FileAccess.Write);
把文件以二进制写入到图形文件里        
把文件以二进制写入到图形文件里        srcBmpByte 
= new byte[SBF.Length];
把文件以二进制写入到图形文件里        SBF.Read(srcBmpByte,
0,(int)SBF.Length);
把文件以二进制写入到图形文件里        srcFileByte 
= new byte[SF.Length];//取得该数据可以进一步加密一下或压缩一下
把文件以二进制写入到图形文件里
        SF.Read(srcFileByte,0,(int)SF.Length);
把文件以二进制写入到图形文件里        DBF.Write(srcBmpByte,
0,srcBmpByte.Length);
把文件以二进制写入到图形文件里        DBF.Write(System.Text.Encoding.Default.GetBytes(
"abcdefg"),0,System.Text.Encoding.Default.GetBytes("abcdefg").Length);
把文件以二进制写入到图形文件里        DBF.Write(srcFileByte,
0,srcFileByte.Length);
把文件以二进制写入到图形文件里        
把文件以二进制写入到图形文件里        
return true;
{
把文件以二进制写入到图形文件里        
return false;
{
把文件以二进制写入到图形文件里        
if(SBF!=null)
把文件以二进制写入到图形文件里          SBF.Close();
把文件以二进制写入到图形文件里        
if(SF!=null)
把文件以二进制写入到图形文件里          SF.Close();
把文件以二进制写入到图形文件里        
if(DBF!=null)
把文件以二进制写入到图形文件里          DBF.Close();
把文件以二进制写入到图形文件里      }
      
把文件以二进制写入到图形文件里    }


代码就和上面所说的一样
1、读bmp数据
2、读文件数据
3、创建新bmp文件
4、写bmp数据
5、写特征字符串
6、写文件数据
7、完毕。

下面是拆开文件的代码:
{
把文件以二进制写入到图形文件里      System.IO.FileStream SBF = null;
把文件以二进制写入到图形文件里      System.IO.FileStream DF 
= null;
把文件以二进制写入到图形文件里      
byte[] srcBmpByte;
{
把文件以二进制写入到图形文件里        SBF 
= new System.IO.FileStream(srcBmpFile,System.IO.FileMode.Open,System.IO.FileAccess.Read);
把文件以二进制写入到图形文件里        DF 
= new System.IO.FileStream(destFile,System.IO.FileMode.CreateNew,System.IO.FileAccess.Write);
把文件以二进制写入到图形文件里        
把文件以二进制写入到图形文件里        srcBmpByte 
= new byte[SBF.Length];
把文件以二进制写入到图形文件里        SBF.Read(srcBmpByte,
0,(int)SBF.Length);
把文件以二进制写入到图形文件里
把文件以二进制写入到图形文件里        
string f = "";
把文件以二进制写入到图形文件里        
int offset = 0;
把文件以二进制写入到图形文件里
{
把文件以二进制写入到图形文件里          f 
= "";
{
把文件以二进制写入到图形文件里            f
+=(char)srcBmpByte[j];
把文件以二进制写入到图形文件里          }

{
把文件以二进制写入到图形文件里            offset 
= i+7;
把文件以二进制写入到图形文件里            
break;
把文件以二进制写入到图形文件里          }

把文件以二进制写入到图形文件里        }

{
把文件以二进制写入到图形文件里          f 
="";
{
把文件以二进制写入到图形文件里            f
+=(char)srcBmpByte[i];
把文件以二进制写入到图形文件里          }

{
把文件以二进制写入到图形文件里            offset 
= srcBmpByte.Length-7;
{
把文件以二进制写入到图形文件里            MessageBox.Show(
"该文件未被加入数据!");
把文件以二进制写入到图形文件里            
return false;
把文件以二进制写入到图形文件里          }

把文件以二进制写入到图形文件里        }

把文件以二进制写入到图形文件里
把文件以二进制写入到图形文件里        DF.Write(srcBmpByte,offset,srcBmpByte.Length
-offset);
把文件以二进制写入到图形文件里        
return true;
{
把文件以二进制写入到图形文件里        
return false;
{
把文件以二进制写入到图形文件里        
if(SBF!=null)SBF.Close();
把文件以二进制写入到图形文件里        
if(DF!=null)DF.Close();
把文件以二进制写入到图形文件里      }

把文件以二进制写入到图形文件里    }

过程是
1、读bmp文件
2、建立新文件
3、查找特征字符串
4、写新文件(特征字符串偏移位置+特征字符串长度)
5、完成。


是不是很简单呢?工程源码下载

 

出处:http://www.cnblogs.com/Chinasf/archive/2005/04/28/146740.html

今天到csdn有朋友短信问我如何写文件到图象内,反正是学习C#,就又写了一个这样的小工具

比如说公司不能携带源代码;可以带图片;要做的就是把源码用rar打个包,然后找个bmp文件,打开它,在尾部增加几个特征字符串,再把rar的数据增加上去,ok了。带出去后,打开bmp文件,找到特征字符串,把尾部记录复制出来,保存到一个新文件内;
该方法同样可以用于EXE文件.


为了简便操作,用C#编写了一个工具软件,以下是部分代码,(本人菜鸟臭作、高手勿笑):


{
把文件以二进制写入到图形文件里      //加入到文件尾部
把文件以二进制写入到图形文件里
      System.IO.FileStream SBF= null
把文件以二进制写入到图形文件里      System.IO.FileStream SF
= null
把文件以二进制写入到图形文件里      System.IO.FileStream DBF
= null;
把文件以二进制写入到图形文件里      
byte[] srcBmpByte;
把文件以二进制写入到图形文件里      
byte[] srcFileByte;
{
把文件以二进制写入到图形文件里        SBF 
= new System.IO.FileStream(srcBmpFile,System.IO.FileMode.Open, System.IO.FileAccess.Read);
把文件以二进制写入到图形文件里        SF 
= new System.IO.FileStream(srcFile,System.IO.FileMode.Open, System.IO.FileAccess.Read);
把文件以二进制写入到图形文件里        DBF 
= new System.IO.FileStream(destBmpFile,System.IO.FileMode.CreateNew, System.IO.FileAccess.Write);
把文件以二进制写入到图形文件里        
把文件以二进制写入到图形文件里        srcBmpByte 
= new byte[SBF.Length];
把文件以二进制写入到图形文件里        SBF.Read(srcBmpByte,
0,(int)SBF.Length);
把文件以二进制写入到图形文件里        srcFileByte 
= new byte[SF.Length];//取得该数据可以进一步加密一下或压缩一下
把文件以二进制写入到图形文件里
        SF.Read(srcFileByte,0,(int)SF.Length);
把文件以二进制写入到图形文件里        DBF.Write(srcBmpByte,
0,srcBmpByte.Length);
把文件以二进制写入到图形文件里        DBF.Write(System.Text.Encoding.Default.GetBytes(
"abcdefg"),0,System.Text.Encoding.Default.GetBytes("abcdefg").Length);
把文件以二进制写入到图形文件里        DBF.Write(srcFileByte,
0,srcFileByte.Length);
把文件以二进制写入到图形文件里        
把文件以二进制写入到图形文件里        
return true;
{
把文件以二进制写入到图形文件里        
return false;
{
把文件以二进制写入到图形文件里        
if(SBF!=null)
把文件以二进制写入到图形文件里          SBF.Close();
把文件以二进制写入到图形文件里        
if(SF!=null)
把文件以二进制写入到图形文件里          SF.Close();
把文件以二进制写入到图形文件里        
if(DBF!=null)
把文件以二进制写入到图形文件里          DBF.Close();
把文件以二进制写入到图形文件里      }
      
把文件以二进制写入到图形文件里    }


代码就和上面所说的一样
1、读bmp数据
2、读文件数据
3、创建新bmp文件
4、写bmp数据
5、写特征字符串
6、写文件数据
7、完毕。

下面是拆开文件的代码:
{
把文件以二进制写入到图形文件里      System.IO.FileStream SBF = null;
把文件以二进制写入到图形文件里      System.IO.FileStream DF 
= null;
把文件以二进制写入到图形文件里      
byte[] srcBmpByte;
{
把文件以二进制写入到图形文件里        SBF 
= new System.IO.FileStream(srcBmpFile,System.IO.FileMode.Open,System.IO.FileAccess.Read);
把文件以二进制写入到图形文件里        DF 
= new System.IO.FileStream(destFile,System.IO.FileMode.CreateNew,System.IO.FileAccess.Write);
把文件以二进制写入到图形文件里        
把文件以二进制写入到图形文件里        srcBmpByte 
= new byte[SBF.Length];
把文件以二进制写入到图形文件里        SBF.Read(srcBmpByte,
0,(int)SBF.Length);
把文件以二进制写入到图形文件里
把文件以二进制写入到图形文件里        
string f = "";
把文件以二进制写入到图形文件里        
int offset = 0;
把文件以二进制写入到图形文件里
{
把文件以二进制写入到图形文件里          f 
= "";
{
把文件以二进制写入到图形文件里            f
+=(char)srcBmpByte[j];
把文件以二进制写入到图形文件里          }

{
把文件以二进制写入到图形文件里            offset 
= i+7;
把文件以二进制写入到图形文件里            
break;
把文件以二进制写入到图形文件里          }

把文件以二进制写入到图形文件里        }

{
把文件以二进制写入到图形文件里          f 
="";
{
把文件以二进制写入到图形文件里            f
+=(char)srcBmpByte[i];
把文件以二进制写入到图形文件里          }

{
把文件以二进制写入到图形文件里            offset 
= srcBmpByte.Length-7;
{
把文件以二进制写入到图形文件里            MessageBox.Show(
"该文件未被加入数据!");
把文件以二进制写入到图形文件里            
return false;
把文件以二进制写入到图形文件里          }

把文件以二进制写入到图形文件里        }

把文件以二进制写入到图形文件里
把文件以二进制写入到图形文件里        DF.Write(srcBmpByte,offset,srcBmpByte.Length
-offset);
把文件以二进制写入到图形文件里        
return true;
{
把文件以二进制写入到图形文件里        
return false;
{
把文件以二进制写入到图形文件里        
if(SBF!=null)SBF.Close();
把文件以二进制写入到图形文件里        
if(DF!=null)DF.Close();
把文件以二进制写入到图形文件里      }

把文件以二进制写入到图形文件里    }

过程是
1、读bmp文件
2、建立新文件
3、查找特征字符串
4、写新文件(特征字符串偏移位置+特征字符串长度)
5、完成。


是不是很简单呢?工程源码下载

相关文章:

  • 2021-12-11
  • 2021-12-03
  • 2021-07-16
  • 2021-12-01
  • 2022-02-04
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
猜你喜欢
  • 2021-10-03
  • 2021-09-30
  • 2021-07-31
  • 2022-12-23
  • 2022-01-07
  • 2022-01-16
  • 2022-12-23
相关资源
相似解决方案