Apol1oBelvedere
V2EX  ›  问与答

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

  •  
  •   Apol1oBelvedere · Dec 26, 2021 · 1975 views
    This topic created in 1779 days ago, the information mentioned may be changed or developed.
    一个软件只能运行在虚拟机内实现移动化,如何将其进行许可证化,以保护软件运行?
    虚拟机的硬件环境都是固定的了,不同电脑上运行虚拟机,内部硬件信息都是相同的,无法基于硬件来实现许可证化。
    许可证化软件是 Winlicense 。
    9 replies  •  2023-04-04 17:05:14 +08:00
    Apol1oBelvedere
    Apol1oBelvedere
    OP
    Dec 26, 2021
    1
    或者说注册化之后的软件根据时间等信息,生成一个随机的机器信息保存到虚拟机内,我可以根据这个随机信息来生成注册信息。
    ysc3839
    ysc3839
    Dec 26, 2021 via Android
    2
    可能没什么好办法,还是联网验证吧。
    kokutou
    kokutou
    Dec 26, 2021 via Android
    3
    虚拟机复制后,全部东西都是一样的。。。

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

    都不支持,那就不卖了。
    felixcode
    felixcode
    PRO
    Dec 26, 2021
    4
    把许可证作为硬盘或光盘挂载。
    Apol1oBelvedere
    Apol1oBelvedere
    OP
    Dec 26, 2021
    5
    @felixcode 怎么解决在虚拟机里的唯一性?
    felixcode
    felixcode
    PRO
    Dec 26, 2021
    6
    @Apol1oBelvedere
    vmware 用的是一个 UUID ,跟宿主机相关的。
    这个可以看一下,https://kb.vmware.com/s/article/1541
    Apol1oBelvedere
    Apol1oBelvedere
    OP
    Dec 27, 2021
    7
    @felixcode 我没有写代码,而是用 Winlicense 实现,其只可以识别硬盘序列号和 MAC 地址,这两个在目前虚拟机无法达到某种开机初始化后不再变化的效果。
    Apol1oBelvedere
    Apol1oBelvedere
    OP
    Jan 1, 2022
    8
    @felixcode 问题解决:VirtualBox 虚拟机即使载入相同的虚拟机数据文件,也会根据本机硬件生成不同的 BIOS 、硬盘、CPU 序列号,从而实现环境差异。
    Apol1oBelvedere
    Apol1oBelvedere
    OP
    Apr 4, 2023
    9
    @felixcode 能不能确定只要 VMware 虚拟机移动位置或者复制后,它的 CPU 、磁盘或网卡的标识符会不会变化?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   975 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 19:29 · PVG 03:29 · LAX 11:29 · JFK 14:29
    ♥ Do have faith in what you're doing.