CnPack Forum » CnVCL 组件包 » CnCRC32的BUG


2009-4-16 10:36 moremay
CnCRC32的BUG

此BUG好像一直存在,没人报告吗?
20090404版
CRC32Calc 函数
130     SHR     EAX, 8
131        AND     EAX, $00FFFFFF               // shr 是用0填补高位,多余?
132        XOR     EAX, [EBX + ESI]
TCRC32Table不是字节数组,EBX应该×4:
         XOR     EAX, [EBX*4 + ESI]
标号@Upd及@Exit前应该对CRC值异或
         XOR     EAX,-1
函数FileCRC32
187     CRC:=not CRC;
应该删除

2009-4-16 10:39 moremay
2008-7-28的帖子[url]http://bbs.cnpack.org/viewthread.php?tid=2178&extra=page%3D1[/url]
提到的与用Magic SFV & MD5校验出来的crc值不一样应该就是此BUG造成的

2009-4-16 10:44 Passion
谢谢报告,我们检查一下。

2009-4-16 16:00 Passion
的确如楼主所说,此段代码存在bug。

感谢报告,目前此问题已修正。楼主也进入我们的有贡献人员名单。:handshake

页: [1]
查看完整版本: CnCRC32的BUG


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.