为了防止主程序被修改,想用CRC进行自校验。现有CRC32源吗,但不知道如何进行自校验。
CRC自校验防止主程序被修改的原理是什么?
如我用CRC32得到一个文件的数据如下:
Results:
File Size:51200
CRC32:729CA81C
Time:6.87238182506436E-04
但我要求是程序本身,不是某一文件(但这个容易解决,指向自己的*.exe就可以了)关键是如何判断,如何知道自己的程序已被修改,如果被修改,就停止执行或进行相应的处理。请问如何实现?或他的原理是什么?谢谢!!!

解决方案 »

  1.   

    你是否需要CRC的函数啊?我有一个,因为我是做单片机串口的,要用到。
      

  2.   

    http://www.xf3924.com/bbk/showbbs.asp?bd=8&id=34&totable=1自己去看,都有代码了。对了,楼主可得给分哦!先谢谢了
      

  3.   

    各位老大,我已有了CRC32函数?但不知道如何进行自校验。我用CRC32函数产生如下数据:
    Results:
    File Size:51200
    CRC32:729CA81C
    Time:6.87238182506436E-04
    懂得的朋友,帮我一下啊!
      

  4.   

    你把你的CRC32给我,我就帮你写个
      

  5.   

    先用你的CRC32读出正常运行程序的CRC32码。系统在运行的时候,同时读一下运行文件的CRC32码,如果相同,则正常运行,不同说明程序被改了则END
      

  6.   

    先用你的CRC32读出正常运行程序的CRC32码??如果被修改了也就不正常了,那到哪里去读正常运行程序的CRC32?如果把正常读出来的CRC32用字符串的方式放在程序中,那Cack直接修改这个字符串已达到修改后运行文件一样的CRC32,是不是又没用了?