跟着小生学逆向之文件检测

本文介绍了CRC循环冗余校验的原理,包括其与文件检测的关系,基本原理及生成步骤。接着,通过分析代码展示了CRC在校验apk中的作用,解释了如何通过CRC来保护apk的完整性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天小生分享一下刚get到的新技能,文件检测,让我们可以一起在逆向这条路越走越远!工资越来越高!

1、CRC循环冗余校验的原理

1)、文件检测和CRC的关系

差错校验码:(特征)信息字段和校验字段的长度可以任意选定。

2)、循环冗余校验(CRC)的基本原理

根据(N.K)码,生成多项式G(x),进而生成K位信息的校验码。

在k位信息码后在拼接R位的校验码,整个编码长度为N位,因此这种编码又叫(N,K)码,对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-R=K的多项式G(x)根据(G)x可以生成K位信息的校验码。

校验码的具体生成过程为:假设发送信息用信息多项式C(x)表示,将C(x)左移R位,则可表示成C(x)*2的R次方。这样C(x)的右边就会空出R位,这就是校验码的原理。
通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。

3)、CRC码的生成步骤

在这里插入图片描述
首先,将x的最高次幂为R的生成多项式G(x)转换成对应的R+1位二进制数,将信息码左移R位,相当于对应的信息多项式C(x)*2的R次方,用生成多项式即二进制数对信息码做除,得到R位的余数,将余数拼到信息码左移后空出的位置,得到完整的CRC码。

2、分析代码-CRC校验在apk保护中的作用。

对含有CRC循环冗余检测的代码进行分析。

CRC校验中有两个关键点,一是要预先确定一个发送端和接收端都用来作为除数的二进制比特串或多项式,二是把原始帧与上面选定的除进行二进制除法运算,计算出FCS即帧校验序列。
CRC校验在apk保护中的作用<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值