首页
社区
课程
招聘
[求助]C写CGI模拟php后台验证
发表于: 2009-10-10 22:14 4102

[求助]C写CGI模拟php后台验证

2009-10-10 22:14
4102
类似此页验证(http://zjfco.gicp.net/dede)

需要实现两个功能图片创建,与cookies / session设置.

我抄了一段代码BCC5.5上编译通过,可惜运行有问题!
#include <windows.h>

int saveBmp(char *bmpName, unsigned char *imgBuf, int width, int height, int biBitCount, RGBQUAD *pColorTable)
{//如果位图数据指针为0,则没有数据传入,函数返回
        int colorTablesize,lineByte;
        FILE *fp;
        BITMAPFILEHEADER fileHead;
        BITMAPINFOHEADER head;
        if(!imgBuf)return 0;
                //颜色表大小,以字节为单位,灰度图像颜色表为1024字节,彩色图像颜色表大小为0
                colorTablesize=0;
                if(biBitCount==8)colorTablesize=1024;
                        //待存储图像数据每行字节数为4的倍数
                        lineByte=(width * biBitCount/8+3)/4*4;
                        //以二进制写的方式打开文件
                        fp=fopen(bmpName,"wb");
                        if(fp==0) return 0;
                                //申请位图文件头结构变量,填写文件头信息
                                fileHead.bfType = 0x4D42;
                                //bmp类型 //bfSize是图像文件4个组成部分之和
                                fileHead.bfSize= sizeof(BITMAPFILEHEADER)+ sizeof(BITMAPINFOHEADER)+ colorTablesize + lineByte*height;
                                fileHead.bfReserved1 = 0;
                                fileHead.bfReserved2 = 0;
                                //bfOffBits是图像文件前3个部分所需空间之和
                                fileHead.bfOffBits=54+colorTablesize;
                                //写文件头进文件
                                fwrite(&fileHead, sizeof(BITMAPFILEHEADER),1, fp);
                                //申请位图信息头结构变量,填写信息头信息
                               
                                head.biBitCount=biBitCount;
                                head.biClrImportant=0;head.biClrUsed=0;
                                head.biCompression=0;head.biHeight=height;
                                head.biPlanes=1;head.biSize=40;
                                head.biSizeImage=lineByte*height;
                                head.biWidth=width;head.biXPelsPerMeter=0;
                                head.biYPelsPerMeter=0;
                                //写位图信息头进内存
                                fwrite(&head, sizeof(BITMAPINFOHEADER),1, fp);
                                //如果灰度图像,有颜色表,写入文件
                                if(biBitCount==8)fwrite(pColorTable, sizeof(RGBQUAD),256, fp);
                                        //写位图数据进文件
                                        fwrite(imgBuf, height*lineByte, 1, fp);
                                        //关闭文件
                                        fclose(fp); return 1;
}

int main()
{
     HDC img;
     PRECT sfont;
     PBITMAPINFO bmpinfo;
     RGBQUAD *pColorTable;

sfont->left=0;
sfont->top=0;
sfont->right=50;
sfont->bottom=20;
CreateDIBSection(img,bmpinfo,DIB_RGB_COLORS,0,0,0);
Rectangle(img,0,0,50,20);
DrawTextA(img,"AFHK",1,sfont,DT_LEFT);
//saveBmp("test.bmp",img,50,20,8,pColorTable);
printf("Content-type: image/bmp\n\n");
printf(&img);
DeleteObject(img);
return 1;
}


希望各位大侠帮忙,小弟感激不尽.
俺妈说过求人都要给别人好处,这样下次别人才会再帮你:
小弟给100元话费奖励(直接冲手机).以回复帖,或附源码地址为准喔.然后选一个好的.
最好Q跟我说一下.谢谢谢谢.
电话13859085455
或给我QQ339654816

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 161
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PFC
2
问题已解决.结贴了.
2009-10-10 22:59
0
游客
登录 | 注册 方可回帖
返回
//