为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在执行时将资源附加/删除到二进制文件?

有没有办法在执行时将资源附加/删除到二进制文件?

Go
尚方宝剑之说 2021-10-25 18:13:13
是否可以在执行时将资源文件附加/删除到二进制文件?我有一个用 go 编写的应用程序,它从数据库文件中保存/搜索数据,我希望将此数据库文件嵌入到二进制文件中,并由应用程序本身更新。这样,应用程序将与其数据库自包含。
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

修改可执行文件,这通常是一个非常糟糕的主意

几个问题直接出现在我的脑海中,例如:

  1. 当前用户是否有足够的权限?

  2. 文件在执行过程中是否被锁定?

  3. 应用程序的多个运行实例怎么样?

即使您设法做到了这一点,想想防病毒和防火墙应用程序会对它说什么:大多数当它们检测到更改时会标记可执行文件和/或包含它,或拒绝运行它,或者有些甚至可能删除它. 理所当然,因为这是许多病毒所做的:修改现有的可执行文件。

病毒扫描程序数据库还维护报告,其中根据文件内容的散列来识别文件(它们的内容)。修改可执行文件自然会更改文件内容哈希,从而使文件对这些数据库未知/可疑。

如前所述,只需在单独的文件中写入/缓存数据,最好在用户的主文件夹或应用程序文件夹中(在可执行文件旁边,可选择在子文件夹中)。或者使缓存文件/文件夹成为一个可更改的选项(命令行标志)。


查看完整回答
反对 回复 2021-10-25
  • 2 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信