关于“无法显式调用运算符或访问器”的问题以及Reflector反编译dll文件再生成dll文件的问题...

 业余时间帮朋友做个网店,反编译了xpshop6.3版,研究了一下,顺便把免费版的限制给破解了。当然,他的内核dll文件是没有经过混淆的,算是捡了个大便宜。这里把反编译以后遇到的问题记录一下。

        反编译不用说了,用Reflector,免费又强大的工具谁不喜欢呢,安装FileGenerator的插件。然后直接生成vs2005的工程,嘿,你别说,还真贴心。然后我就看见工程了。奇怪,多出了个_PrivateImplementationDetails_XXXXXX.cs的cs文件,貌似自动生成的,删掉,否则工程就不能生成成功了。然后编译吧,傻眼了,一堆错误。其中以“无法显式调用运算符或访问器”居多,google一下,在这里看到提示。原来是Reflector的问题,在反编译的时候他把调用属性都变成了方法。比如Name.get_firstName("Hello"),应该为Name.firstName="Hello";还有,datarader的item经过反编译也会出错,比如inforeader.get_item("name").ToString(),其实应该是inforeader.["name"].ToString(),没办法,手工改吧。于是我就改了300多个错误........Innocent;还有,他还会报方法参数问题的错误,比如aa.Compare("helloworld","d",5),在5的未知显示参数错误,原来是本身这个位置的参数是一个枚举类型,反编译不知什么原因变成了第五个,于是改成枚举StringComparison.OrdinalIgnoreCase轻松搞定。

        经过一些别的修改,生成成功了。然后吧讨厌的免费版限制一一去掉,大功告成。

转载于:https://www.cnblogs.com/zhangbinghe/archive/2009/07/23/1529157.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值