如何汉化.Net的DLL文件 1、该DLL的字符串是以资源文件形式存在2、无法确认是否存在强签名保护 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用ILDASM反编译,查找ldstr,把字符串全换成中文,再修改资源文件里面的文字,再用ILASM编译成exe/dll不过,强名的被别的Assembly引用的话就麻烦了,还要把别的Assembly的引用的强名去掉 1)用工具去掉其强命名保护2)用Reflector的FileDisassembler反编译其项目,然后替换Resource文件。 直接使用 Reflector反编译,然后,修改后再编译回来就行了:) 1、ILDASM反编译已经成功2、编辑资源文件....strings.resources提示很多错误反编译回去如果没有问题,我就不问这个问题了——实际上是有源代码的,但是不知道为何源代码编译后有不小的问题;这种还有源代码的情况下如何处理呢?? 也可以采用外挂的方式,在程序运行后修改其对象的Text属性。有个C#的项目叫“ObjectSpy”可以参考一下。 有源代码的话,只需要在原有A.resx同级制作A.zh-CN.resx文件。详细的请参看MSDN中关于国际化的相关内容。都是很标准的东西。 对,和资源文件名有关,详细知识参见《C#高级编程》第四版第17章第3节以后,国际化与本地化。简单说下:对于应用程序,当前线程Thread.CurrentThread 有两个属性CurrentCulture和CurrentUICulture,表示当前线程的文化和程序界面文化,CurrentCulture默认是主机上控制面板里区域和语言选项的设置,CurrentUICulture默认是CurrentCulture的值。当然可以在编程时修改,让程序显示外国文字和使用外国文化(时区,格式化,排序等规则)。现在的问题是:你程序的文化为中文,但没有对应的中文资源文件可用,所以程序会回退选择默认的资源文件。你要做的就是添加一个中文资源文件。例如你原来的资源文件为A.resX,中文的资源文件应该是叫A.zh-CN.resX(中文分好多区域,根据你的机器情况来定),A.resX里的字符串Str1叫“Good Morning”,你复制出的A.zh-CN.resX里的字符串Str1就叫“早上好”,当程序调用资源文件A.resX的字符串Str1时,会根据Thread.CurrentThread.CurrentUICulture的值,选择特定文化的资源文件的字符串值。 详细看书,一切都在书里。网站也有类似的本地化功能,例如在日本服务器上运行中文网站,但设置方法不太一样。这部分知识很有用。那本书的扫描pdf版在网上可以down 简单问题,ASCII之间的转换 COM方面的问题。注册表中未找到组件,但程序里用guid引用了,为什么能用 C#查找webbrowser中的对话框 求助,怎么在多线程中操作webbrowser 争求意见使用什么语言开发软件 没分了,全给大家了 早来早得分,简单问题 DataGrid内嵌DropDownList,加载时就已经绑定某一列数据. wpf,下拉列表下拉时显示树结构. GMap.NET根据坐标查询地址描述 极其简单 ,及其 基础的 问题 帮助
不过,强名的被别的Assembly引用的话就麻烦了,还要把别的Assembly的引用的强名去掉
2)用Reflector的FileDisassembler反编译其项目,然后替换Resource文件。
2、编辑资源文件....strings.resources提示很多错误反编译回去如果没有问题,我就不问这个问题了——实际上是有源代码的,但是不知道为何源代码编译后有不小的问题;
这种还有源代码的情况下如何处理呢??
有个C#的项目叫“ObjectSpy”可以参考一下。