这几天学习crack,呵呵。它是一个组件。打好patch之后,运行它自带的demo程序,运行后一个错误,如下所示:
Unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately. Could not load file or assembly '***, Version=*.*.*.*, Culture=neutral, PublicKeyToken=*****' or one of its does not match the assembly reference. (Exception from HRESULT: 0x80131040).
仔细的想了一下,突然有点明白了。原来demo程序引用的是是“原来的经过签名的程序集”,而我在将其从GAC卸载并向其可执行文件所在的路径复制了一个打过补丁的程序集之后,可执行文件虽然能够找到破解后的程序集,但是与它所希望的并不一致,简单的说就是demo.exe引用的程序集与CLR loader所找到的程序集不匹配。
解决方法:
重新编译demo程序,移除对原程序集的引用,而改为对打过补丁的程序集的引用,重新构建,执行,OK...
后记:
在MSDN中也有人问过这个问题,请参考http://forums.microsoft.com/msdn/ShowPost.aspx?siteid=1&PostID=71023。