搜索
bottom↓
回复: 11

利用HotCRC中的初值碰撞保护版权信息不受侵害

[复制链接]

出0入0汤圆

发表于 2019-9-15 05:54:21 | 显示全部楼层 |阅读模式
本帖最后由 hotpower 于 2019-9-15 08:36 编辑

利用HotCRC中的初值碰撞保护版权信息不受侵害(菜农之天下无贼论
作者:雁塔菜农HotPower
声明:本文特别为指导菜农熟悉FPGA的FPGA高手,网友“风扬”(QQ:1023174982)网友烈火所编写。
特别注意:
菜农回复楼下网友
kutf 发表于 2019-9-15 06:41
牛皮吹的响。不如来做一道幼儿题目。来破解一下这个AES加密的字符串是什么吧 a462a18a03010a31a87c51206d6d ...

菜农继续吹牛:

菜农的超级CRC计算器www.hotcrc.com自称地球第二,坐等第一来和菜农PK!!!

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语言表格和算法如下:
  1. /*------------------------------------------------------------------------------
  2.    本C语言核心代码由菜农HotPower@163.com的超级CRC计算器自动生成
  3.    Copyright 1996-2018 HotPower Software, Inc.
  4.    菜农HotPower@163.com 2019年9月15日 上午7:20:41 于西安雁塔菜地
  5. ------------------------------------------------------------------------------*/
  6. //CRC移位算法:
  7. unsigned long GetCRC32R_EDB88320_4BFAEA03_00000000(unsigned char *crcBuff, unsigned int crcLen) {
  8. unsigned int i, n;
  9. unsigned long crc = 0x4BFAEA03;//初值
  10. unsigned char crcTemp;
  11.   for(i = 0; i < crcLen; i ++){
  12.     crcTemp = crcBuff[i];
  13.     for(n = 0; n < 8; n++){
  14.       if((crcTemp ^ crc) & 0x01){
  15.         crc >>= 1;
  16.         crc ^= 0xEDB88320;
  17.       }
  18.       else crc >>= 1;
  19.       crcTemp >>= 1;
  20.     }
  21.   }
  22.   return crc;
  23. }
  24. int main(){
  25. //数据格式:HEX
  26. const unsigned char dataTable[] = {
  27.   0xE3, 0xDC, 0xB1, 0x9C, 0x48, 0x6F, 0x74, 0x50, 0x6F, 0x77, 0x65, 0x72, 0x40, 0x31, 0x36, 0x33,
  28.   0x2E, 0x63, 0x6F, 0x6D, 0x20, 0x32, 0x30, 0x31, 0x39, 0x2E, 0x39, 0x2E, 0x31, 0x35, 0xAE, 0x8E,
  29.   0xE9, 0x7F, 0xBB, 0x89, 0xF6, 0xC1, 0xB8, 0x54, 0xE3, 0xDC, 0xB7, 0x30
  30. };//特别注意Keil C51请用code替换const
  31. unsigned long crc;
  32.   crc = GetCRC32R_EDB88320_4BFAEA03_00000000((unsigned char *)dataTable, sizeof(dataTable));
  33. //移位函数返回crc=0x00000000,与HotWC3运算相同
  34.   while(crc | 1);//死循环,请在此处设置断点,验证函数返回值crc是否正确!!!
  35.   return 0;
  36. }
复制代码

13.选择功能=CRC基本运算
14.选择输入方式HotCode:
  因为版权信息包括汉字,可以选择UTF-8(每个汉字三个字节)或HotCode(每个汉字两个字节)
15.明文填入篡改邮箱版权信息(篡改):
  菜农HotPower@126.com 2019.9.15于西安雁塔菜地
16.点击运算按钮(验证)
  得到结果=C5EA37D5(校验和0xC5EA37D5),即篡改邮箱版权信息,校验和不为0
  故即可检测到“有贼来了”
17.天下无贼
  菜农此生破解无数,也写过注册机(破解了算法),也干过暴击破解(找到了分支),前者的难度大过后者。
  所以程序关键处最好不要出现分支即判断语句,例如if (x == 0x250) good() else bad()
  暴力破解者可以有两几种方法:
  1.  x = 0x250;...if (x == 0x250) good() else bad();
  2.  if (x = 0x250) good() else bad();
  3.  goto good();
  故应该用第10步的CRC=0x00000000来去“大杀四方”,例如,把CRC自身压缩为1个字节的CRC0(32位分4组,再一起XOR,变为1个字节的0x00)
  然后,把这个1个字节的CRC0保存多份,例如8份CRC0[8],注意不要连续保存!!!
  最后,在不同位置对关键XOR它。例如string=“HotPower”,那么用CRC0[8] ^ string[8]=string(因为CRC0 == 0,故string输出显示没错!!!)
  假设有贼光临,那么CRC0[8] ^ string[8] !=string(因为CRC0 != 0,故string输出显示出错!!!),那么贼需要找8个CVRC0[8]

菜农“天下无贼论”原理:
1.明文长度最好不是权值的倍数,这样攻防双方都必须穷举初值
2.设置出值为0,不给反汇编插入出值的机会
3.点击运算按钮,得到密文,为初值碰撞提供密文
4.设置结果为0,这个是“天下无贼论”之成功要诀。用它“大杀四方”,用它异或关键的输出和函数入口地址(改写函数指针)
5.点击初值碰撞,给出最终的初值。(函数体内)
6.自动生成5种C语言源码
注:
移位算法(速度最慢)
查表算法:
1.大表,单表(表格256组),例如CRC8为256个字节,CRC16为256*2个字节),速度最快
2.小表,单表(表格16组),例如CRC8为16个字节,CRC16为16*2个字节),速度比移位快
3.大表,双表(双组表格256组),例如CRC16为2组256*1个字节,CRC32为2组256*2个字节),例如CRC8做CRC16
4.小表,双表(双组表格16组),例如CRC16为2组16*1个字节,CRC32为2组16*2个字节),例如CRC8做CRC16

