我对.net完全陌生,尤其是c# 3.0,我正在开发一个访问数据库包装应用程序,因为我们需要保护数据库的密码和内容不被第三方开发人员直接访问。
我目前正在测试编写一个简单的客户端应用程序来触发 dll 中的函数,令我惊讶的是,每次我遇到错误时,我都可以看到该项目中的所有源代码,其中显示了确切的源代码。
所以我知道我可能在这里遗漏了很多明显的东西,但是我该如何编码才能避免这种情况发生,这样我们就可以向第三方开发人员隐藏 dll 中的代码呢? 或者这是一个仅因为两个项目都在我的电脑中而发生的设置事情?
谢谢:)
更新:
经过一番浏览后,我发现了这个之前关于好的混淆工具的讨论
我尝试了这个名为 Eazfuscator.Net 的工具,在混淆了 dll 后,我尝试查看再次使用.net Reflector或通过vsexpress2008调试它,什么都没有显示:)
i'm totally new to .net especially with c# 3.0 and i'm working on an access database wrapper application because we need to protect the password and content of the database from being directly accessed by a third party developer.
I'm currently testing to write a simple client app to trigger the functions in the dll and to my suprise, everytime i hit a bug i can see all the source codes in this project which shows the exact source code.
So i know i'm probably missing a lot of obvious stuff here, but how do i code it so that this won't happen, so we can hide the code in the dll from the third party developer? Or is this a setting thing which only happens because both projects is in my pc?
thanks :)
Updates:
After some browsing around, i found this previous discussion on good obfuscation tool
and i try this one tool called Eazfuscator.Net and after obfuscating the dll, i try to view it again using .net reflector or debug it via vs express2008, nothing shows no more :)
发布评论
评论(1)
您看到的是确切的代码,因为源代码位于您的计算机上,但是,对于您的第三方开发人员来说,使用 反射器。 为了防止类似的情况,您可能需要使用代码混淆实用程序,例如Dotfuscator(您可能需要付费版本而不是社区版本),使得从中间代码重构代码变得更加困难。
You're seeing the exact code because the source is on your machine, however, it will be trivial for your third-party developer to reverse engineer the code from the DLL using a tool such as Reflector. To prevent something like this, you may want to use a code obfuscation utility, such as Dotfuscator (you may want the paid version instead of the community version), to make it more difficult to reconstruct the code from the intermediate code.