V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Apol1oBelvedere
V2EX  ›  问与答

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

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

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

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