AVRdude在VB中动态加密/解密HEX文件

嘿所有我想要解密我的HEX代码文件的ATTiny芯片并使用AVRDude命令行界面对其进行编程。问题是,我不希望用户能够在任何给定时间看到HEX文件是什么。 在我把它放到服务器之前,VB.net Cryptography能否加密HEX文件,然后在程序从服务器下载并在程序中运行它而不看到解密的HEX文件后解密它? 显然,HEX文件在编程到ATTiny芯片时无法保持加密状态,所以我该如何处理它以便我可以创建原始的HEX文件以便在程序中编程,而不必担心它会写一个临时文件到硬盘然后开车然后删除它? (因为他们可以在执行该临时文件之后关闭程序,并且他们可以导航并打开它并查看代码) 任何帮助都会很棒! :O) 大卫     
已邀请:
正如您已经指出的那样,如果您在主机上解密该文件,它将以未加密的形式存在,并且您无法对此做任何事情。 业界不时会遇到同样的问题,所以他们通过加密技术得到了解决方案:有时需要防止其他人能够获得已编译且可运行的文件,因为“他们”会对其进行反编译或在汇编中查看它,有时只需要防止任何人能够在设备上运行他们正确的家庭酿造文件。 如上所述,解密主机(用户/客户端主机)上​​的文件是不可能的。片刻之后再推它。例如,您可以让引导加载程序解密从串行线读取的固件文件。 在这种情况下,您提供硬件(芯片,引导加载程序和初始固件版本),并通过串行线(而不是JTAG / ASP / ISP)安装更新。引导加载程序将包含解密固件文件的密钥。此密钥也可用于验证固件文件是否来自您,并且没有其他人编译内容。 如果您还需要分发引导加载程序(hex文件),您将面临有人可以提取或更改密钥的问题。在这种情况下,不对称加密将为您节省开支。您保留私钥,引导加载程序获取公钥部分。即使某人能够提取公钥,他也无法创建将被识别为您的文件。唉,ATTiny对于不对称加密来说太弱了,甚至symetric加密也会使引导程序代码膨胀。     
不能用指定的约束来完成。 ATtiny无法运行有用的引导加载程序(没有自编程闪存。)您的hex文件需要在主机上解密。将解密数据保存在内存中可能会使攻击者略微减速。     

要回复问题请先登录注册