例如16位的MCU,运算CRC32,可以用16位的数据类型如unsigned
1.选择功能=CRC表格和C语言,“.C”
2.选择算法=“双表”,“小表”(查表算法)
3.点击生成按钮,得到C语言表格和算法如下:
  1. /*------------------------------------------------------------------------------
  2.    本C语言核心代码由菜农HotPower@163.com的超级CRC计算器自动生成
  3.    Copyright 1996-2018 HotPower Software, Inc.
  4.    菜农HotPower@163.com 2019年9月15日 上午7:31:46 于西安雁塔菜地
  5. ------------------------------------------------------------------------------*/
  6. /CRC双表小表查表算法:
  7. const unsigned short CRC32R_EDB88320_Table_Hi[16] = {//特别注意Keil C51请用code替换const
  8.   0x0000,0x1DB7,0x3B6E,0x26D9,0x76DC,0x6B6B,0x4DB2,0x5005,0xEDB8,0xF00F,0xD6D6,0xCB61,0x9B64,0x86D3,0xA00A,0xBDBD
  9. };

  10. const unsigned short CRC32R_EDB88320_Table_Lo[16] = {//特别注意Keil C51请用code替换const
  11.   0x0000,0x1064,0x20C8,0x30AC,0x4190,0x51F4,0x6158,0x713C,0x8320,0x9344,0xA3E8,0xB38C,0xC2B0,0xD2D4,0xE278,0xF21C
  12. };

  13. //CRC双表小表查表算法:
  14. unsigned long GetCRC32R_EDB88320_4BFAEA03_00000000_Table(unsigned char *crcBuff, unsigned int crcLen) {
  15. unsigned int i;
  16. unsigned char crcTemp;
  17. unsigned short crch, crcl;
  18.   crch = 0x4BFA;
  19.   crcl = 0xEA03;
  20.   for(i = 0; i < (crcLen * 2); i ++){
  21.     if (i & 1) crcTemp = crcBuff[i >> 1] >> 4;
  22.     else crcTemp = crcBuff[i >> 1] & 0x0F;
  23.     crcTemp = (crcl & 0x0F) ^ crcTemp;
  24.     crcl = ((crcl >> 4) | (crch << 12)) ^ CRC32R_EDB88320_Table_Lo[crcTemp];
  25.     crch = (crch >> 4) ^ CRC32R_EDB88320_Table_Hi[crcTemp];
  26.   }
  27.   return (unsigned long)(crch << 16) | crcl;
  28. }
  29. int main(){
  30. //数据格式:HEX
  31. unsigned long crc;
  32. const unsigned char dataTable[] = {
  33.   0xE3, 0xDC, 0xB1, 0x9C, 0x48, 0x6F, 0x74, 0x50, 0x6F, 0x77, 0x65, 0x72, 0x40, 0x31, 0x36, 0x33,
  34.   0x2E, 0x63, 0x6F, 0x6D, 0x20, 0x32, 0x30, 0x31, 0x39, 0x2E, 0x39, 0x2E, 0x31, 0x35, 0xAE, 0x8E,
  35.   0xE9, 0x7F, 0xBB, 0x89, 0xF6, 0xC1, 0xB8, 0x54, 0xE3, 0xDC, 0xB7, 0x30
  36. };//特别注意Keil C51请用code替换const
  37.   crc = GetCRC32R_EDB88320_4BFAEA03_00000000_Table((unsigned char *)dataTable, sizeof(dataTable));
  38. //表格函数返回crc=0x00000000,与HotWC3运算相同
  39.   while(crc | 1);//死循环,请在此处设置断点,验证函数返回值crc是否正确!!!
  40.   return 0;
  41. }
