-
数据恢复训练教材
[该文章已加密,请点击标题输入密码访问]...
-
whinhex下对pdf文件结构分析
PDF(Portable Document Format)文件是一种用于文档传输和显示的文件格式,也是结构性的文件。通过本文的分析,可以清楚PDF的文件结构和对象寻址原理,对于PDF的文件修复思路也能......
-
HFS+手工提取文件,及知识点
看苹果盘需要把bigending打开第一步:首先找到卷头在没有卷头的情况下,就往下搜索!00找到分配文件,一般苹果盘和ntfs一样,每块扇区数是8在这里往上调8个扇区就是分区起始,分区起始一定要记住,......
-
数据恢复中xor和add(亦或加减运算)脚本(可在winhex中运行)
数据恢复中xor和add(亦或加减运算)脚本 (可在winhex中运行)也就是中盈底层编辑软件中 create "c:\add_xor.txt" 0 assign str "" getuserinput mm "请输入密文的4个字节" getuserinput tt "请输入明文的4个字节" write mm write2 tt convert hexascii binary goto 0 read m 4 read t 4 block 0 7 remove assign m1 (m&0xFF) assign m2 ((m/256)&0xFF) assign m3 ((m/65536)&0xFF) assign m4 ((m/16777216)&0xFF) assign t1 (t&0xFF) assign t2 ((t/256)&0xFF) assign t3 ((t/65536)&0xFF) assign t4 ((t/16777216)&0xFF) write "用下面给出的值对密文 先异或再加减 解密" write 0x0D0A assign xor 255 assign a 1 { assign add ((m1^xor)-t1) IfEqual m2 (((t2+add)&0xFF)^xor) IfEqual m3 (((t3+add)&0xFF)^xor) IfEqual m4 (((t4+add)&0xFF)^xor) assign add ((0x100-add)&0xFF) inttostr str a write str write ".异或=" inttostr str xor write str write " .加=" inttostr str add write str write 0x0D0A inc a endif endif endif dec xor }[256] write "用下面给出的值对密文 先ADD再XOR 解密" write 0x0D0A assign xor 255 { assign add (m1-(t1^xor)) IfEqual m2 (((t2^xor)+add)&0xFF) IfEqual m3 (((t3^xor)+add)&0xFF) IfEqual m4 (((t4^xor)+add)&0xFF) assign add ((0x100-add)&0xFF) inttostr str a write str write ".加" inttostr str add write str write " .异或=" inttostr str xor write str write 0x0D0A inc a endif endif endif dec xor }[256] save messagebox "题目解密方法已保存到 C: \add_xor.txt 文件中,请查看!!!" exit 在数据解释器中按回车打开脚本页面,添加脚本运行...
-
数据恢复中xor和add(亦或加减运算)最最最简化脚本
脚本内容 <html> <head> <script> for (var x=1;x<256;x++) for (var y=-128;y<128;y++) if((((0x32^x)+y)&0xff)==0x2E) if((((0x32^x)+y)&0xff)==0x2E) if((((0x20^x)+y)&0xff)==0x20) if((((0x20^x)+y)&0xff)==0x20) console.log("xor="+x.toString(16)+"add="+y.toString(16)); </script> </head> </html> 需在浏览器中运行,比赛中(数据恢复机)ie浏览器也是可以的 ...
-
JPEG图片详细分析
JPEG图片详细分析 简述 JPEG是一个压缩标准,以一幅24位彩色图像为例,JPEG的压缩分为四个步骤: ①颜色转换:在将彩色图像进行压缩之前,必须先对颜色模式进行数据转换。转换完成之后还需要进行数据采样。 ②DCT 变换:是将图像信号在频率域上进行变换,分离出高频和低频信息的处理过程,然后再对图像的高频部分(即图像细节)进行压缩。首先以象素为单位将图像划分为多个8×8的矩阵,然后对每一个矩阵作DCT 变换。把8×8的象素矩阵变成8×8的频率系数矩阵(所谓频率就是颜色改变的速度),频率系数都是浮点数。 ③量化:由于下面第四步编码过程中使用的码本都是整数,因此要对频率系数进行量化,将之转换为整数。数据量化后,矩阵中的数据都是近似值,和原始图像数据之间有了差异,这一差异是造成图像压缩后失真的主要原因。这一过程中,质量因子的选取至为重要。值选得大,可以大幅度提高压缩比,但是图像质量就比较差,质量因子越小图像重建质量越好,但是压缩比越低。 ④编码:编码是基于统计特性的方法。 四个步骤都完成后的JPEG文件,其基本数据结构为两大类型:“段”和经过压缩编码的图像数据。 可以这么简单理解:一幅原图压缩成JPG格式的图片,是先把图片按一定的大小分成小块,再按一定的算法把这些块的亮度和色度进行运算得到比原来数据量更小但可以还原的数据。那么这个算法就是FFDB,亮度和和色度采样就是哈夫曼表(FFC1-FFC4),为什么四个呢,有两个不可以吗?设计者就是这样做了,两次采样,一对交流AC,一对直流DC,我的理解是这样图片的还原力更强,更接近于原图吧。这样算完了的数据就放在FFDA段里了。 我们可以打开 JPEG 文件查看里面的内容, 。 。。。。。。。这是数据部分省略若干字节。。。。。。。。。。。。。。。。 即可看到上面的各个标记段:FFD8,FFDB,FFC0,FFC1—FFC4,FFDA,FFD9等,这几个段是jpg图像文件必须有的,也就是说只要有这几个段图像就可以正常打开并完整清楚的显示出来了。这几个段在图像中的前后顺序也是固定的,不能错了。当然,FFD9段可以没有,就这几个字符,不影响。FFD8不能没有,也不能错。否则图像打不开。 除了FFD8,FFD9这两个段没有内容,就是标志着开头和结束外,其它四类段都有大小和内容,它们的大小都是段后面的两个字节来表示:比如FFDB0043,0043就是这个段的长度,也包括0043这两个字节,但不包括段名FFDB这两个字节,也就是说从0043开头的位置向下跳转67个字节就到了下一段了,下一段一定也是以 FF开头的,不是FFDB就是FFC0,或FFC1,刚才说过了,要是第一个FFDB向下跳67个字节一定是第二个FFDB,这是死的,如果第一个FFDB后面的长度不是0043,而是0084,那么这个图像就只有一个FFDB(量化表),接下来跳132个字节就一定是FFC0段了。如下图: 这说明量化表由两个合成一个了,内容其实还是一样的,也是两个88矩阵。 总之:FFDB量化表一一般有两个(一个亮度一个色度)或者由两合成一个了,那样的图像结构里就只有一个FFDB段了,两个67字节的就变成一个132个字节的FFDB段了,量化表的内容 都是比较小的数字,没有规律,是根据原来图像采样的数据组成的8行8列数字矩阵,为了解压还原图像数据用的。 量化表的实例 上面这个内容,FFDB 标记后的长度值为67,接下来的是 QT 信息,占一个字节; 这里是0,表示这个 QT 表编号为0,并且精度是8bit。然后后面就是64个8x8的 QT 表的各个 item 了。 也即第一个 DQT 量化表的内容表示为十进制是: 这个表即为 JPEG 亮度量化表。 第二个量化表的内容为: 这个表的内容即为 JPEG 色度量化表。 当你打开不同的 JPEG 文件,你会看到这两个表可能也是会有区别的。这个主要是使用了不同的量化方式的结果。 总结:记住第一段前5个字节FFDB004300可以跳到第二段FFDB004301 其它是两个64字节的矩阵不用记。 接下来就是 图像信息段FFC0段了(有个别图片用FFC2来描述图像信息),这段也是固定长度的,17个字节,这17个字节除了宽度和高度以外其它不同的图片基本一样,记住就好了,具体表示如下: 上面这个内容,FFC0 标记后即是长度,为17; 然后是一个字节的数据精度,通常是为8,代表样本位数。 接下来是图片的高度,占两字节,这里即为8,然后是图片的宽度,也为8,这也就是我们定义的8x8的内容。 然后是 component 的个数,这里是3,表示 YUV。接下来是三组数据,每组数据里,第一个是 component ID,第二个是采样系数,这里 Y 的采样系数为22,说明垂直是2,水平是2。 总结:这17个字节的意义要基本搞明白,出题点有两个:一个是分辨率,一个是数据精度,其它的量化表的数量,编号,采样系数和ID各个图片都一样,记住就好了。如果记不住的话用画图新建一个就可以看到了。 Haffman 表FFC4有四个: 上面这个内容,FFC4 标记后的内容为数据长度,再接着的1字节为 Huffman Table 的信息,低4位是 HT ID 号,第5位是 HT 表类型标记,再高三位是为0。 总结:记住这部分的长度,和类型。 长度一般是31和181,类型四个是固定顺利的:00,10,01,11,后面的内容没法记,也不用记。 图像数据段FFDA 这里 SOS 段,长度为 12,后面所含有的 component 数量为 3 个,也即 Y UV。然后后面是各 component 的编号,及对应所使用的 Huffman 表的 ID 是多少。 总结:这12个字节所有的图片都基本一样的。 在这个段的后面就是所有压缩后的数据。直到结束的标记,即 FFD9,EOI(End Of Image)。 当然说过了,FFD9可以没有。 总之:JPG图片格式由FFD8,FFDB,DDC0,FFC4,FFC4,FFC4,FFC4,DDDA组成,它们由其后面的两个字节的大小,并且每个段一定要前后连成一片,而且不能变换顺序。切记! 常见的格式如下: FFD8(FE00010 ...14字节... FFE10022...32字节...)FFDB004300..64字节...FFDB004301...64字节...FFC0001108...14字节...FFC4001F00...28字节...FFC400B510...178字节...FFC4001F01...28字节...FFC400B511...178字节...FFDA000C03010002110311003F00+图片数据部分(注意这部分后面的数据删除变化不影响前面,但前面改了会影响后面,前面括号部分可以没有)。 JPG图个损坏后的损坏后的恢复,请看实例分析。...
-
HFS+手工提取文件,及知识点
看苹果盘需要把bigending打开 首先找到卷头 在没有卷头的情况下,就往下搜索!00找到分配文件, 一般苹果盘和ntfs一样,每块扇区数是8 在这里往上调8个扇区就是分区起始,分区起始一定要记住,因为是手工提取文件的条件之一。 有卷头的情况下,看编录文件, 拿这个数乘每块扇区数再加上分区起始就是编录文件的开始,在编录文件中就可以大概知道部分文件的具体信息, 跳到根目录节点, 看到部分文件的节点号,如果要恢复34号文件下的文件那么就需要找到34号文件节点,跳到34号文件节点下面去看看, 看文件的基本信息就可以把这个文件提取出来了。 找到起始块号和大小,起始块号乘每块扇区数加上分区起始扇区就是文件起始, 完美提取...
-
BMP文件分析,及知识点
一般恢复出来的文件就是把表示文件破坏,就是424D,然后就是把像素改成反的,如果像素没反就用电脑建一个,然后用建的这个文件的像素试试。...
-
各类文件的文件头标志
各类文件的文件头标志 1、从Ultra-edit-32中提取出来的 JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (bmp),文件头:424D CAD (dwg),文件头:41433130 Adobe Photoshop (psd),文件头:38425053 Rich Text Format (rtf),文件头:7B5C727466 XML (xml),文件头:3C3F786D6C HTML (html),文件头:68746D6C3E Email [thorough only] (eml),文件头:44656C69766572792D646174653A Outlook Express (dbx),文件头:CFAD12FEC5FD746F Outlook (pst),文件头:2142444E MS Word/Excel (xls.or.doc),文件头:D0CF11E0 MS Access (mdb),文件头:5374616E64617264204A WordPerfect (wpd),文件头:FF575043 Postscript (eps.or.ps),文件头:252150532D41646F6265 Adobe Acrobat (pdf),文件头:255044462D312E Quicken (qdf),文件头:AC9EBD8F Windows Password (pwl),文件头:E3828596 ZIP Archive (zip),文件头:504B0304 RAR Archive (rar),文件头:52617221 Wave (wav),文件头:57415645 AVI (avi),文件头:41564920 Real Audio (ram),文件头:2E7261FD Real Media (rm),文件头:2E524D46 MPEG (mpg),文件头:000001BA MPEG (mpg),文件头:000001B3 Quicktime (mov),文件头:6D6F6F76 Windows Media (asf),文件头:3026B2758E66CF11 MIDI (mid),文件头:4D546864 2、从winhex中取出的文件头列表 File Type ExtensionsHeader JPEG jpg;jpeg 0xFFD8FF PNG png 0x89504E470D0A1A0A GIF gif GIF8 TIFF tif;tiff 0x49492A00 TIFF tif;tiff 0x4D4D002A Bit map bmp BM AOL ART art 0x4A47040E000000 AOL ART art 0x4A47030E000000 PC Paintbrush pcx 0x0A050108 Graphics Metafile wmf 0xD7CDC69A Graphics Metafile wmf 0x01000900 Graphics Metafile wmf 0x02000900 Enhanced Metafile emf 0x0100000058000000 Corel Draw cdr CDR CAD dwg 0x41433130 Adobe Photoshop psd 8BPS Rich Text Format rtf rtf XML xml HTML html;htm;php;php3;php4;phtml;shtml type Email eml Delivery-date: Outlook Express dbx 0xCFAD12FE Outlookpst!BDN MS Office/OLE2doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1 MS Access mdb;mda;mde;mdt Standard J WordPerfect wpd 0xFF575043 OpenOffice Writer sxw writer OpenOffice Calc sxc calc OpenOffice Math sxm math OpenOffice Impress sxi impress OpenOffice Draw sxd draw Adobe FrameMaker fm <MAKERFILE PostScript eps.or.ps;ps;eps %!PS-Adobe Adobe Acrobat pdf %PDF-1. Quicken qdf 0xAC9EBD8F QuickBooks Backup qbb 0x458600000600 Sage sly.or.srt.or.slt;sly;srt;slt0x53520100 Sage Backup 1 SAGEBACKUP Lotus WordPro v9 lwp 0x576F726450726F Lotus 123 v9 123 0x00001A00051004 Lotus 123 v5 wk4 0x00001A0002100400 Lotus 123 v3 wk3 0x00001A0000100400 Lotus 123 v1 wk1 0x2000604060 Windows Password pwl 0xE3828596 ZIP Archive zip;jar 0x504B0304 ZIP Archive (outdated) zip 0x504B3030 RAR Archive rar Rar! GZ Archive gz;tgz 0x1F8B08 BZIP Archive bz2 BZh ARJ Archive arj 0x60EA 7-ZIP Archive 7z 7z集' Wave wav WAVE AVI avi AVI Real Audio ram;ra .ra?0 Real Media rm .RMF MPEG mpg;mpeg 0x000001BA MPEG mpg;mpeg 0x000001B3 Quicktime mov moov Windows Media asf 0x3026B2758E66CF11 MIDI mid MThd Win32 Executable exe;dll;drv;vxd;sys;ocx;vbxMZ Win16 Executable exe;dll;drv;vxd;sys;ocx;vbxMZ ELF Executable elf;; 0x7F454C4601010100 各种文件类型文件头标志位详细列表 FFD8FFFE00, .JPEG;.JPE;.JPG, "JPGGraphic File" FFD8FFE000, .JPEG;.JPE;.JPG, "JPGGraphic File" 474946383961, .gif, "GIF 89A" 474946383761, .gif, "GIF 87A" 424D, .bmp, "Windows Bitmap" 4D5A,.exe;.com;.386;.ax;.acm;.sys;.dll;.drv;.flt;.fon;.ocx;.scr;.lrc;.vxd; .cpl;.x32, "Executable File" 504B0304, .zip, "Zip Compressed" 3A42617365, .cnt, "" D0CF11E0A1B11AE1,.doc;.xls;.xlt;.ppt;.apr, "MS Compound Document v1 or Lotus Approach APRfile" 0100000058000000, .emf, "" 03000000C466C456, .evt, "" 3F5F0300, .gid;.hlp;.lhp, "Windows HelpFile" 1F8B08, .gz, "GZ Compressed File" 28546869732066696C65, .hqx, "" 0000010000, .ico, "Icon File" 4C000000011402, .lnk, "Windows LinkFile" 25504446, .pdf, "Adobe PDF File" 5245474544495434, .reg, "" 7B5C727466,.rtf, "Rich Text Format File" lh, .lzh, "Lz compression file" MThd, .mid, "" 0A050108, .pcx, "" 25215053, .eps, "Adobe EPS File" 2112, .ain, "AIN Archive File" 1A02, .arc, "ARC/PKPAK Compressed 1" 1A03, .arc, "ARC/PKPAK Compressed 2" 1A04, .arc, "ARC/PKPAK Compressed 3" 1A08, .arc, "ARC/PKPAK Compressed 4" 1A09, .arc, "ARC/PKPAK Compressed 5" 60EA, .arj, "ARJ Compressed" 41564920, .avi, "Audio Video Interleave(AVI)" 425A68, .bz;.bz2, "Bzip Archive" 49536328, .cab, "Cabinet File" 4C01, .obj, "Compiled Object Module" 303730373037, .tar;.cpio, "CPIO ArchiveFile" 4352555348, .cru;.crush, "CRUSH ArchiveFile" 3ADE68B1, .dcx, "DCX Graphic File" 1F8B, .gz;.tar;.tgz, "Gzip ArchiveFile" 91334846, .hap, "HAP Archive File" 3C68746D6C3E,.htm;.html, "HyperText Markup Language 1" 3C48544D4C3E,.htm;.html, "HyperText Markup Language 2" 3C21444F4354, .htm;.html, "HyperText MarkupLanguage 3" 100, .ico, "ICON File" 5F27A889, .jar, "JAR Archive File" 2D6C68352D,.lha, "LHA Compressed" 20006040600, .wk1;.wks, "Lotus 123 v1 Worksheet" 00001A0007800100, .fm3, "Lotus 123 v3 FMTfile" 00001A0000100400, .wk3, "Lotus 123 v3Worksheet" 20006800200, .fmt, "Lotus 123 v4 FMTfile" 00001A0002100400, .wk4, "Lotus 123 v5" 5B7665725D, .ami, "Lotus Ami Pro" 300000041505052, .adx, "Lotus ApproachADX file" 1A0000030000, .nsf;.ntf, "Lotus NotesDatabase/Template" 4D47582069747064, .ds4, "MicrografixDesigner 4" 4D534346, .cab, "Microsoft CAB FileFormat" 4D546864, .mid, "Midi Audio File" 000001B3, .mpg;.mpeg, "MPEG Movie" 0902060000001000B9045C00, .xls, "MS Excel v2" 0904060000001000F6055C00, .xls, "MS Excel v4" 7FFE340A,.doc, "MS Word" 1234567890FF, .doc, "MS Word 6.0" 31BE000000AB0000, .doc, "MS Word forDOS 6.0" 1A00000300001100, .nsf, "NotesDatabase" 7E424B00, .psp, "PaintShop Pro Image File" 504B0304, .zip, "PKZIP Compressed" 89504E470D0A, .png, "PNG Image File" 6D646174, .mov, "QuickTime Movie" 6D646174, .qt, "Quicktime MovieFile" 52617221, .rar, "RAR Archive File" 2E7261FD, .ra;.ram, "Real AudioFile" EDABEEDB, .rpm, "RPM Archive File" 2E736E64, .au, "SoundMachine AudioFile" 53495421, .sit, "Stuffit v1 ArchiveFile" 53747566664974, .sit, "Stuffit v5Archive File" 1F9D, .z, "TAR Compressed ArchiveFile" 49492A, .tif;.tiff, "TIFF (Intel)" 4D4D2A,.tif;.tiff, "TIFF (Motorola)" 554641, .ufa, "UFA Archive File" 57415645666D74, .wav, "Wave Files" D7CDC69A,.wmf, "Windows Meta File" 4C000000, .lnk, "Windows Shortcut (LinkFile)" 504B3030504B0304, .zip, "WINZIPCompressed" FF575047, .wpg, "WordPerfectGraphics" FF575043, .wp, "WordPerfect v5 orv6" 3C3F786D6C,.xml, "XML Document" FFFE3C0052004F004F0054005300540055004200, .xml, "XML Document(ROOTSTUB)" 3C21454E54495459, .dtd, "XML DTD" 5A4F4F20, .zoo, "ZOO Archive File" 通过文件头标识判断图片格式 最近在做东西的时候遇到了点问题,在加载图片的时候,加载失败,后缀都是jpg格式,但换个图片就可以了,为此,怀疑图片格式有问题,遂拖到UE里面查看它的16进制,果然,两个图片的文件头根本就不一样,这不是欺负人嘛,害我白白浪费了半天的时间,差点要重新编译内核。 然后到网上找了一些资料,查看不同格式图片的文件头是怎样的。下面转帖是不同图片的文件头标志: 图片的格式很多,一个图片文件的后缀名并不能说明这个图片的真正格式什么,那么如何获取图片的格式呢?我想到了几个简单但有效的方法,那就是读取图片文件的文件头标识。我们知道各种格式的图片的文件头标识识不同的,因此我们可以通过判断文件头的标识来识别图片格式。 我对各种格式的图片文件头标识进行了分析,不仅查找资料,也用十六进制编辑器察看过图片的文件头,以下是我收集、分析的结果,供大家参考。 1.JPEG/JPG 文件头标识 (2bytes): $ff, $d8 (SOI) (JPEG 文件标识) 文件结束标识 (2bytes): $ff, $d9 (EOI) 2.TGA 未压缩的前5字节 0000 02 00 00 RLE压缩的前5字节 00 00 10 00 00 3.PNG 文件头标识 (8 bytes) 89 50 4E 47 0D 0A 1A 0A 4.GIF 文件头标识 (6bytes) 47 49 46 38 39(37) 61 G I F 8 9 (7) a 5.BMP 文件头标识 (2bytes) 42 4D B M 6.PCX 文件头标识 (1bytes) 0A 7.TIFF 文件头标识 (2bytes) 4D 4D 或 49 49 8.ICO 文件头标识 (8bytes) 00 00 01 00 01 00 20 20 9.CUR 文件头标识 (8bytes) 00 00 02 00 01 00 20 20 10.IFF 文件头标识 (4bytes) 46 4F 52 4D F O R M 11.ANI 文件头标识 (4bytes) 52 49 46 46 12、Word/Excel(xls.or.doc) 文件头标识 D0CF11E0 D0CF11E0A1B11AE1 文件结束标识 0100FEFF030A0000 R I F F 根据这些文件头标识的收集,我可以写一个识别图像格式的模块了。但是在写这个模块之前可以对收集到的文件头标识进行优化,使得程序中字符串比对次数尽量的少。 1.JPEG我们知需要比对文件头的$ff, $d8这两个字符,而不用读取最后的两个结束标识了。 2.TGA,ICO,CUR只需比对第三个与第五个字符即可。 3.PNG比对[89][50]这两个字符。 4.GIF比对[47][49][46]与第五个字符。 废话不多说了,利用内存流来判断文件的格式,其实判断文件的前几个字节就可以简单的判断这个文件是什么类型的文件,例如 jpg文件 是 FFD8 (从低位到高位就要反过来 D8FF 下面都是一样) BMP文件 是 424D ---4D42 其他的我就不一一列举了,想知道跟多文件类型分别是用什么字符作为文件的开头的话,下载个C32asm或者UE等这类16进制编辑器就可以看到了 什么头都没有直接数据的就是ANSI类型,EF BB BF头的就是UTF-8类型,FF FE头的就是UNICODE类型的,FE FF头的就是UNICODE BIG ENDIAN类型的,然后根据类型确定用什么类型的变量保存内容 求助怎么能在winhex中添加新的文件头搜索项 选择按类型恢复,弹出对话框后点击signatures按钮,这时,winhex就会调用excel打开这个winhex安装目录下的File Type Signatures Search这个文件。然后在Description下输入描述比如“图片”,Extensions下输入扩展名,多个扩展名可以以分号隔开。heard下输入文件头的标志,以右斜杠隔开,并一小写x开头(表示十六进制)。逐个输入标志字节,比如图片则输入:\xFF\xD8\。假设图片的标志字节在第四个字节,那么在offset下输入4。...
-
复合文档文件分析,及知识点
一般出题就是把头delete,然后要添加字节进去,然后复制个头过来,修复文件头就能出来了,或者会把ROOT里面的7-4删除,然后要记得,一般是3.,还有就是运算第一个扇区,或者整文件运算,...