首页
社区
课程
招聘
请教自校验的原理
发表于: 2004-4-26 16:07 6912

请教自校验的原理

2004-4-26 16:07
6912
收藏
免费 6
支持
分享
最新回复 (12)
雪    币: 3246
活跃值: (374)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
2
这个很简单的,就是检查部分代码(或数据)或者全部代码的校验和是否是预定的值,或者某个地方的某几个字节是否是预期的值。如果不是程序就可能被修改了。

校验和可以是常用的crc16/crc32/md5/sha等算法的输出值,也可以是其它自定义的算法的输出。

检查可以针对磁盘文件,也可以针对内存里的image

EXE/DLL可以检查自己,也可以互相检查

如果只是一个简单的校验和比较,则很容易跳过;如果把校验和作为密钥什么的来解密/加密一些东东,那就强点
2004-4-26 18:17
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
版主果然厉害~~:D
2004-4-26 19:38
0
雪    币: 202
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能请教老大一点细节问题:
自效验结果一般存放在什么地方?放在可执行程序*.exe之外的地方(如另外一个文件中)是很自然的想法,也很容易实现,但是如何在源代码级上把自效验结果放在exe文件自身?因为源程序编译成可执行程序*.exe前还不能确定自效验结果。当然可以在编译好之后修改exe文件,在exe文件中加入自效验结果,但是这种方法未免比较笨。
2004-4-26 22:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 stuman 发布
能请教老大一点细节问题:
自效验结果一般存放在什么地方?放在可执行程序*.exe之外的地方(如另外一个文件中)是很自然的想法,也很容易实现,但是如何在源代码级上把自效验结果放在exe文件自身?因为源程序编译成可执行程序*.exe前还不能确定自效验结果。当然可以在编译好之后修改exe文件,在exe文件中加入自效验结果,但是这种方法未免比较笨。

ex1:在SourceCode中,判断file的大小是否大于XXX kb
ex2:加密壳本身对自身进行分段CRC
2004-4-26 23:30
0
雪    币: 3246
活跃值: (374)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
6
笨办法未必不是好办法呀:D

最初由 stuman 发布
能请教老大一点细节问题:
自效验结果一般存放在什么地方?放在可执行程序*.exe之外的地方(如另外一个文件中)是很自然的想法,也很容易实现,但是如何在源代码级上把自效验结果放在exe文件自身?因为源程序编译成可执行程序*.exe前还不能确定自效验结果。当然可以在编译好之后修改exe文件,在exe文件中加入自效验结果,但是这种方法未免比较笨。
2004-4-26 23:32
0
雪    币: 216
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
想看些示例
2004-4-27 01:09
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
8
可以找一些加壳软件代码看看
那里面都是这方面的操作,当然不是校验,不过看过以后你自己写校验我想都不成问题.
2004-4-27 09:17
0
雪    币: 202
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢各路高手和blowfish老大的指点:D
2004-4-27 11:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习
2004-9-1 21:13
0
雪    币:
能力值: (RANK: )
在线值:
发帖
回帖
粉丝
11
斑竹果然牛啊
自校验的程序代码能删掉吗
2004-9-2 10:27
0
雪    币: 204
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
又学到了一些,心情很爽!
2004-9-2 11:31
0
雪    币: 186
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这样的文章不错,要是能再细一些就好了。
2004-9-2 11:37
0
游客
登录 | 注册 方可回帖
返回
//