论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
CRC算法原理及C语言实现

[科技论文网] http://www.scipapers.com    2007-12-01  


            xor     byte ptr[buffer+di-1], bl ; Step 4
            dec     di                        ;/*
            jnz    computeReverseLoop         ; Step 5 */

    Notes:
    -Registers eax, di bx are used

    Implementation of GetTableEntry

    crctable        dd 256 dup (?)       ;should be defined globally somewhere & initialized of course

            mov     bx, offset crctable-1
    getTableEntryLoop:
            add     bx, 4                ;points to (crctable-1)+k*4 (k:1..256)
            cmp     [bx], al             ;must always find the value somewhere
            jne     getTableEntryLoop

            sub     bx, 3
            mov     eax, [bx]
            sub     bx, offset crctable
            shr     bx, 2

            ret

    On return eax contains a table entry, bx contains the entry number.


    Outtro

      好了...你终于读到了本文的结尾.假如你认为从此不管对什么样的CRC保护都可以说bye
    bye了,那么你错了,不是的!很容易就可以写出对付破解CRC的代码的.想要成功的破解CRC
    你需要知道在一个保护中,到底使用的是那一种CRC算法,并且要知道CRC的具体的计算位置.
    比如说这里一种简单的对策就是使用2种不同的CRC算法,或者可以结合其他的数据保护算法
    共同使用.
      无论如何...我希望所有这里所介绍的内容都是受人关注的,并且我希望你(读者)可以很
    高兴的读着篇文章,就象我很高兴写一样.   


               

    翻译过程中难免有错误,不当之处,请见谅.              译者:  arbiter
                                                        2001-2-8 22:41
                                                       
                                                       
                                                       
    Fnx go out to the beta-testers Douby/DREAD and Knotty Dread for the good
    comments on my work which made it even better!

    For a sample CRC-32 correcting patcher program visit my webpages:
        http://surf.to/anarchriz  -> Programming -> Projects
    (it's still a preview but will give you a proof of my idea)

    For more info on DREAD visit http://dread99.cjb.net

    If you still have questions you can mail me at anarchriz@hotmail.com,
    or try the channels #DreaD, #Win32asm, #C.I.A and #Cracking4Newbies (in that
    order) on EFnet (on IRC).

    CYA ALL! - Anarchriz

    "The system makes its morons, then despises them for their ineptitude, and
    rewards its 'gifted few' for their rarity." - Colin Ward


    附录:

    CRC-16 Table

      00h   0000 C0C1 C181 0140 C301 03C0 0280 C241
      08h   C601 06C0 0780 C741 0500 C5C1 C481 0440
      10h   CC01 0CC0 0D80 CD41 0F00 CFC1 CE81 0E40
      18h   0A00 CAC1 CB81 0B40 C901 09C0 0880 C841

      20h   D801 18C0 1980 D941 1B00 DBC1 DA81 1A40
      28h   1E00 DEC1 DF81 1F40 DD01 1DC0 1C80 DC41
      30h   1400 D4C1 D581 1540 D701 17C0 1680 D641
      38h   D201 12C0 1380 D341 1100 D1C1 D081 1040

      40h   F001 30C0 3180 F141 3300 F3C1 F281 3240
      48h   3600 F6C1 F781 3740 F501 35C0 3480 F441
      50h   3C00 FCC1 FD81 3D40 FF01 3FC0 3E80 FE41
      58h   FA01 3AC0 3B80 FB41 3900 F9C1 F881 3840

      60h   2800 E8C1 E981 2940 EB01 2BC0 2A80 EA41
      68h   EE01 2EC0 2F80 EF41 2D00 EDC1 EC81 2C40
      70h   E401 24C0 2580 E541 2700 E7C1 E681 2640
      78h   2200 E2C1 E381 2340 E101 21C0 2080 E041

      80h   A001 60C0 6180 A141 6300 A3C1 A281 6240
      88h   6600 A6C1 A781 6740 A501 65C0 6480 A441
      90h   6C00 ACC1 AD81 6D40 AF01 6FC0 6E80 AE41
      98h   AA01 6AC0 6B80 AB41 6900 A9C1 A881 6840

      A0h   7800 B8C1 B981 7940 BB01 7BC0 7A80 BA41
      A8h   BE01 7EC0 7F80 BF41 7D00 BDC1 BC81 7C40
      B0h   B401 74C0 7580 B541 7700 B7C1 B681 7640
      B8h   7200 B2C1 B381 7340 B101 71C0 7080 B041

      C0h   5000 90C1 9181 5140 9301 53C0 5280 9241
      C8h   9601 56C0 5780 9741 5500 95C1 9481 5440
      D0h   9C01 5CC0 5D80 9D41 5F00 9FC1 9E81 5E40
      D8h   5A00 9AC1 9B81 5B40 9901 59C0 5880 9841

      E0h   8801 48C0 4980 8941 4B00 8BC1 8A81 4A40
      E8h   4E00 8EC1 8F81 4F40 8D01 4DC0 4C80 8C41
      F0h   4400 84C1 8581 4540 8701 47C0 4680 8641
      F8h   8201 42C0 4380 8341 4100 81C1 8081 4040


    CRC-32 Table

      00h   00000000 77073096 EE0E612C 990951BA
      04h   076DC419 706AF48F E963A535 9E6495A3
      08h   0EDB8832 79DCB8A4 E0D5E91E 97D2D988
      0Ch   09B64C2B 7EB17CBD E7B82D07 90BF1D91

      10h   1DB71064 6AB020F2 F3B97148 84BE41DE
      14h   1ADAD47D 6DDDE4EB F4D4B551 83D385C7
      18h   136C9856 646BA8C0 FD62F97A 8A65C9EC
      1Ch   14015C4F 63066CD9 FA0F3D63 8D080DF5

      20h   3B6E20C8 4C69105E D56041E4 A2677172
      24h   3C03E4D1 4B04D447 D20D85FD A50AB56B
      28h   35B5A8FA 42B2986C DBBBC9D6 ACBCF940
      2Ch   32D86CE3 45DF5C75 DCD60DCF ABD13D59

      30h   26D930AC 51DE003A C8D75180 BFD06116
      34h   21B4F4B5 56B3C423 CFBA9599 B8BDA50F    来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

上一页 1 2 3 4 5 6 7 8 9 下一页  
CRC算法原理及C语言实现
下面没有链接了     欧几里德算法及其实现
最新论文
·[程序设计]CRC算法原理及C语言实现
·[程序设计]欧几里德算法及其实现
·[程序设计]蚁群算法Python实现
·[程序设计]图像二值化算法源码
·[程序设计]经典面试问题:12小球问题算法2
·[程序设计]经典面试问题:12小球问题算法
·[程序设计]图像几何变换插值算法
·[程序设计]C算法—堆排序
·[程序设计]人机博弈程序实现
·[程序设计]A*算法Python实现
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com