代码改变世界

随笔分类 -  硬件

CRC校验

2013-08-21 16:05 by 放作夥, 6179 阅读, 收藏,
摘要: 根据应用环境与习惯的不同,CRC又可分为以下几种标准:①CRC-12码;②CRC-16码;③CRC-CCITT码;④CRC-32码。(ZIP, RAR的校检算法)生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。应满足以下条件:a、生成多项式的最高位和最低位必须为1。b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。c、不同位发生错误时,应该使余数不同。d、对余数继续做除,应使余数循环。生成步骤1、将x的最高次幂为R的生成多项式G(x)转换成对应的R 阅读全文

winhex分析磁盘目录结构(未完待续)

2013-04-27 10:47 by 放作夥, 2875 阅读, 收藏,
摘要: 网上的介绍杂七杂八,我尽力完整清晰地综合阐释给大家,分析工具选择的是winhex,仔细看的话,满满的数字中每隔一定位置就有条横线,代表一个扇区的空间。所以我们先来看第一个扇区(主引导扇区),即第一条横线前(0000H---00ffH),我把结构贴出来主分区表是从主引导扇区第0x1BE字节开始的,共64个字节,所有主分区的分区表都是一样的0000 |------------------------------------------------| .... | Master Boot Record主引导记录(446字节)(启动代码,没必要分析)01BD ... 阅读全文

c语言检测cpu大小端模式

2013-04-16 19:02 by 放作夥, 1265 阅读, 收藏,
摘要: 方法一:使用C中的共用体: bool IsLitte_Endian(){union w{int a;char b;}c;c.a=1;return (c.b==1);//若处理器是Big_endian的,则返回false;若是Little_endian的,则返回true。}方法二:强制类型转换boo... 阅读全文