复制代码


可以看到表格数据类型长度减半,特别适合:
8位MCU做CRC16,16位MCU做CRC32,32位MCU做CRC64

菜农HotPower@163.com 2019.9.15于西安雁塔菜地

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-9-15 06:41:40 来自手机 | 显示全部楼层
牛皮吹的响。不如来做一道幼儿题目。来破解一下这个AES加密的字符串是什么吧 a462a18a03010a31a87c51206d6da9c5

出0入0汤圆

发表于 2019-9-15 09:32:55 | 显示全部楼层
你这样是不对的,我们要更加深入的讨论,既然楼主说到攻防,咱们就论攻防。

hotcrc的本质还是校验,既然都已经知道了CRC0[8]是CRC的版本权校验,那么要破解的关键就是在计算之后,就把CRC0[8]全部置0就好了。

然后楼主说我没有给你反汇编的空间,所有的空间我都用完了,其实上找几条无关紧要的指令把你CRC0[8]置0并不是难事。

出0入0汤圆

发表于 2019-9-15 09:44:40 | 显示全部楼层
菜农前辈,这里是技术论坛,大家都不喜欢豪言壮语和官话套话的。只把技术本身讲解清楚就行了。
什么第一第二的,什么天下无贼,一生致力于,说实话第一眼看就是不知所云,感觉在向不懂技术的领导邀功呢。
难道技术大牛都是智商超高,而情商是短板吗?

出130入129汤圆

发表于 2019-9-15 09:46:22 | 显示全部楼层
精力充沛啊

出0入442汤圆

发表于 2019-9-15 10:46:27 来自手机 | 显示全部楼层
68336016 发表于 2019-9-15 09:46
精力充沛啊

哈哈,是啊,感觉版块都被刷屏了

出0入0汤圆

发表于 2019-9-15 10:54:16 | 显示全部楼层
本帖最后由 CoolBird007 于 2019-9-15 11:01 编辑
anjiyifan 发表于 2019-9-15 09:44
菜农前辈,这里是技术论坛,大家都不喜欢豪言壮语和官话套话的。只把技术本身讲解清楚就行了。
什么第一第 ...


情商跟智商不成反比的吧。

出0入0汤圆

发表于 2019-9-15 11:10:43 | 显示全部楼层
CoolBird007 发表于 2019-9-15 10:54
情商跟智商不成反比的吧。

没说成反比。只是单纯评价有一些技术大牛的通性。
但也许情商低只是我被表象所欺骗,实则大牛是真的高情商,故意采用一些言辞来吸睛,吸引大家关注吧。
喜欢这一套言辞的,必然成粉;不喜欢这种“高调”做法的,自然会去验证是真是假。大牛的研究成果经受住考验的话,就能最快速度在业界提高知名度。

出0入0汤圆

发表于 2019-9-15 13:03:39 来自手机 | 显示全部楼层
anjiyifan 发表于 2019-9-15 11:10
没说成反比。只是单纯评价有一些技术大牛的通性。
但也许情商低只是我被表象所欺骗,实则大牛是真的高情 ...

透彻,当我们跟他开始较真的时候,我们已经输了,或者入套了。

出0入0汤圆

 楼主| 发表于 2019-12-28 18:24:24 | 显示全部楼层
菜农无话可说~~~看菜农直播吧:http://bbs.hotfsp.com/index.php?board=59.0

出105入79汤圆

发表于 2019-12-30 02:12:26 | 显示全部楼层
我看懂了,是一种利用CRC算法处理单片机唯一ID加密的技术,然后构造程序代码,防止被读出hex后去掉判断。

出200入429汤圆

发表于 2020-1-9 16:21:52 | 显示全部楼层
帖子内容发的对应技术板块不一样的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 17:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表