首页
社区
课程
招聘
[求助]怎样用CRC保护自己的程序
发表于: 2007-3-11 18:04 3696

[求助]怎样用CRC保护自己的程序

2007-3-11 18:04
3696
各位大侠:
        能否给出一个具体的使用CRC保护自己的程序的例子 要求整个程序只要被改动一个字节就能被就检查出来 虽然看了些资料 但自己实现却错误百出 改了也不报错

例子中的CRC32码表用一个数组形象的表示一下就行了 不用复制那么多 也可以动态生成

用伪代码表示也行

                                                         谢谢

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
老罗 曾写过一篇这方面文章,你下载论坛精华找找。
一段标准的CRC32代码:

////////////////////////////////////////////////////////////////
// 计算字符串的CRC32值
// 参数:欲计算CRC32值字符串的首地址和大小
// 返回值: 返回CRC32值

DWORD CRC32(BYTE* ptr,DWORD Size)
{

        DWORD crcTable[256],crcTmp1;
       
        //动态生成CRC-32表
        for (int i=0; i<256; i++)
         {
                crcTmp1 = i;
                for (int j=8; j>0; j--)
                 {
                        if (crcTmp1&1) crcTmp1 = (crcTmp1 >> 1) ^ 0xEDB88320L;
                         else crcTmp1 >>= 1;
                }

                 crcTable[i] = crcTmp1;
         }
        //计算CRC32值
        DWORD crcTmp2= 0xFFFFFFFF;
        while(Size--)
        {
                crcTmp2 = ((crcTmp2>>8) & 0x00FFFFFF) ^ crcTable[ (crcTmp2^(*ptr)) & 0xFF ];
                ptr++;
        }
               
        return (crcTmp2^0xFFFFFFFF);
}
2007-3-11 18:07
0
雪    币: 437
活跃值: (273)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
3
谢谢坛主
    就要这个 老罗的我直接用论坛的搜索功能搜索了一下 好象没有 但让我想起来了 加密与解密 第二版光盘里有的 用汇编写的 回去好好研究一下
2007-3-11 18:18
0
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
软件加密技术内幕 光盘里有几个实例
2007-3-11 20:05
0
游客
登录 | 注册 方可回帖
返回
//