CRC32算法逆向分析

本文探讨了CRC32算法,重点分析了算法的表构建过程,通过C语言代码展示了如何填充该表,内容涉及算法逆向分析。
摘要由CSDN通过智能技术生成

算法分为两部分:

1 表的构建

00401520   .  81EC 00040000 sub esp,0x400			;给表0x400字节的空间
00401526   .  33C9          xor ecx,ecx
00401528   .  8D5424 00     lea edx,dword ptr ss:[esp]	;edx保存当前栈顶
0040152C   .  56            push esi					
0040152D   >  8BC1          mov eax,ecx				;eax初始化为0
0040152F   .  BE 08000000   mov esi,0x8
00401534   >  A8 01         test al,0x1				
00401536   .  74 09         je Xanti-Bru.00401541		;al与1为0时跳转
00401538   .  D1E8          shr eax,1					
0040153A   .  35 2083B8ED   xor eax,0xEDB88320
0040153F   .  EB 02         jmp Xanti-Bru.00401543
00401541   >  D1E8          shr eax,1
00401543   >  4E            dec esi
00401544   .^ 75 EE         jnz Xanti-Bru.00401534		;循环次数为8次
00401546   .  8902          mov dword ptr ds:[edx],eax	;将8轮循环下来的值存入表中
00401548   .  41            inc ecx
00401549   .  83C2 04       add edx,0x4				;一个表项为32位,4字节
0040154C   .  81F9 00010000 cmp ecx,0x100			;循环次数为表的条目0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值