我目前正在开发一个部署到Windows Mobile 5/6设备的.NET项目。 我们希望通过防止代码被逆向工程来保护我们的财产知识产权。
我已经尝试了几种混淆工具,但是我们发现当我们记录堆栈跟踪(例如抛出异常)时,由于混淆而丢失了重要信息。
我们目前正在考虑的解决方案是使用加密。我们无法使用Windows Mobile附带的SD卡加密,因为我们在现场有许多没有安装SD卡的设备。
任何人都可以推荐一种将文件部署到PDA的方法,这些PDA已经加密,可供PDA使用。
答案 0 :(得分:0)
AFAIK没有其他选项,如您已找到的那样:
使用代码混淆器来加密代码。在修复所有错误和异常并且有用的消息显示已知异常后执行此操作。
从加密的SD卡存储并运行您的应用。除原始设备外,无法读取SD卡。
您可以创建一个读取加密字节流(您的应用程序)的加载程序应用程序,并将其保存为临时可执行文件,然后启动此可执行文件。在可执行文件的末尾,您的加载程序可以删除临时exe文件。