V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Apol1oBelvedere
V2EX  ›  问与答

一个软件只能运行在虚拟机内实现移动化,如何将其进行许可证化,以保护软件运行?

  •  
  •   Apol1oBelvedere · 2021-12-26 21:07:50 +08:00 · 1354 次点击
    这是一个创建于 1064 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个软件只能运行在虚拟机内实现移动化,如何将其进行许可证化,以保护软件运行?
    虚拟机的硬件环境都是固定的了,不同电脑上运行虚拟机,内部硬件信息都是相同的,无法基于硬件来实现许可证化。
    许可证化软件是 Winlicense 。
    9 条回复    2023-04-04 17:05:14 +08:00
    Apol1oBelvedere
        1
    Apol1oBelvedere  
    OP
       2021-12-26 21:47:09 +08:00
    或者说注册化之后的软件根据时间等信息,生成一个随机的机器信息保存到虚拟机内,我可以根据这个随机信息来生成注册信息。
    ysc3839
        2
    ysc3839  
       2021-12-26 22:44:22 +08:00 via Android
    可能没什么好办法,还是联网验证吧。
    kokutou
        3
    kokutou  
       2021-12-26 22:55:05 +08:00 via Android
    虚拟机复制后,全部东西都是一样的。。。

    要么不能联网用 usb 狗,要么要求联网。

    都不支持,那就不卖了。
    felixcode
        4
    felixcode  
       2021-12-26 23:16:13 +08:00
    把许可证作为硬盘或光盘挂载。
    Apol1oBelvedere
        5
    Apol1oBelvedere  
    OP
       2021-12-26 23:46:22 +08:00
    @felixcode 怎么解决在虚拟机里的唯一性?
    felixcode
        6
    felixcode  
       2021-12-26 23:55:30 +08:00
    @Apol1oBelvedere
    vmware 用的是一个 UUID ,跟宿主机相关的。
    这个可以看一下,https://kb.vmware.com/s/article/1541
    Apol1oBelvedere
        7
    Apol1oBelvedere  
    OP
       2021-12-27 18:47:30 +08:00
    @felixcode 我没有写代码,而是用 Winlicense 实现,其只可以识别硬盘序列号和 MAC 地址,这两个在目前虚拟机无法达到某种开机初始化后不再变化的效果。
    Apol1oBelvedere
        8
    Apol1oBelvedere  
    OP
       2022-01-01 10:36:07 +08:00
    @felixcode 问题解决:VirtualBox 虚拟机即使载入相同的虚拟机数据文件,也会根据本机硬件生成不同的 BIOS 、硬盘、CPU 序列号,从而实现环境差异。
    Apol1oBelvedere
        9
    Apol1oBelvedere  
    OP
       2023-04-04 17:05:14 +08:00
    @felixcode 能不能确定只要 VMware 虚拟机移动位置或者复制后,它的 CPU 、磁盘或网卡的标识符会不会变化?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5730 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:43 · PVG 11:43 · LAX 19:43 · JFK 22:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.