现在可以确定增量压缩的类型了
来源:互联网 发布:微信服务号域名 编辑:程序博客网 时间:2024/04/29 12:07
现在可以确定增量压缩的类型了
这两天,闲羊无事,把系统的 wcp.dll 反编译一下,终于搞清楚了增量压缩的种类了,也证明了以前的判断基本上是正确的。
说是出错,可能不准确,实量就是非增量压缩的类型。
win8.1 的代码:
__int64 __fastcall 判断DC前4位(__int64 a1){ signed int v1; // edx@1 __int64 v2; // rax@2 v1 = 0; if ( *(_QWORD *)a1 >= 4ui64 ) { v2 = *(_QWORD *)(a1 + 16); if ( *(_BYTE *)v2 == 68 && *(_BYTE *)(v2 + 1) == 67 && *(_BYTE *)(v2 + 3) == 1 ) { switch ( *(_BYTE *)(v2 + 2) ) { case 0x44: v1 = 1; break; case 0x48: v1 = 3; break; case 0x4D: v1 = 4; break; case 0x4E: v1 = 2; break; } } } return (unsigned int)v1;}
Win10 的代码:
__int64 __fastcall Windows::WCP::Rtl::GetCompressedFileType(Windows::WCP::Rtl *this, const struct _LBLOB *a2){ signed int v2; // ebx@1 __int64 v3; // rax@2 v2 = 0; if ( *(_QWORD *)this < 4ui64 || (v3 = *((_QWORD *)this + 2), *(_BYTE *)v3 != 68) || *(_BYTE *)(v3 + 1) != 67 || *(_BYTE *)(v3 + 3) != 1 ) { if ( (unsigned __int8)sub_180203180((__int64)this) ) v2 = 8; } else { switch ( *(_BYTE *)(v3 + 2) ) { case 0x44: //D v2 = 1; break; case 0x48: //H v2 = 3; break; case 0x4D: //M v2 = 4; break; case 0x4E: //N v2 = 2; break; case 0x53: //S v2 = 5; break; case 0x58: //X v2 = 6; break; } } return (unsigned int)v2;}
0 0
- 现在可以确定增量压缩的类型了
- 现在可以使用LED的驱动了
- 终于找到一点有关增量压缩的门了
- 现在可以看清了吗?
- win 10 的增量压缩
- 工作日志:这几天在找图形界面的解决方法,现在基本上确定了,准备编写图形界面代码了
- 写了一个增量式的爬虫,但是并不完美,希望大牛们可以指正指正!
- 现在可以安全地关闭计算机了
- windows7现在可以兼容VC6.0了
- 现在可以写博客了吧
- 现在可以支持文件事务了
- outlook现在可以接收msn邮件了
- 现在广告都可以收藏了
- ubuntu现在可以升级到10.10了
- PDF的显示有了头绪了。现在可以把PDF转化成BMP了。支持中文
- 信号压缩:增量压缩
- 现在中国的学生也可以免费使用微软公司的开发软件了:DreamSpark计划
- 本来WOW可以不用加入防沉迷的,现在看来不可能了
- 软件工程线上课程(C语言实践篇)学习心得总结
- 2013 ACM/ICPC Asia Regional Changsha Online Contest C
- 本机win7, 虚拟机ubuntu文件共享debug
- IDR帧
- android开发之wheel控件使用详解
- 现在可以确定增量压缩的类型了
- vc6.0工程升级到vs2013multibyte字符集加_T()宏快捷方法
- 面向对象编程的思考
- getParameter和getAttribute的区别是什么?
- 日经春秋 20151114
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- hdu 4791 Alice's Print Service(贪心)
- CodeForces 111B - Petya and Divisors
- shell中的tee命令的使用