1.EBML (Extensible Binary Meta Language):
EBML语言使用不定长整数,这种方式相对于固定长度的32位/64位字长的整数值更节约空间.放置的位置也不受字节对齐约束..这种长度编码方式来自于UTF-8编码规范.
不定长度的无符号整数值(“vint”):
长度的计算方法:
长度 = 1 + 整数前缀0比特的个数.
使用大字节编码方式.
可以使用大于>=8字节的整数值,这时它的第一个字节的值将会是0x00,用来表达长度超过56位的整数值.但它是被MATROSKAY文件禁止的.
举个例子:
43 85 03: 将它换算成二进制如下:01000011 10000101 00000011,前缀0比特的个数为1,总长度为:1 + 1 = 2,所包括的字节为:01000011 10000101,最 前值为1的比特用作中止前缀0比特.它不能被用来计算整数的结果,那么最终的整数值等于:03 85(901).这样看来,1个字节表示长度最多可以有7个前缀0比特,它也是MATROSKA文件所支持的整数最长长度.使数据所占的空间减小,这是EBML文件最大亮点.
长度未知整数值:
如果除了前缀0之外的比特位全部都是1的话,表示此整数的长度未知.MASTROSKA文件中除了文件头最后一个元素之外,都不要这样写.如果有的整数正好是这样的形式,要对它重编码,如:16383 = 7F FF,要把它编码成: 20 3F FF,虽然整数的长度不可避免的增加了.
EBML元素:
存储方式如下:
typedef struct {
vint ID; //Element ID
vint size; //Element size
char Data[size] //Element Data
} Ebml_Element;
包含其它元素的元素被称做:EBML Master Elements.子元素的排列顺序是任意的,但最好还是.有一种确定的定义.
有符号整数的表示方法:
大字节序,根据其值的正负符号来减去00或FF来得到具体的数值,如-257 = FE FF, FE FF – FFFF=257.
实数表示方法:
大字节序,可以使用32或64比特来表示IEEE标准定义的浮点数,虽然标准包括了80比特的浮点数,但MATROSKA不使用.
字符串类型:
String类型用ASCII编码方式.UTF-8类型用UTF-8编码方式.
2.MATROSKA 文件项级元素:
只有两种顶级元素:
1. EBML Header:
用来描述文件中的内容,一个文件只能有一个EBML Header,更多的将被读取它的程序忽略掉.有的MKV生成器在添加多个文件时可能会出现这种情况.
2. Segment
包括了多媒体数据和回放时所需要的信息头.一个文件可以包括多个信息头,但很多的库不支持多个Segment,Windows平台下可以用Haali Media Splitter来支 持多Segment.
3. EBML文件头:
描述了EBML编解码器的版本号,文件类型,文件名.
元素列表:
Uint EBMLVersion ID:42 86 默认值:1 EBML编码器版本号.
Uint EBMLReadVersion ID:42 F7 默认值:1 EBML解析器版本号
Uint EBMLMaxIDLength ID:42 F2 默认值:4 EBML 元素ID号的最长长度(多少字节),在MATROSKA文件中最长为4字节.
Uint EBMLMAXSizeLength ID:42 F3 默认值:8 EBML元素最长长度(多少字节).
Uint DocTypes ID: 42 82 默认值:matroska EBML文件中的内容类型,MATROSKA文件为”matroska”.
Uint DocTypeVersion ID:42 87 默认值:1 EBML文件包含数据的编码器版本号.
Uint DocTypeReadVersion ID:42 85 默认值:1 EBML文件包含数据的解析器版本号.
由于所有的元素都包括的默认值,所以可以使用空EBML文件头.
最好不要使ID和元素最大长度超过8字节,对于几乎所有数据来说,它已经足够了,同时对于当前流行的32/65位字长的计算机来说,它将使一次整数运算生成多条指令.
4. Segment
Master SegmentInfo ID:15 49 A9 66 包括了SEGMENT元素的信息,如UID,标题等.
Master SeekHead ID:11 4D 9B 74 指向SEGMENT子素的索引信息,可以指向其它的SeekHead,如果Cluster元素中的BlockGroup和SimpleBlock子元素在其尾部,那么可以不用SeekHead,不然的话,文件的帧数据地址定位将很复杂。
Master Cluster ID:1F 42 B6 75 包括了视频,音频,字幕数据。因为MATROSKA文件提供了Charpter和Attachment子元素来表示其它的数据内容,所以可以没有Cluster元素。
Master Tracks ID:16 54 AE 6B 描述了包含在Cluster中的数据轨道信息,可以在文件生成多个备份。如果没有Cluster元素,Tracks元素也可以不存在。
Master Cues ID:1C 53 BB 6B 包含了Cluster数据帧的时间戳,用来支持即时定位。
Master Attachment ID:19 41 A4 69 包含了所有附加在此Segment元素中的文件。
Master Chapter ID:10 43 A7 70 包含了此Segment中所有文本支持信息。
Master Tag ID:12 65 C3 67 包含此Segmen或其子元素的其它附加信息,如作者名,多语言支持等,和回放无关。
Segment包含元素:
SegmentInfo包含元素:
Char[16] SegmentUID ID:73 A4 表示Segment的128位ID号,可以被其它的文件引用。
Utf-8 SegmentFilename ID: 73 84 保存此Segment的文件名,但文件名是很容易被改动的,所以没有较高的可靠性。
Char[16] PrevUID ID:3C B9 23 指向前一个Segment的128位的ID号,用在定位此Segment之前的时间点,利用它可以方便的找出同目录下的相应文件。
Utf-8 PrevFileName ID:3C 83 AB 包含前一个Segment的文件的名称,如果找不到,可以通过遍历文件中的SegmentUID查找。
Char[16] NextUID ID:3E B9 23 指向后一个Segment的128位ID号,用于定位超出此Segment范围的时间点。
Utf-8 NextFileName ID:3E 8E BB 包含后一个Segment的文件的名称。
Uint TimecodeScale ID:2A D7 B1 每个时间码都通过和此值相乘来得到具体时间(微秒单位),但不是 所有的时间码都这样。
Float Duration ID:44 89 此Segment的总回放时间,将其乘以TimecodeScale来得出具体时间(微秒单位)。
Uft-8 Title ID:7B A9 此Segment的名称,如”Lord of the rings”不可以指 定时间,可以用Tag元素来加入多个标题。
String MuxingApp ID:4D 80 生成此文件的库名称,如”libMatroska-0.7.0”,在发生问题时可以参考。
Utf-8 WritingApp ID:57 41 生成此文件的程序名称,如”mkvmerge 0.8.1”。
Int DateUTC ID:44 62 生成此文件的时间,从2001.01.01 0:00:00 GMT+0h开始计算。
SeekHead包含元素:
SeekHead包含了Segment的子元素的位置列表,每对位置,ID号对应着一个Seek元素:
Master Seek ID:4D BB 包含了一个Segment的子元素的ID号和它的具体位置。
Seek包含元素:
Uint SeekID ID:53 AB 某Segment的子元素的ID号。
Uint SeekPosition ID:53 AC 对应SeekID的元素的位置(相对于Segment数据首地址)。
SeekHead元素通常包含了全部的Segment的子元素,但有时Cluster元素是个例外。也可以引用另一个SeekHead,比如文件开始有一个小的SeekHead,它引用了另一个在文件尾的SeekHead。
Tracks包含元素:
包含了存储在Segment元素中轨道的信息,比如轨道类型(音频,视频,字幕),编码器ID,采样率。最好将所有的轨道信息包含在一个Tracks元素中。
每个轨道用一个TrackEntry元素来表示。虽然理论也可以使用TrackUID将轨道信息放在多个TrackEntry中。
有时会出现空TrackEntry元素,但如果所有的轨道都存储在一起或根本就没有轨道(如只有Chapter元素)将不会发生文件解析错误。
Master TrackEntry ID:4E 描述一个在Segment元素中的轨道。
TrackEntry包含元素:
Uint TrackNumber ID:D7 轨道的序列号,不可以为0,将被Cluster的子元素Block和SimpleBlock使用。
Uint TrackUID ID:73 C5 轨道的ID号,不可以为0。
Uint TrackType ID:83 轨道的类型,如视频,音频,字幕。
Bool FlagEnabled ID:89 默认值:1 是否使用此轨道。
Bool FlagDefault ID:88 默认值:1 是否默认播放,如果没有此值为1轨道,将由播放器选择。
Bool FlagForced ID:55 AA 是否必须播放,如果多个字幕轨道都包括此属性,那么将选择和音 频语言相同的轨道,只会被数位限制管理(DRM)使用。
Bool FlagLacing ID:9C 默认值:1 是否包括了捆绑数据块(表示在一个数据块中包含多帧 lacing block)。
Uint MinCache ID:6D E7 默认值:0 在播放时必须提供多少帧的缓存区,比如当MPEG4帧以其编码顺序来播放时使用。
Uint MaxCache ID:6D F8 在播放时最大可以提供多少帧缓存区,如果等于0,表示不使用缓存。
Uint DefaultDuration ID:23 E3 83 表示一帧持续了多少微秒。当没有Duration元素或使用捆绑(lacing)方式时将使用此值。如果值为0表示此轨道的帧的持续时间不定。(如Vorbis 音频)。使用此值将使文件的定位非常容易。
Float TrackTimecodeScale ID:23 31 4F Block元素的时间码+Cluster时间码乘以此值得到Block的具体时间。
Utf-8 Name ID:53 6E 轨道的名称,不可指定语言。
String Language ID:22 B5 9C 默认值:eng 轨道使用的语言,和Name所用语言无关。
String CodecID ID:86 默认值:86 轨道使用的编码类型ID。
Binary CodecPrivate ID:63 A2 解压时所需要的数据。如Vorbis编码的初始化数据包。
Utf-8 CodecName ID:25 86 88 编码类型名称。
Uint AttachmentLink ID:74 46 附加在此轨道上的Attchment元素UID。
Master Video ID:E0 视频轨道视频相关信息。
Master Audio ID:E1 音频轨道音频相关信息。
Master ContextEncodings ID:6D 80 轨道的压缩或加密信息。
注意Video和Audio元素与轨道的数据的匹配,否则文件将不能回放。
Video包含元素:
Uint PixelWidth ID:B0 视频帧的宽度(像素单位)。
Uint PixelHeight ID:BA 视频帧的高度(像素单位)。
Uint PixelCropBottom ID:54 AA 默认值:0 从视频帧底部裁减多少像素。
Uint PixelCrop ID:54 BB 默认值:0 从视频帧顶部裁减多少像素。
Uint PixelCropLeft ID:54 CC 默认值:0 从视频帧左侧裁减多少像素。
Uint PixelCropRight ID:54 DD 默认值:0 从视频帧右侧裁减多少像素。
Uint DisplayWidth ID:54 B0 默认值:PixelWidth 回放屏幕宽度。
Uint DisplayHeight ID:54 BA 默认值:PixelHeight 回放屏幕高度。
Uint DisplayUnit ID:54 B2 默认值:0 回放屏幕宽度和高度单位。0-像素 1-厘米2-英尺。
解码后,从Pixelxxx长度中裁减Cropxxx长度,然后拉伸至Displayxxx值回放。
Audio包含元素:
Uint SamplingFrequency ID:B5 默认值:8k 轨道采样率(单位Hz)。
Uint Output-SamplingFrequency ID:78 85 回放时使用的采样率。默认为SamplingFrequency。
Uint Channels ID:9F 默认值:1 轨道包含声道数。
Uint BitDepth ID:62 64 bps(bit per sample),通常用于PCM音频。
ContentEncodings包含元素:
Master ContentEncoding ID:62 40 描述轨道使用的压缩或加密信息。
ContentEncoding包含元素:
Uint ContentEncoding-Order ID:50 31 默认值:0 解码器的优先级,值最大的最先使用。
Uint ContentEncoding-Scope ID:50 32 默认值:1 轨道的哪一部分使用了此加密或压缩方式。
Uint ContentEncoding-Type ID:50 33 默认值:0 编码类型 0-压缩1-加密。
Master ContentCompression ID:50 34 具体压缩信息。
Master ContentEncryption ID:50 35 具体加密信息。
ContentEncoding元素有时可以达到压缩和加密兼有的效果,如压缩字幕,或将音频帧的同频头去掉。AC-3音频起始字节为:0B 77,在MATROSKA文件中它不存在。
ContentCompression包含元素:
ContentCompAlgo ID:42 54 默认值:0 描述压缩算法。
ContentCompSettings ID:42 55 压缩配置信息。
TrackType元素值种类:
0x01 视频轨道。
0x02 音频轨道。
0x03 混合音视频轨道。
0x10 标志(logo)轨道。
0x11 字幕轨道。
0x12 按钮轨道。
0x20 控制轨道。
ContentEncodingScope比特值:
1 全部帧。
2 由轨道的CodecPrivate指定。
4 用于下个ContentEncoding元素(由解码顺序指定)。
ContentCompAlgo元素值种类:
0 zlib
1 bzlib
2 lzo1x
3 header striping
Cluster包含元素:
一个Cluster元素通常包含了几秒钟的多媒体数据,子元素的顺序不固定,但最好将第一个BlockGroup或SimpleBlock元素放在最前部,这样方便找出时间码。
Uint TimeCode ID:E7 默认值:0 用来做所包含的Block的开始时间码。
Uint Position ID:A7 父元素在祖父元素的开始位置。在数据损坏时进行同步。
Uint PrevSize ID:AB 前一个Cluster的大小(字节单位)。方便反向定位和找出前面的Cluster,而不需要使用MetaSeek和Cue元素,在Cluster的ID值损坏后,定位仍可正常进行.
Master BlockGroup ID:A0 包含一个数据块及其相关信息如引用等.
Binary SimpleBlock ID:A3 只包含一个数据块,没有附加信息,所以资源浪费会小很多,SimpleBlock由Matroska V2提供.
BlockGroup包含元素:
Binary Block ID:A1 回放数据.
Int ReferenceBlock ID:FB 某帧相对于此数据块的时间码,在解码此数据块时必须已经将此帧解码.
Int BlockDuration ID:9B 此数据块的时间码,如果没有此元素,由下一数据块时间码-前一数据块时间码或DefaultDuration来计算.通常字幕是不需要知道持续时间的,除非确实需要控制它的显示时间,但最好还是写入它的Duration元素.
Cues包含元素:
Cues包含了非常有用的定位信息.信息的单元,称为CuesPoint,包含了时间戳,地址信息(Tracker号,Cluster位置,此Cluster的Block号.通常只用于定位关键帧.
Master CuePoint ID:BB Track的定位信息.
Uint CueTime ID:B3 在某Cluster的Block的时间码.
Master CueTrackPositions ID:B7 Cluster和Block的定位信息.
CueTrackPostions包含元素:
Uint CueTrack ID:F7 Track的序号,等于TrackEntry元素的TrackNumber.
Uint CueClusterPosition ID:F1 Cluster相对于Segment元素数据的相对地址.
Uint CueBlockNumber ID:53 78 Block的序号,在这个Cluster中.
Chapter包含元素:
包含了此Segment的全部文本信息.和DVD的Chapter相比,增强了很多,处理更加复杂.
Master EditionEntry ID:45 B9 描述了一个文本集,理论上可以用多个EditionPoint来描述同一文本集,但不推荐使用.
一个文本集包含了多个文本段落,可以有多个文本集.像播放列表一样使用,以一定间隔依次播放.
EditionEntry包含元素:
Uint EditionUID ID:45 BC 文本 集的ID号.
Bool EditionFlagHidden ID:45 BD 默认值:0 用户是否可以看到.
Bool EditionFlagDefault ID:45 DB 默认值:0 播放器默认设置.
Bool EditionFlagOrdered ID:45 DD 默认值:0 文本段落是否顺序播放.
Master ChapterAtom ID:B6 文本段落的定义,内部也可以包含ChapterAtom.
ChapterAtom包含元素:
Uint ChapterUID ID:73 C4 文本段落的ID号,在文件中唯一.
Uint ChapterTimeStart ID:91 文本段落的开始时间(没有比例值),不可以小于0,即使多媒体数据时间最小为-30.000.
Uint ChapterTimeEnd ID:92 文本段落的结束时间,可能是下个段落的开始.
Bool ChapterFlagHidden ID:98 默认值:0 用户是否可见.
Bool ChapterFlagEnabled ID:45 98 默认值:1 是否被播放器跳过.
Char[16] ChapterSegmentUID ID:6E 67 仅当EditionFlagOrdered=1才有这个元素,用来定位此段落对应的Segment.可以通过搜索当前目录来找到相应文件.
Uint ChapterSegment-EditionUID ID:6E BC 文本段落集在由ChapterSegmentUID指定的Segment中的UID号.ChapterTimeStart和ChapterTimeEnd指定相应的回放时间.不被Haali Media Splitter支持.
Master ChapterTracks ID:8F 文本段落应用的Track列表.
Master ChapterDisplay ID:80 所有文本段落的内容.
ChapterTracks包含子元素:
Uint ChapterTrackNumber ID:89 Track序号。
Utf-8 ChapString ID:85 文本内容。
String ChapLanguage ID:43 7C 默认值:eng 所用语言,ISO639-2标准定义。
Utf-8 ChapCountry ID:43 7E 文本内容对应的国家代码,和语言无关。
Attachments包含元素:
Master AttachedFile ID:61 A7 包含附加文件及其相应信息。
AttachedFile包含元素:
Utf-8 FileDescrition ID:48 7E 文件的描述。
Utf-8 FileName ID:46 6E 附加文件名。
String FileMimeType ID:46 60 文件的MIME类型。
Binary FileData ID:46 5C 文件数据。
Uint FileUID ID:46 AE 附加文件的UID,可以被TrackEntry引用。
Tags包含元素:
Master Tag ID:73 73 描述一个标签。
Tag包含元素:
Master Targets ID:63 C0 标签应用至的元素。
Master SimpleTag ID:67 C8 每个SimpleTag为一个对应于Targets的标签。
Targets包含元素:
Uint TargetTypeValue ID:68 CA 默认值:50 此标签应用至的对象级别。
Uft-8 TrackUID ID:63 C5 此Tag对应的Track的UID.
Uint EditionUID ID:63 C9 此Tag对应的Edition的UID.只用来给Edition加入标题.
Uint EditionUID ID:63 C4 此Tag对应的Chapter的UID.
Uint AttachmentUID ID:63 C6 此Tag对应的Attachment的UID.
SimpleTag包含元素:
Utf-8 TagName ID:45 A3 Tag的名称.
String TagLanguage ID:44 7A 默认值:und TagName元素使用的元素.默认值比较特殊是”und”.
Bool TagOriginal ID:44 84 默认值:1 是否作为原始标题.
Utf-8 TagString ID:44 87 Tag的字符串值.
Binary TagBinary ID:44 85 Tag的二进制值.
一些常用的Tags
TITLE, Target是EditionUID,用来定义Edition的名称.它可以在屏幕上看到.
BPS, Target是TrackUID,用来定义此Track的比特率.
FPS,Target是TrackUID,用来定义此Track的帧率.
作者归档:Windows Hao
奇怪的iPhone手机现象 给数据恢复留下了机会
用了苹果手机有一段时间了,大大小小的问题也发现了很多,买回来的时候系统是6.0.0,用了一段时间感觉还可以,因为第一次用苹果手机,不过没有越狱的苹果手机的确用起来不方便,比如没有来电归属地,没有越狱的手机也没有最高的权限,之前我以为没有越狱的手机只是用某些收费的软件的时候需要花钱,不过有些软件花钱也没法安装,比如搜狗输入法、可以显示陌生号的软件等,这一点就不如安卓系统了。
今天发现一个很奇怪的事情,半个月前发过的彩信,发送完毕后我就删除了,可不是见不得人的图片,这段时间我经常用itunes备份手机,就是插到电脑上充电,itunes自动就备份了,最近使用91助手的时候发现有一个功能很好,它可以浏览itunes产生的备份文件,习惯研究的好开始一个一个文件夹的预览,预览到一个文件夹的时候发现怎么有我曾经删除过的彩信的图片呢?第一感觉可能是不是itunes备份文件出现问题了呢?后来用91助手中的备份功能进行备份,其实91助手中的办法应该就是调用itunes的备份功能进行备份的,办法完毕后我用91助手的预览备份文件的功能预览了一下最新的备份,发现曾经删除过的彩信图片依然见在,这让我有点不理解,于是我联系苹果的售后,不过他们接电话的工作人员最终没有给我解释出为什么,其实我也没指望她帮我解决什么,通过我以往的经验这些接电话的客服人员对于技术方面了解的不够透彻,挂了电话我又联系了91开发团队,不过他们今天开发iphone这块的工程师休息,只能等他们的回复了,我在想这个情况能否是苹果系统留的一个缓冲时间呢?比如经过一个期限后在执行删除动作呢?还是不了了之,这样系统就会变得越来越臃肿,这些只是我的个人猜想,具体什么设计理念我就不理解了,解铃还须系铃人,不过我最近升级到ios 6.0.2后感觉非常的耗电,真不知道他们是故意这样做的还是当初测试人员没有测试到呢,通过用一些工具对苹果系统内部文件查看,它的权限分配的很不错,每个软件都有自己的文档文件夹,不像Window文档是共享的,容易造成数据的混乱,我还是觉得分离开不错,应该是苹果系统为了安全方面考虑的吧,不过也有一个缺点就是没有越狱的系统没法进行数据共享,还有一个问题就是苹果系统即便关机后台程序也没有退出,通过再次开机双击Home键就能感觉到,苹果系统这个特点很像Widows的休眠功能,不知道为什么这样设计,只能慢慢理解了,不多说了,希望苹果手机系统越来越完善。
MySQL新建用户,授权,删除用户,修改密码
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:phplamp 用户数据库:phplampDB
1.新建用户。
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/
3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
识数寻踪:WinHex应用与数据恢复开发秘籍
本站讯 由著名数据恢复技术专家“困惑的浪漫”花费数年时间原创,国内唯一完整的WinHex使用教程——《识数寻踪:WinHex应用与数据恢复开发秘籍》上市了!

该书在国内首次披露了行业内只有高手才掌握的秘密——WinHex脚本编程和API开发,得到了中国硬盘基地网站创始人八喜、SQLSave系列数据库恢复软件作者江传力的联袂推荐。
本书第一作者高志鹏,网名“困惑的浪漫”,著名数据恢复教程业余写手,数据恢复技术专家。好文史,学计算机乃半路出家。做过售后服务,也当过高校老师,现 任高级研发工程师,从事信息安全相关领域的技术研发工作。
全书根据WinHex菜单来划分章节,详细描述了WinHex的全部功能和使用方法,对于那些晦涩难懂的知识点,利用编写实验代码的方式直观地展示其原理。最后,本书还以SQL Server数据库页组合技术为案例回顾了部分所学内容。
本书以WinHex的功能模块为线索,看似讲述操作技法,实则探讨数据恢复技术的研究思路,旨在拓宽读者视野,引发读者的兴趣,适合数据恢复工程师、数据恢复程序员、数据恢复研究人员、高校教师、电子取证工程师、技术支持工程师等读者阅读。
图书基本信息如下:
书名:识数寻踪:WinHex应用与数据恢复开发秘籍 作者:高志鹏 张志伟 孙云峰 出版社:人民邮电出版社 出版时间:2013-1-1 页数:314 定价:49
友情推荐
你想在企业服务器数据丢失的关键时刻亮剑吗?你想让监控录像重现天日还人间一份正义吗?你想闪电重组数据库碎片让时光倒流吗?《识数寻踪:WinHex应用与数据恢复开发秘籍》一书为你保驾护航,让你如虎添翼。 ——哈尔滨海云数据恢复中心创始人、SQLSave系列数据库恢复软件作者 江传力
本书对WinHex工具讲解得非常透彻,涉及的知识非常全面,对WinHex工具的使用者来说是个福音,它可以让读者全面掌握WinHex脚本编程及WinHex API编程技术,是提升自我技术不可不读的一本好书。 ——数据恢复业内高手郝槟楠(网名“windows hao”)
志鹏被广大数据恢复从业者称为国内WinHex第一人,曾撰写WinHex网上教程十余篇,包括我在内的很多从业者、爱好者、网友都获益匪浅。本书是志鹏的呕心沥血之作,相信这本书能为读者打开WinHex的神秘之门,让读者真正掌握WinHex这一神功利器。 ——擅长碎片重组的数据恢复业内高手陈剑嵩(网名“12:00:00”)
上架建议:信息安全/存储/数据恢复
VMLite XP - 硬件不支持虚拟化也能运行Windows XP模式
为了兼顾 Windows7 的软件兼容性,微软推出了一个“Windows XP模式”。它能在Win7上再运行多一个虚拟的XP系统,方便你像使用Win7下的软件一样,使用一些只支持XP的旧软件。这本来是个不错的创意,但是可惜的是“Windows XP模式”需要CPU支持虚拟化技术,比如Intel的VT或者AMD的AMD-V技术,而实际上,并不是所有人的CPU都支持这种虚拟化特性。
今天给大家介绍虚拟机软件VMLite便针对次限制,推出了“VMLite XP 模式”,它不需要硬件支持支持虚拟化也可以运行。它完全克隆了微软的“Windows XP模式”,两者运行起来的效果几乎完全一样。而且VMLite直接支持你下载好或者已安装好的Windows XP模式安装文件,你可以直使用微软免费送给你的正版Windows XP。这样相比使用其他的虚拟机如VirtualBox更加实惠,起码不用额外购买正版XP了……
值得一说的是,“VMLite XP 模式”是由大陆留学美国斯坦福大学的骆辉红博士在硅谷创办的VMLite公司日前发布的一款产品,其带领团队开发的虚拟机成为全球第一款由中国人自己设计的,可以不需要硬件支持就可以运行在任意PC上的“XP模式超瘦高速虚拟机”。而且VMLite XP模式完全免费,值得佩服!
VMLite XP 模式相对于微软 XP 模式的优势:
支持更多的虚拟机映像格式: VMLite 支持微软的XPM 包,以及基于现有的虚拟机厂商技术已经产生的虚拟机镜像(VMDK,VHD, VDI, HDD 格式)。它也支持使用VMLite的 MyOldPCs 软件从旧的计算机转换而来的虚拟机镜像。
支持更多的操作系统:微软 XP 模式要求主机必须安装Win7。VMLite 对主机的要求很少。主机可以运行Windows XP / Vista / 7 / 2003 Server/ 2008 Server。
速度快: 在微软的实现机制里,虚拟机虽然运行在本地的主机上,它被作为一个远程的计算机来对待。微软使用远程显示协议(RDP)完成虚拟机之间以及虚拟机和主机之间的通信。VMLite 在虚拟机和主机之间使用高带宽的直接的通信机制,因此执行起来比微软快得多。
安全的网页浏览功能:VMLite 在桌面上自动创建一个安全的 IE浏览器。这个浏览器的图标被一个绿色框包围。当用户双击此图标,虚拟机里的 IE 浏览器将启动。您可以安全地浏览任何网页而不用担心病毒或间谍程序影响您的主机。
无缝模式下,安装在XP的WinRAR出现在Win7中,与其他程序一样使用
支持更多的 PC: VMLite 运行不需要硬件虚拟技术(英特尔公司的 VT-X 或 AMD 公司的 AMD-V)的支持。设置简单: 只需要简单点击几下鼠标就可以创建一个免费的虚拟计算机。
可运行更多的应用程序: 由于微软 XP 模式是基于 RDP 的,那些按照设计不能运行在远程终端上的应用程序在微软 XP 模式下不能运行。VMLite 不存在这个问题,可以支持更多的应用程序。
如何开始使用VMLite XP模式
下载安装 VMLite 以后,需要下载微软的Windows XP模式安装文件,然后启动“VMLite 向导”一步一步根据提示操作,即可完成VMLite XP 模式的安装。VMLite提供了中文语言的界面,整个安装过程非常的简单。你也可以让向导为你下载安装文件,不过这样毕竟比你用下载软件下载要慢多了。
注意:下载下来的Windows XP模式安装文件,可以安装也可以不安装。如果VMLite 向导不能自动完成安装文件的提取,你也可以手动安装Windows XP模式,然后在向导中指定Windows XP模式安装目录。
VMLite XP Mode 可选多种运行模式
进入VMLite XP Mode环境,用户可以像操作另一台电脑一样的对这个虚拟的XP系统进行操作,安装使用软件、浏览网页、聊天等一切皆如既往。
VMLite XP Mode为用户提供了三种不同的显示模式(窗口模式、全屏模式、无缝模式)。无缝模式可以让XP的程序和Win7的程序混在一起使用,用户感觉就像正在用Win7本身的程序一样,非常的方便!