日期:2014-05-19  浏览次数:20894 次

反编译及破解高手请指教:反编译后无法加载非.NET类型DLL
有两个.NET程序集A,B和一个非.NET程序集sql3,A引用B,B引用sql3,我反编译了A,没有反编译B,生成可以成功,但调试的时候报错
this.X23988168652cff1f.ConnectionString   =   "Data   Source=math.dll;New=True;Compress=False;Synchronous=Off;UTF8Encoding=False ";
this.X23988168652cff1f.Open();//在这里报错

无法加载   DLL“sql3”:   找不到指定的模块。   (异常来自   HRESULT:0x8007007E)。

   请问这个原因是不是因为我未编译B的问题,但我查强名称的时候,好像都没有;
      非常困惑,请大侠不吝赐教!

------解决方案--------------------
如果没有反编译前可以正常运行,那么跟B没有关系。
检查A里边使用B的地方,特别是传进的参数。
------解决方案--------------------
跟机器又没有关系要看代码才知道。你是说反编译后的程序,拿到笔记本上编译也能执行?只是在台式机不能执行?
------解决方案--------------------
你台式机上运行过未反编译的版本吗?我怀疑这是个Com的Dll,需要注册。用regsvr32注册试试