首页
社区
课程
招聘
[原创]本机突破.net Framework强名称验证 1.1
发表于: 2006-2-1 17:40 8791

[原创]本机突破.net Framework强名称验证 1.1

2006-2-1 17:40
8791

由于.net下没有动态调试工具,所以很多时候都是修改文件,加入自己的代码来执行(比如在特定位置dump)。但是,对于强名称验证,修改将导致验证失败。如果删除强名称或者用其他密钥对签名,会导致publickey不同,程序里一个AssemblyName.GetPublicKey就死翘了。

所以,能蒙混过系统的验证最好。StrongName强名称相关的操作在mscorsn.dll里,里面有三个导出函数是验证相关的:
StrongNameSignatureVerification
StrongNameSignatureVerificationEx(调用StrongNameSignatureVerification)
StrongNameSignatureVerificationFromImage

为了保险起见,把StrongNameSignatureVerification和StrongNameSignatureVerificationFromImage都patch掉:

StrongNameSignatureVerification

xor eax,eax
inc eax
retn 0ch

StrongNameSignatureVerificationFromImage

xor eax,eax
inc eax
retn 10h

保存,替换原来的mscorsn.dll。运行一个修改过的具有强名称的.net可执行文件,成功~ 记得没事的时候要改回去哦,改回去要安全一些的。

有什么错误缺漏还请大虾们指正,谢谢。

注 以上环境为.net Framework 1.1

Bi11[CCG]
1 Feb 2006


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
2
辛苦了,收藏
2006-2-1 21:57
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
漂亮
2006-2-2 15:01
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
漂亮漂亮漂亮
2006-2-4 20:47
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
留足 备忘
2006-2-5 00:04
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
6
留足 备忘
2006-2-5 00:22
0
游客
登录 | 注册 方可回帖
返回
//