我打算发布一个价格低廉的小型实用程序.由于这比业务更重要,我计划使用随VS2008一起提供的Dotfuscator Community Edition.
有多好?
我还可以使用"足够好的混淆器"的定义 - Dotfuscator Community Edition缺少哪些功能以使其足够好.
编辑:
我检查了商业混淆器数量的定价,它们花了很多钱.这值得么?
商业版本是否更好地防止逆向工程?
我并不十分害怕我的应用程序被破解(如果应用程序非常糟糕,没有人有兴趣破解它,那将会令人失望).它无论如何都没有受到严密保护,而不是在代码中的几个地方进行过于复杂的串行密钥和许可证检查.它只是让我感到困惑,没有混淆,有人可以轻松获取源代码,重新命名并将其作为自己出售.
这会发生很多吗?
编辑2:
有人可以推荐商业混淆器.我发现很多,它们都很贵,有些甚至没有列在网站上的价格.
功能明智,所有产品似乎或多或少相似.
混淆器应该具有的最小功能集是什么?
如果会发布ClickOnce版本,Dotfuscator如何对其进行模糊处理?
我使用Dotfuscator来保护我的应用程序免受逆向工程我加密了Windows应用程序中的dll文件,但我怎样才能在OSX/MonoTouch中执行此操作?
从ipa中提取dll,然后在windows中混淆dll,并将加密的dll重新打包到IPA中,然后将其发布到appstore?
有没有简单的解决方案?
我的应用程序访问了许多Web服务,例如Twitter和Flickr.它使用来自这些服务的API密钥,我想在我的二进制文件中对它们进行模糊处理.(我真的不担心盗版或其他什么,我只需要保密这些密钥.)
什么是最好的方法呢?
如果我将它们存储为const SecureString,是否会使它们无法存储?MSDN描述说文本"不再需要时从计算机内存中删除",但不是常量内存中的常量?
Dotfuscator会在我的装配中掩盖它吗?(假设我可以让它工作.)
我的公司使用Dotfuscator进行.NET应用程序混淆.它工作得很好,但是我注意到在构建过程中它是一个单线程操作.Dotfuscator.exe总是运行在我们的8核心构建机器的单个核心上,它让我在里面哭了一点.
是否有一些魔力让它运行更平行?魔术/ MPgogogo旗帜?Bueller?
Dotfuscator如何工作?我试着对我的一些类进行模糊处理,并将方法/类重命名为a,b,c等.但是我仍然能看到这些方法中的代码?是这样,我做错了什么?
有什么东西可以防止完全阻止我的装配拆卸吗?
我正在为WP7工作的XNA游戏支持多种语言.但是,在混淆过程中似乎发生了一些事情,这似乎导致语言总是被设置为英语(在这种情况下是默认语言),至少根据Resource类.
例如,每个资源包都包含以下定义:
RESOURCE_IDX -> #
Run Code Online (Sandbox Code Playgroud)
每个资源包都有不同的#.在未混淆的构建中,将根据设备的当前语言提取正确的索引.但是,一旦发生混淆,Resource
即使设备设置为西班牙语,该类也会自动选择与英语关联的值.
是否有一个我在混淆过程中缺少的设置导致了这个?
你们有没有遇到过这个问题?
我试图在运行Windows 7 Professional SP1的计算机上混淆使用Visual Studio 2008 SP1上的C#/ .NET 3.5编写的解决方案,并在使用Dotfuscator Community Edition时不断收到相同的错误
无法找到在程序集上运行的兼容版本的ildasm(解决方案输出exe的有效路径).此程序集最初使用.NET Framework v2.0.50727构建
我已经尝试过谷歌搜索,到目前为止没有任何帮助(或者,或者我的Google-Fu让我失望).
我已经尝试重新安装Windows SDK,并重新安装Visual Studio 2008,但都没有帮助.
我假设这是导致问题的Dotfuscator社区版,因为同事在他的机器上使用相同的xml设置文件,并且它对解决方案进行模糊处理没有问题.
我的想法是,正如它在错误消息中所说,Dotfuscator找不到与.NET 3.5兼容的ildasm(用于混淆的库/函数?)文件,只有.NET 2.x. 这是正确的讽刺吗?
之前,Dotfuscator工作得很好.但是,在最近一轮Windows更新后,它似乎不再适用于我的机器 - 最近的一些Windows更新导致了网络和一些同事笔记本电脑(撤销登录凭据,使某些程序失效,通常),这就是为什么我假设这是造成这种情况的更新之一.
当然,除了相同的设置文件和解决方案输出不会导致Dotfuscator在同事的机器上失败之外,我不会将其归结为用户错误.
有什么建议?
我想通过Dotfuscator模糊我的汇编文件(*.dll,*.exe).我的问题是,如果我这样做,我仍然可以使用原始名称(我的意思是混淆之前的名称)并使用System.Reflection
方法来处理这些程序集中的类和类型吗?
如果您需要更多细节,请告诉我
'再次,
我的Dotfuscation工作继续进行!所以我目前正在研究一个由~38个程序集组成的合理复杂的WPF应用程序.现在我已经克服了我的性能问题(加速混淆过程),我现在开始测试Dotfuscator v4.10的BAML混淆功能.
麻烦的是,它不起作用 - 生成的错误(好的,警告)都是相同的形式,我可以在讨论的网上找不到任何内容:
BamlAnalysis flagged something in Data Binding Path: SOMEFIELDNAME in
SOMERESOURCEPATHTOBAML.baml for the following reasons:
Could not resolve, may have to manually exclude.
Run Code Online (Sandbox Code Playgroud)
有人遇到过这个并且有什么见解它希望我改变什么?
[编辑:]甚至设置手动排除其抱怨的属性不会删除警告......并且它看起来好像根本没有改变底层BAML(至少不是通过反射器的目视检查).
[EDIT2:]另外,应该声明Dotfuscator是一个要求,所以替代工具可能无法帮助我.
dotfuscator ×10
.net ×7
obfuscation ×7
c# ×2
api-key ×1
baml ×1
clickonce ×1
encryption ×1
ios ×1
piracy ×1
security ×1
wpf ×1
xamarin.ios ×1