我想在我的应用程序中存储密码以加密安装日期并将其存储在某个文件夹中,也可能在注册表中存储30天版本的应用程序.我一直在谷歌上搜索,大多数人建议加密安装日期.我知道我做的任何事情仍然可以解决,但我希望它能够在没有回家的情况下或者像这样的东西那样难以破解.例如,我可以使用const字符串存储密码,该密码使用存储在另一个const字符串中的密码加密,依此类推.这会让它变得有点复杂.但由于字符串混淆似乎是混淆器的常见任务,我想知道是否有更好的方法可以做到这一点,以防任何人知道混淆器通常如何在代码中混淆字符串,所以我可以重复这个过程.
(我不会购买混淆器.我使用的是dotfuscator的免费版本,它不会混淆字符串,这很好,但我不会购买付费版本只是为了混淆单个字符串(如果付费的话)版本混淆我不在乎的字符串.)
(我仍然想要做的试用30天.我已经读了很多关于喜欢做一个自由轻版本之类的东西,其他的选项.30天的版本是在我的情况最好的选择.)
小智 3
我同意之前的评论,即如果所有移动部件都位于您的应用程序本地,那么任何拥有技术技能和一点空闲时间的人都将击败您组合在一起的任何加密/误导方案。混淆工具(如 Dotfuscator 商业 SKU)都包含“字符串加密”,但这种特定的转换被认为是最弱的(与控制流混淆或过载感应重命名相比)。一旦字符串被破坏,“解密”函数就会在运行时弹出文本之前注入堆栈 - 任何想要花时间跟踪您经历的任何过程的人很快就会发现所有技巧都摆在面前他们(除非有些技巧是远程的)。所以,你提到你并没有试图做任何防弹的事情 - 只是减慢人们的速度并阻止机会主义黑客 - 既然如此,那么这种类型的技术就很好 - 你将阻止“机会主义黑客”,他们会四处寻找有趣但很容易被推迟(但这就是它的范围)。
最后,如果您的应用程序碰巧是 WP7 应用程序,那么可以在 www.preemptive.com/windowsphone7.html 上免费获得 Dotfuscator 的完整商业版本(并且包括字符串加密、控制流等)