在试用期满后禁用申请

 外星人源码商城 发布于 2023-02-09 10:18

我正在为一个半可信客户编写一个简单的应用程序,并且对某些细节没有发言权.必须为客户端提供二进制文件的副本,该副本myTestApp使用外部库中的专有代码libsecrets.它是一个Windows应用程序,可以在几台独立的Windows 7笔记本电脑上运行.我被告知,在应用程序达到其目的后,它将被删除.我知道没有完美的解决方案,但是我希望在程序中实现一个到期日期,并阻碍对代码进行潜在逆向工程的努力,或者至少防止内容libsecrets过于暴露.

因此,我的第一步是静态链接myTestApp,libsecrets因此所有内容都包含在一个二进制文件中,因此只有libsecrets最终二进制文件中包含所需的部分,并且不再发布其接口.

其次,我想实施一些getTime不天真的机制.Windows中是否有任何"安全" getTime调用,因此不能通过更改系统托盘或BIOS中的时间来欺骗它?

第三,如果没有"安全" getTime呼叫,我也可以修改myTestApp使用NTP查询可信时间服务器,如果无法从中获取时间或试用期已过,则会失败.但是,除非有某种证书机制来验证时间服务器,否则这可能会被网关上的DNS搞乱所愚弄.我对此并不了解,并且需要一些关于如何实现它的建议.

接下来,有没有办法改变二进制文件,以便个人尝试通过查看汇编代码来对其进行逆向工程是不切实际的?也许是某种加密二进制文件并需要第三方认证工具的包装器?或者也许我创建的某种证书需要运行它并在以后过期?

最后,是否有任何软件(即:打包或发布软件)可以通过重新打包最终.exe或作为某种类型的Microsoft Visual Studio插件为我做到这一点?

谢谢大家.


编辑:这不是一个防弹系统,如果失败,那是可以接受的.我只是想让一个非技术人员试图破解它不方便.使用它的人是技术Luddites,软件破解的唯一方法是他们雇用某人来做.由于名称和公司名称被加水印到应用程序中,并且只有一个人可以从其使用中受益,因此他们不太可能重新分发它.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有