我们知道,以前在Windows下开发程序时常会遭遇著名的“DLL Hell”问题,即动态链接库的向后兼容问题。微软在.Net产生前曾尝试使用COM组件的方式来解决DLL Hell问题,即使用Guid来唯一的标识每一个COM组件。但是,实际上使用COM组件(包括版本升级)也是一件颇为麻烦的事:为了运行COM组件就必须在组册表中对其进行注册,重新编译有可能破坏Guid从而导致原来引用此COM组件的程序不能正确运行,等等。

在.Net中,微软引入了一种新的解决方案:强命名程序集(Strong Name),以及与之配套的全局程序集缓存(GAC)来解决这个问题。

强名称主要用处:就是防止dll被随意引用,另外控制版本,标识唯一性。

我们要破解或者汉化别人的东西
就要破解强命名或者 强行去掉强命名

否则会出现这样问题:


思路有两个

一个是直接去掉强命名

按常规简单地把强命去掉,还是不够完美
所以

第二个方案是替换强命名

问题是我找遍网络都没有找到那个SNR.exe
只好自己写了
这个强命名工具:

可以生成新PNK文件(相当于 -K)
替换程序集的强命名
除去强命名(调用SNRemove.exe,但是会有其他问题)
重新签名(相当于 -R)

建议 生成新PNK文件-〉替换程序的强命名
其他功能只是随便玩玩。。。。

所有的操作都不需要ildasm 反汇编
GUI 简单易用。。。。

程序使用组件 Sn.exe(位于 .net framework sdk目录下bin中)

snremove.exe

压缩包已经 附带 .net framework sdk 3.5的SN.exe 和snremove1.0

直接运行strongnamereplaceGUI.exe即可

运行必需软件

Windows Server 2003和Windows XP :
Microsoft .NET Framework 2.0 可再发行组件包 或者更高版本。

注意: .net framework sdk 3.5的SN.exe (压缩包带的)需要

Visual C++ 2008 Redistributable Package (visual c++2008 运行库)
(主要是MSVCR90.dll)

如果你使用的是 .net framework sdk 2.0的SN.exe
需要
Visual C++ 2005 Redistributable Package (visual c++2005 运行库)
(主要是MSVCR80.dll)

这几个组件 可以去baidu 之类地方找下载

下载.net framework 强命名工具

http://www.91files.com/?DT7T28TA1FELWJDWDZM5

http://rapidshare.com/files/291469235/snr.rar

下载.net framework 强命名工具4.0 兼容版:

必需软件:
Microsoft .NET Framework 4.0 可再发行组件包 或者更高版本。
Microsoft Visual C++ 2010 Redistributable Package

http://www.jandown.com/link.php?ref=jufAf3SPSS
http://www.aishare.net/link.php?ref=in5TkyztHD

http://www.easy-share.com/1912983314

转载于:https://www.cnblogs.com/javabluesky/archive/2009/10/11/2211642.html

自制的 .net framework 强命名工具(支持.net4)相关推荐

  1. 公共语言运行库中的程序集-04强命名的程序集

    具有强命名的程序集 强命名是由程序集的标识加上公钥和数字签名组成的.其中,程序集的标识包括简单文本名称.版本号和区域性信息(如果提供的话).强命名是使用相应的私钥,通过程序集文件(包含程序集清单的文件 ...

  2. 强命名保护DLL文件

    强命名保护DLL文件 Posted on 2009-03-19 14:32 花猫.NET 阅读(1390) 评论(2) 编辑 收藏  大家做项目开发一般都是分层的,比如UI层,业务层,数据访问层.业务 ...

  3. 第 3 章 共享程序集和强命名程序集

    3.1 节 两种程序集,两种部署 CLR 支持两种程序集:弱命名程序集(weakly named assembly,即无签名的程序集) 和 强命名程序集(strongly named assembly ...

  4. 自制 Word、Excel 批转 PDF 工具

    自制 Word.Excel 批转 PDF 工具 原文:自制 Word.Excel 批转 PDF 工具 目前做金融业的项目,该公司每天会产生很多 Word.Excel 文档,需要大量地转换为 PDF,除 ...

  5. CLR via C# 边读边想 03 - 本地程序集和强命名程序集

    Two Kinds of Assemblies, Two Kinds of Deployment CLR 支持两种类型的程序集:weakly named assemblies and strongly ...

  6. 共享程序集和强命名程序集(3):强命名程序集的一些作用

    强命名程序集能防篡改 用私钥对程序集进行签名,并将公钥和签名嵌入程序集,CLR就可以炎症程序集未被修改或破坏.程序集安装到GAC时,系统对包含清单的那个文件的内容进行哈希处理,将Hash值与PE文件中 ...

  7. 利用 .NET Framework 命令行工具

    ·         Al.exe:程序集链接器(Assembly Linker),该工具从一个或多个模块或者资源文件生成一个带有一个程序集清单的文件.模块是一个没有程序集清单的微软中间语言文件(MSI ...

  8. 自制批量 PDF 转图片的工具软件(附百度网盘地址)

    下载地址已经失效,请看最新文章! 自制批量 PDF 转图片的工具软件(附百度网盘地址) 闲的蛋疼,做了一个批量把PDF文件转为图片的工具软件,选择PDF文件所在的文件夹就可以了,它会自动搜寻该目录下面 ...

  9. 设置linux工具支持中文:

    设置linux工具支持中文: 一.设置/etc/sysconfig/i18n文件 (一) LANG="en_US.UTF-8" SUPPORTED="zh_CN.GB18 ...

最新文章

  1. Lotus Sametime 服务器的安装和配置
  2. NSIS 刷新ICO缓存
  3. 数据集特征提取_基于PCA算法实现鸢尾花数据集的特征提取任务
  4. 当装了两个tomcat后,如何修改tomcat端口
  5. javaEE完整体系结构
  6. 模拟人生畅玩版android,模拟人生畅玩版手机版
  7. 雷军接连退出多家小米关联公司董事职务
  8. error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMainFrame::* )(void)' to ...
  9. Linux下JAVA线程占用CPU高的分析方法
  10. python中对象的定义_全面了解python中的类,对象,方法,属性
  11. android字体单位sp,Android中的常用尺寸单位(dp、sp)快速入门教程
  12. 数据结构课程设计---图书管理系统
  13. C++中10的N次方如何表示
  14. 使用键盘设置桌面计算机图标的显示不出来,显示桌面,小编教你显示桌面图标不见了如何恢复...
  15. php西游记源码,基于Python第三方插件实现西游记章节标注汉语拼音的方法
  16. 几个生僻字:烎,囧、槑、玊、奣、嘦、勥、巭、嫑、恏、兲、氼、忈、炛
  17. 四叉树 Quadtrees
  18. vscode中自动换行快捷键_VSCode Mac实用快捷键、插件
  19. layui自定义新增tab页方法
  20. 量子计算机意识永生,量子计算机如何使未来的人类永生

热门文章

  1. 赛车编程用c语言,计算机c语言课程设计——赛车游戏.doc
  2. C语言樱花树代码来喽~
  3. php考研大学,这4所211院校考研率很高,普通一本生快看看,网友:靠谱
  4. margin padding 详解外边距疑惑
  5. 各种浏览器内核的比较
  6. Linux系统目录的管理
  7. 流放者柯南服务器失去信号,流放者柯南游戏无响应 找不到服务器解决办法
  8. 数理逻辑——PC部分
  9. 力士乐变频器调试软件RDwin11V09
  10. 利用Scrapy框架爬取LOL皮肤站高清壁纸