【发布时间】:2013-02-12 23:22:17
【问题描述】:
我必须保护我的程序,它是用 .NET 编写的。我决定使用themida保护器来虚拟化一个小dll(用C编写),它将被加载到主程序中(通过PInvoke)来激活它。
出于某种特定原因,我需要使用 /clr 键编译保护 dll。库不导出任何托管类型,因此可以在那里使用 themida。
但我对受保护的 dll 有一些问题。当dll在clr支持下编译并受themida保护时,在DllMain中会死锁。在这种情况下,看起来themida 将一些托管调用放入 DllMain。有没有办法解决这个问题并防止死锁?
【问题讨论】:
-
那是一条相当严重的失败鲸鱼。您需要联系供应商以获得支持。他们需要比您在此处发布的“它不起作用”信息更好的信息,至少是死锁线程的堆栈跟踪和您的 DllMain() 代码(如果有)。
-
谢谢,汉斯。我已经与供应商支持联系,现在正在等待回复,但另外我正在尝试其他方式 =)
标签: c++ dll clr protection mixed-mode