将状态存储在golang二进制文件中

ash*_*ite 0 binaryfiles go binarywriter

我正在为客户端开发本地解决方案,而无需在计算机上进行任何控制和互联网连接。

该解决方案将根据已购买许可证的允许请求(REST API调用)数量获利。因此,当前我们将请求计数存储在文件系统本身的加密文件中。但是此解决方案并不完美,因为可以将文件复制到某个位置,然后在请求配额结束后将其替换。同样,如果文件被删除,则需要支持人员的手动干预。

我正在寻找一种以二进制形式存储状态/数据并更新运行时的解决方案(考虑使用二进制本身更新的使用计数)

寻找更好的方法。

同样二进制应该从先前的存储状态开始

有办法吗?

PS:我知道写二进制文件不会解决问题,但是我认为,通过增加状态存储位置的排列和组合的数量,这将增加难度,并且由于不常见的知识是可以更改可执行文件,如果有人试图弄乱系统,它将是查找状态的最后一个位置(安全性由默默无闻)

Vol*_*ker 5

有办法吗?

没有。

(至少没有正式的可移植方式。当然,您可以修改二进制文件并更改例如数据或BSS段,但这是困难的,依赖于操作系统,并且不能解决您的问题,因为它具有与外部文件相同的问题:您可以只保留原始可执行文件,然后重新开始执行。有些事情在技术上根本无法解决。)