VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 6575|回复: 20

[讨论] 如何给程序加上CRC,防止修改内存呢?

[复制链接]
发表于 2013-9-2 11:33:01 | 显示全部楼层 |阅读模式
CRC校验目前我所知道是对游戏做保护后防止内存做修改的。那如何给自己的程序加上CRC 防破解修改内存呢?

传送在网上找的一份代码!

生成后直接说程序给修改了,应该是有BUG。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2013-9-2 11:33:16 | 显示全部楼层
沙发一个!!
回复 支持 反对

使用道具 举报

发表于 2013-9-2 12:33:50 | 显示全部楼层
内存保护?

点评

是的 防止修改内存  发表于 2013-9-2 12:39
回复 支持 反对

使用道具 举报

发表于 2013-9-2 14:00:23 | 显示全部楼层
本帖最后由 ? 于 2013-9-2 14:03 编辑

我的想法是const一个字符串A(比如"我是CRC啊啊啊啊"),用来编译后定位文件位置,然后手动patch他为CRC值,然后结合CRC校验取此值(校验代码处当然是取A地址处的值)来校验。
回复 支持 反对

使用道具 举报

发表于 2013-9-2 14:41:12 | 显示全部楼层
是?存????吧
有??就??
?上有代?

点评

不是讀寫監視.  发表于 2013-9-2 15:16
回复 支持 反对

使用道具 举报

发表于 2013-9-2 19:06:32 | 显示全部楼层
so easy  用结构化异常处理  多线程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-2 20:52:08 | 显示全部楼层
JuncoJet 发表于 2013-9-2 19:06
so easy  用结构化异常处理  多线程

说得也套深奥了吧!
回复 支持 反对

使用道具 举报

发表于 2013-9-2 22:47:26 | 显示全部楼层
?  发表于 2013-9-2 14:00
我的想法是const一个字符串A(比如"我是CRC啊啊啊啊"),用来编译后定位文件位置,然后手动patch他为CRC值, ...

像你这种CRC效验,只能针对某个区段,一般是效验代码段,不能能整个文件效验。
因为如果你改了那个"我是CRC啊啊啊啊"。文件的CRC也会改变。这样效验就会失败。
回复 支持 反对

使用道具 举报

发表于 2013-9-2 22:47:57 | 显示全部楼层
JuncoJet 发表于 2013-9-2 19:06
so easy  用结构化异常处理  多线程

VB的多线程不敢恭维啊。。。
回复 支持 反对

使用道具 举报

发表于 2013-9-2 22:50:59 | 显示全部楼层
本帖最后由 bxc1995 于 2013-9-2 22:52 编辑
?  发表于 2013-9-2 14:00
我的想法是const一个字符串A(比如"我是CRC啊啊啊啊"),用来编译后定位文件位置,然后手动patch他为CRC值, ...


想要效验全部区段,就把所有区段合并成一个数组,然后取CRC32值。在DOS和PE结构中,有很多不重要的值,比如那个时间戳,刚好能存下CRC32。
然后在Form_Load中合并区段,取CRC32,与PE文件头中的时间戳比较。
当然这种方法也有很多弊端,比如加壳之类的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-8-12 02:04

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表