Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 如何在不支持上传文件的论坛上传文件
【标  题】:如何在不支持上传文件的论坛上传文件
【关键字】:
【来  源】:http://blog.csdn.net/happycock/archive/2006/04/03/649759.aspx

如何在不支持上传文件的论坛上传文件

Your Ad Here

如何在不支持上传文件的论坛上传文件

要达成这个目标,有个前提条件是这个论坛要能上传图片。常用的图片格式一般为JPEG,这种格式是以FFD9作为文件结束标志的,至于这之后存了什么,就不管了,因此我们可以把我们要上传的文件附加在这后面,同时也不影响这张图片的显示。BMP格式也是可以这样的,因为这种格式里有一个位置是保存文件大小的,在确定的大小后面是什么也不管。推广之,所有带文件结束标志或者相当于有文件结束标志(如BMP格式)的文件后面附加数据都不影响原来文件的使用。

基于以上原理,我制作了一个打包工具,只要先把图片标示打进去,然后把想上传的文件打进去,把这张加料的图片上传就可以了。其他人下载这张图片,再用这个工具把文件取出来。

做这个工具只是为了上传一些小文件,希望大家不要滥用。其实这个工具也可以用来把文件打包,还可以用来传递隐藏消息,比如你可以把情书打在自己的照片里送给XX,不过估计XX看到的时候,不知道是猴年马月了。

为了从下边的图片中取出这个工具,希望大家能读懂下面的代码,当然直接复制也是能运行的,记得要把图片复制到编译后的可执行文件所在的目录里,名字也要正确。

#include "windows.h"

#include "TChar.h"

 

const DWORD size = 23940;

const DWORD startPos = 3235;

 

int main()

{

       HANDLE hrFile = CreateFile(_T("lookinside.jpg"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

       HANDLE hwFile = CreateFile(_T("PackFiles.rar"), GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

       SetFilePointer(hrFile, startPos, NULL, FILE_BEGIN);

       SetEndOfFile(hwFile);

       char buf[size];

       DWORD rb, wb;

       ReadFile(hrFile, buf, size, &rb, NULL);

       WriteFile(hwFile, buf, size, &wb, NULL);

       CloseHandle(hrFile);

       CloseHandle(hwFile);

       return 0;

}

设计模式笔记(8 CHAIN OF RESPONSIBILITY & COMMAND):【上一篇】
C语言参考手册(1):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • C#操作数据仓库
  • WINNT下隐藏木马的进程 DLL木马篇
  • 访问者模式实战:构建通用的数据库插入操作
  • [转]关于父亲的故事
  • 如何学习solaris
  • Fireworks打造MAC水晶球特效
  • 如何用asp进行base64加密
  • 关于DataGridView中如何接收处于编辑状态下的当前信息
  • 取昨天的时间
  • 不同的sql写法提高hibernate性能,避免hibernate的BUG
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.