首页
社区
课程
招聘
有没有这种保护方式?
发表于: 2007-3-12 15:32 3585

有没有这种保护方式?

2007-3-12 15:32
3585
有一游戏无壳,我想破解屏蔽作弊参数,在代码里找到了参数的地址:
如:
004B1658  2D 00 62 00 61 00 64 00 6E 00 65 00 77 00 73 00  -badnews
我把他试变成:
004B1658  2D 00 62 00 62 00 64 00 6E 00 65 00 77 00 73 00  -bbdnews

然后保存运行,游戏运行中偶尔会出错(如出现发送错误报告之类的),用Stud_PE查看了一下,除CheckSum值不一样外,其它一样.
原文件:CheckSum原为00000000,点后面的问号后变为:000E5CBC
修改后的文件:CheckSum原为00000000,点后面的问号后变为:000E5CBD

所以我又把EXE中改为:
004B1658  2D 00 61 00 62 00 64 00 6E 00 65 00 77 00 73 00  -abdnews

这样就可正常运行了(但可以用-abdnews作弊)...用Stud_PE查看了一下,CheckSum均为000E5CBC

难道文件还采用了CheckSum保护?怎么保护的?如何破解?我还曾试着破解别的功能,也是因为CheckSum发生变化了,游戏运行中偶尔会出错(出现游戏异常或发送错误报告之类的)...希望高手给予讲解一下...

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
自校验,再常见不过了
CHECKSUM也是自校验

估计是将字符的ACSII码加起来,不等于某个值就报错
所以可以换顺序,不能换字符
2007-3-12 17:14
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
对字符串存放区的数据我们可以换顺序,但对代码段呢?当然不能换顺序了...那该怎么办?checksum有什么规律?我们怎么跳过自校验呢?
2007-3-12 19:09
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我试过只要改一下代码的任一处,四位的checksum码的倒数第二位就会变化...好象就是这个规律...字符串数据影响最后一位....
这怎么办呀?难道不能在程序中检测checksum的代码处想想办法,让他接受或忽略新值?
2007-3-12 20:07
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
顶一下,不然又沉下去了...
都成天研究破壳,连这个简单的、早期的保护方式的详细原理都没人知道?如何破这个?
2007-3-13 10:19
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
顶一下,请版主关注
2007-3-16 21:42
0
游客
登录 | 注册 方可回帖
返回
//