软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
隐藏的密文

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

隐藏的密文


听说有一种软件,可以将一定的密文隐藏在图形文件中,我没有用过,不过这个想法很好,嗯……我的意思是正好作为我的练习。
于是我打开winhex,试了各种不同后缀的图形文件,发现很少有油水可以榨取:jpg和gif还说得过去,本来就是压缩过的嘛,那个bmp(dib)简直是财迷到了极点,根本没有什么地方可用。最后呢,还是发现.pcx有些地方可用,经过我一番捣鼓(说起来简单,实际耗了我好几个小时。啊?为什么是几个小时?因为我笨啊!这个都不知道。),发现文件尾有2d0h个字节可用。不要小看这七百多个字节,如果是情书,全写上肉麻的话足可以当杀伤性武器用了。不过为了避免惨剧的发生,最好还是把这类东西藏起来,藏哪儿呢?.pcx中!看我的代码:

#include<stdio.h>
class MessageInPcx
{
protected:
FILE *in, *out;
FILE *input;
long filesize(FILE *stream)
{
long curpos, length;
curpos = ftell(stream);
fseek(stream, 0L, SEEK_END);
length = ftell(stream);
fseek(stream, curpos, SEEK_SET);
return length;
}
void DoTheJob(char filename[12])
{
if((input = fopen(filename, "rb"))==NULL)
return;
for(int i=0; i<(filesize(in)-715); i++)
putc(getc(in), out);
for(i=0; i<715; i++)
{
if(!feof(input))
putc(getc(input), out);
else
putc('\0', out);
}
fcloseall();
}
public:
MessageInPcx()
{
out = fopen("out.pcx", "wb");
}
void setpcx(char filename[12])
{
in = fopen(filename, "rb");
}
void operator <<= (char filename[12])
{
DoTheJob(filename);
return;
}
};
void main()
{
MessageInPcx out;
out.setpcx("hehe.pcx");
out <<= "a.txt";
}

可以把MessageInPcx直接拿来用,编译时有一个warning,不管它!
中华技术网整理发布 http://www.asfocus.com http://www.netqu.com

 




相关文章

相关软件