使用Dotfuscator混淆调用WebService的程序

今有应用程序 WindowsFormsApplication1 和WebService WebService1.asmx,WindowsFormsApplication1调用WebService1,引用名称为localhost。

WebService代码

Code

 

应用程序代码

Code

 

编译后运行,正常。

使用Dotfuscator对该应用程序进行混淆后运行,调用WebService处引发 System.Configuration.SettingsPropertyNotFoundException 异常,错误信息如下

Code

 

从错误信息中可以看出程序运行时找不到名为“WindowsFormsApplication1_localhost_WebService1”的属性,该属性被混淆器改了名称了,所以找不到。打开Dotfuscator查看“Rename”选项卡,如下图

可以看到有读取属性WindowsFormsApplication1_localhost_WebService1的方法get_WindowsFormsApplication1_localhost_WebService1。要使混淆后的应用程序正常运行,可以选择不重命名“Settings”(选中该项即可)。另外,一样不能重命名WebService的方法,不然会引发“System.ArgumentException: xxxxxx Web 服务方法名无效。”(xxxxxx为服务方法名称)的异常。

不知是否还有更好的方法?

posted on 2008-11-02 00:09  客家网络  阅读(1181)  评论(3编辑  收藏  举报

导航