xrn,这里的rn是gzip长度的结尾;
3 .下一位置是gzip分组的开头位置
那么,到现在为止,已经找到了gzip开始位置和gzip数据包长度。 全都说哦~
粘贴将ascll代码转换为十进制intchrtodec(charchr ) {int value=0的功能函数; //首先将所有小写字母转换为大写if () chr='z ' ) (chr='z ' ) ) chr=chr-32; //将字符转换为适当的数字if () chr='9' ) () chr='9' ) ) value=chr-48; ELSEif () chr='Z ' ) chr='Z ' ) ) value=chr-65 10; 返回值; (三、gzip解冻
1 .方式一、将gzip数据写入文件,在命令行解压缩此文件,虽说可以成功,但由于是笨拙的讨价还价,所以不推荐。
2 .方式2、调用zlib库,解压缩到内存中。 这段代码不是我写的,是从一个网友那里复制过来的。 很容易使用。 (有关详细信息,请参阅本文末尾的几个链接。)
/* Gzip uncompress*//*注意: gzip和zip解压缩差不多,但是他们头部的数据大小不同,必须注意。 inflateinit2(d_stream,47 (*/intvidpeek _ uncompress GS unsigned int srcsize,char**pOutDest,unsigned int * pout bufff char*pbuf=psrc(srcsize-1 ); unsigned int len=*pBuf; int uncompressResult; z_stream d_stream; int i=0; printf (# # # # # # # # # psrc0x % x0x % x0x % x ',pSrc[0],pSrc[1],pSrc[2],pSrc[3]; //check gz file,RFC1952p6if () psrc!=0x1f(|(* ) psrc1 )!=0x8b ) (printf ((nuncompressgzipnongzip (n ) ); 返回错误; (for ) I=0; i 3; I ) ) pbuf----; len=8; len =*pBuf; //fortestif((len==0)len1000000 ) ) printf ) (nuncompressgzip,error gzip! n '; 返回错误; }//gzip描述启动! d_stream.zalloc=Z_NULL; d_stream.zfree=Z_NULL; d_stream.opaque=Z_NULL; d_stream.next_in=Z_NULL; d_stream.avail_in=0; uncompress result=inflate init2(d _ stream,47 ); 未完成结果!=Z_OK () printf ((ninflateinit 2错误: % d (n ),uncompressResult ); 返回未完成结果; } d_stream.next_in=pSrc; d_stream.avail_in=srcSize; d_stream.next_out=(char * ) *pOutDest; d_stream.avail_out=len; uncompress result=inflate (d _ stream,Z_NO_FLUSH ); 交换机(uncompress result ) casez _ need _ dict : uncompress result=z _ data _ error; casez _ data _ error : casez _ mem _ error 3360 (void ) inflateend(d_stream ); 返回未完成结果; (/printf )、outlen=%d、total_in=%d、total _ out=% d @ @ @ @ @ @ @ (n )、avail _ out=% d *pOutBufSize=len-2; 返回ret; (四、解析解冻成功的数据
根据成功解压缩的数据,找到目标字段,例如' p': '。 请注意,在c语言的双引号前加上“”。
结果:成功找到gzip的app帐户字段!
参考链接
3359 blog.csdn.net/fcryuuhou/article/details/12951279
https://blog.csdn.net/犹豫不决的旅行者/article/details/7728520
http://www.openedv.com/forum.php? mod=viewthreadtid=231109
是的,逃跑了~~~
有缘看到的盆友,期待您的意见。
谢谢你! 大家一起技术进步哦~