为PE文件添加CRC32自效验

<script type="text/javascript"> </script> <script type="text/javascript"> </script> 标 题: 【原创】(高手勿进)为pe文件添加CRC32自效验的小程序(vc)
作 者: sdzbyy
时 间: 2007-05-23,00:49
链 接: http://bbs.pediy.com/showthread.php?t=45074

学习CRC32的一个习作,老实说,对CRC的原理还是不太明白,我是菜鸟,请大家不吝赐教。


原理:

     关于CRC32知识,这里有很好的解释http://www.pediy.com/tutorial/chap6/Chap6-2-4.htm


步骤:

     pe文件通过比较自己的CRC32效验值,来判断自己是否被改写。
     (1)为原pe文件添加一个新的节,将自效验部分(Loader)写入该新节。
     (2)将原pe文件的ep改为新节的开始。
     (3)计算原pe文件部分(在程序里计算的是从pe文件的开头到+0xe5)的CRC32效验值,并将该效验值保存在Loader中。
     (4)修改后的pe文件开始运行时,先计算相应部分的(在程序里计算的是从pe文件的开头到+0xe5 )CRC32效验值。与原pe文件的CRC32效验值比较,若相等则跳转到原pe的ep,否则直接调用ExitProcess退出。


测试:

     (1)打开程序CRC32为记事本添加自效验。
     (3)修改从记事本开头到0xe5范围内的任意一个字节(不要修改关键数据,如“MZ“),再运行,记事本直接ExitProcess,退出。

 

 

说明:
     (1)源码在vc7+xp_xp2下编译通过。
     (2)卡巴斯基会将已添加自效验的记事本误报为病毒。
     (3)因为图简单所以将自效验的范围定为"MZ"到0XE5。(添加了新的节以后,记事本的头部会改变,但0xe6之前的不会变)
     (4)在调用ExitProcess时使用了硬编码:mov eax,07c81caa2h(Kernel32.ExitProcess),call eax

 

源码:

 

 

本文转自:http://blog.csdn.net/rainertop/archive/2008/08/09/2789491.aspx

如果您还在销售未经保护的软件,您可能会因软件盗版而失去应有的市场与利润。 而我们的目标就是提供给您稳定可靠的软件保护技术,保护您的合法利益免受盗版的侵蚀。 如果你是刚刚开始接触软件保护产品,或者您欲了解PECrcPack有何特殊优势,欢迎洽询! 产品特点: PECrcPack是为软件共享作者提供的一种智能型的软件保护工具,PECrcPack顾名思义,既可压缩PE文件, 也可进行CRC校验PECrcPack基于软件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。 目前市场上该类产品太多而且太杂,导致用户不知道选择哪种可靠的产品。PECrcPack新技术的推广与应用上, 始终保持着业界领先的优势。因为我们相信:为用户带来价值,就是我们的价值。 PECrcPack能给共享作者带来什么? 软件共享作者可PECrcPack对软件进行数据保护,从而保护您的软件不被盗版,保证您的市场免受盗版的侵蚀。 共享作者可以利用PECrcPack压缩,减小软件自身的大小。 使用PECrcPack,可以对软件对行自身校对验,保证您软件不被恶意修改。 使用PECrcPack,软件共享作者只需付一次费用,即可多次使用在您的软件当中。 使用PECrcPack校验,不会被杀毒软件误当为木马杀之。 使用方便、安全。价格实惠。 试用版本只使用压缩功能。其它功能必须注册版才可使用。 联系:joe-lu@163.com 网址:http://soft.eastrise.net/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪宁宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值