首页
社区
课程
招聘
[求助]程序调用自身MD5校验码能实现么??
2008-7-7 16:32 6958

[求助]程序调用自身MD5校验码能实现么??

2008-7-7 16:32
6958
开发的一个程序想防止爆破,设想在程序里面校验自身的MD5编码,但程序没有编译以前无法得到MD5校验值,编译后修改程序内置编码的话编译过后MD5值也改变了,有没有什么方法实现?
eg:
程序编译后md5值为a
程序里怎样才能预置编译好后的md5值?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 2314
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
shellwolf 10 2008-7-7 17:51
2
0
放在附加数据上。或计算时,跳过保存MD5校验数值的地方。或放在文件头某处。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bgcelite 2008-7-7 18:46
3
0
值得研究啊!!!
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
mstwugui 6 2008-7-7 19:39
4
0
其实这个想法意义不大,如果只是算程序本身的md5那遇到内存补丁或是系统hook怎么办?一样还是可以绕过的,精力花在这上面不如想想怎么把程序写的更实用

如果真要做,2楼的想法可以采纳,原则上计算md5时无论校验值保存在何处,必须跳过,编译成可执行文件以后再向md5校验值的位置写入正确的数值
雪    币: 3229
活跃值: (1536)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
lynnux 2008-7-7 21:58
5
0
想法不错啊,pe文件有几个区段,data段的数据可能会变化,text应该不会变化。一般都是检查text段是否变化,所以只能对text检查md5。另外,为了增加保护强度,建议对md5检测的那段代码用vm保护。
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ToT 2008-7-10 16:09
6
0
可以参考NetTransport的保护,散列值做RSA加密之后存成一个单独的文件
游客
登录 | 注册 方可回帖
返回