打印
[代码反篡改]

菜农之“天下无贼论”在超级CRC计算器上的实现和原理

[复制链接]
127|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2023-9-18 21:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用HotCRC中的初值碰撞保护版权信息不收侵害(菜农之天下无贼论
作者:雁塔菜农HotPower

1.使用工具:
  菜农的超级CRC计算器www.hotcrc.com
2.将要保护的版权信息:
  菜农HotPower@163.com 2019.9.15于西安雁塔菜地
3.选择CRCn:
  例如CRC32:
  多项式:CRC32=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
  简写式:CRC32R_EDB88320_FFFFFFFF_FFFFFFFF(初值和出值随意)
4.选择输入方式HotCode:
  因为版权信息包括汉字,可以选择UTF-8(每个汉字三个字节)或HotCode(每个汉字两个字节)
5.明文填入版权信息:
  菜农HotPower@163.com 2019.9.15于西安雁塔菜地
6.设置出值为0
  出值=00000000(0x00000000)
7.点击运算按钮
  得到结果=CD8CF036(校验和0xCD8CF036)
8.设置结果为0
  结果=00000000(校验和0x00000000)
9.点击初值碰撞
  得到初值=4BFAEA03(0x4BFAEA03)
10.点击运算按钮(验证)
  得到结果=00000000(校验和0x00000000)
11.选择输入方式HEX:
  点击还原按钮,得到版权信息的HEX
  E3DCB19C486F74506F776572403136332E636F6D20323031392E392E3135AE8EE97FBB89F6C1B854E3DCB730
12.自动生成C语言源码(5种算法)
  1)选择功能=CRC表格和C语言,“.C”
  2)选择算法=“大表”,“算法”(移位算法)
  3)点击生成按钮,得到C语言表格和算法如下:
  • /*------------------------------------------------------------------------------
  •    本C语言核心代码由菜农HotPower@163.com的超级CRC计算器自动生成
  •    Copyright 1996-2018 HotPower Software, Inc.
  •    菜农HotPower@163.com 2019年9月15日 上午6:19:30 于西安雁塔菜地
  • ------------------------------------------------------------------------------*/
  • //CRC双表大表表格:
  • unsigned long GetCRC32R_EDB88320_4BFAEA03_00000000(unsigned char *crcBuff, unsigned int crcLen) {
  • unsigned int i, n;
  • unsigned long crc = 0x4BFAEA03;//初值
  • unsigned char crcTemp;
  •   for(i = 0; i < crcLen; i ++){
  •     crcTemp = crcBuff;
  •     for(n = 0; n < 8; n++){
  •       if((crcTemp ^ crc) & 0x01){
  •         crc >>= 1;
  •         crc ^= 0xEDB88320;
  •       }
  •       else crc >>= 1;
  •       crcTemp >>= 1;
  •     }
  •   }
  •   return crc;
  • }
  • int main(){
  • //数据格式:HEX
  • const unsigned char dataTable[] = {
  •   0xE3, 0xDC, 0xB1, 0x9C, 0x48, 0x6F, 0x74, 0x50, 0x6F, 0x77, 0x65, 0x72, 0x40, 0x31, 0x36, 0x33,
  •   0x2E, 0x63, 0x6F, 0x6D, 0x20, 0x32, 0x30, 0x31, 0x39, 0x2E, 0x39, 0x2E, 0x31, 0x35, 0xAE, 0x8E,
  •   0xE9, 0x7F, 0xBB, 0x89, 0xF6, 0xC1, 0xB8, 0x54, 0xE3, 0xDC, 0xB7, 0x30
  • };//特别注意Keil C51请用code替换const
  • unsigned long crc;
  •   crc = GetCRC32R_EDB88320_4BFAEA03_00000000((unsigned char *)dataTable, sizeof(dataTable));
  • //移位函数返回crc=0x00000000,与HotWC3运算相同
  •   while(crc | 1);//死循环,请在此处设置断点,验证函数返回值crc是否正确!!!
  •   return 0;
  • }


[color=rgb(51, 102, 153) !important]复制代码


13.选择功能=CRC基本运算
14.选择输入方式HotCode:
  因为版权信息包括汉字,可以选择UTF-8(每个汉字三个字节)或HotCode(每个汉字两个字节)
15.明文填入篡改邮箱版权信息(篡改):
  菜农HotPower@126.com 2019.9.15于西安雁塔菜地
16.点击运算按钮(验证)
  得到结果=C5EA37D5(校验和0xC5EA37D5),即篡改邮箱版权信息,校验和不为0
  
菜农“天下无贼论”原理:
1.明文长度最好不是权值的倍数
2.点击运算按钮,得到

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:[url=http://www.21ic.com/tools/HotWC3_V1.23.html]

1538

主题

21697

帖子

505

粉丝