社区
其它技术问题
帖子详情
谁了解pdf FlateDecode 解压缩算法?
clsstudy
2011-03-29 03:46:18
<</Filter/FlateDecode/Length 2574/N 3>>stream
这里的东西,怎么解码出来?
endstream
万分感谢。
...全文
2370
5
打赏
收藏
谁了解pdf FlateDecode 解压缩算法?
<>stream 这里的东西,怎么解码出来? endstream 万分感谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luciferisnotsatan
2011-04-04
打赏
举报
回复
没研究过
pathuang68
2011-04-04
打赏
举报
回复
[Quote=引用 3 楼 antiwindows 的回复:]
哥们也在搞pdf啊。
pdf的FlateDecode算法就是zip的压缩算法,可以用zlib库提供的函数解压缩。
将stream和endstream之间的内容传给zlib(可能需要处理回车换行符),他就会给你解出原始的内容,不过解出的内容含有pdf的格式你得自己再提取一下。
http://www.pdfhome.com.cn/Article.aspx?CID=bf51a5b6-78a5-4……
[/Quote]
嗯,用ziplib可以搞定
antiwindows
2011-04-04
打赏
举报
回复
1
哥们也在搞pdf啊。
pdf的FlateDecode算法就是zip的压缩算法,可以用zlib库提供的函数解压缩。
将stream和endstream之间的内容传给zlib(可能需要处理回车换行符),他就会给你解出原始的内容,不过解出的内容含有pdf的格式你得自己再提取一下。
http://www.pdfhome.com.cn/Article.aspx?CID=bf51a5b6-78a5-4fa3-9310-16e04aee8c78&AID=45fe599c-a03e-422c-881c-0f0795d58ec1
这里讲了完整的过程,还有代码,看了你肯定会明白的。
我最近也在搞这个,英文没问题,就是中文乱码不知道怎么处理,哎,如果哥们解决了也可以帮帮我啊。
我也提问了http://topic.csdn.net/u/20110330/10/4adfb08e-9746-47f8-9d57-ab159c896346.html?37661
呵呵
clsstudy
2011-03-29
打赏
举报
回复
[Quote=引用 1 楼 gufeijunchi 的回复:]
没看懂,建议把前面的也写一点出来
[/Quote]
stream ...endstream中间的解析。
8 0 obj
<</Filter/FlateDecode/Length 202>>stream
H?庉j傽勶蟂?t=??Hh玾%劙l嫚鵔泳~V+ f?s窠謹?#帙0?e锉?>?鷨瞞Z?i㎞夲涇:櫾?桳〈专;鶽3砯轝fk
煝馣曑?煫釾镨mA(+皃饰阥魼U垍?鰻?剁冰嶅到鯩蔷
飰o"損?濈襤?BG觡?稲b?-U鬉O
endstream
endobj
孤飞俊驰
2011-03-29
打赏
举报
回复
没看懂,建议把前面的也写一点出来
STM32(或其它国产单片机)移植Zlib进行数据压缩功能
Zlib主要用在上位机,因为无论是Windows、Linux、MAC都有足够的内存,单片机RAM非常小,源码中MAX_WBITS默认是15,需要两个32k才能正常工作,compress2也只能实现一次数据传入压缩。都不适合单片机使用。我在移植时将MAX_WBITS改为8,压缩等级改为了3,借鉴网友的代码重写了de
flate
_compress,移植了正点原子的malloc,已经实现了数据压缩。移植到国产单片机平台,再借鉴libharu了实现了
PDF
的
Flate
Decode
。通过
PDF
StreamDumper分析,压缩率达到10倍以上。要做加密的话,压缩后数据传入加密函数就可,注意传入数据的长度。
恶意
PDF
文件解析思路1
如下面的情况:关键字这里就考虑一般的恶意
PDF
文件,主要是对以下关键字段(个人认为和漏洞不牵扯关系的就不考虑了)进行查找和解析,如下面所示:解析思路这里要说
zlib解压 被压缩的
PDF
(关键字
Flate
Decode
)
PDF
被压缩了,但从网上看这个压缩
算法
就是zlib的压缩
算法
,下面的乱码就是压缩导致的乱码,现在需要把这些乱码复原 %
PDF
-1.7 %溷弦 4 0 obj <</Length 3 0 R/Filter/
Flate
Decode
>> stream x渆QMK聾}&跉MIb郦Q鰳娵R刍??焱zR< ?|3狣B6?颿f?滕,鞃?珈毵辊纡拶迨鷚#Ef? B?]蔑...
PDF
格式分析(三)语法之Filter
在
PDF
中,为了让文件变的更小,通常的做法是,将stream对象进行压缩,因为stream对象的数据块比较大,所以,是重点关注的地方。 从
PDF
1.5开始往后的版本,支持了Object stream,可以把多个对象(非stream对象)放到同一个stream对象中,并进行压缩,达到减少文件大小的效果。 Filter大部分的类型是压缩,当然有一个是特殊的类型”Crypt“,这个类型是对该stre...
PDF
解析问题
PDF
解析问题 964 0 obj <</Filter/
Flate
Decode
/I 11686/L 11670/Length 5809/S 11360>>stream … endstream endobj 其中I,L和S怎么解析,只做
Flate
Decode
解压缩
不能得到结果,还是乱码? ...
其它技术问题
3,882
社区成员
9,046
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章