查看: 6652|回复: 11
收起左侧

[分享] unlocker及tools

[复制链接]
YorkWaugh
发表于 2021-4-3 22:30:02 | 显示全部楼层 |阅读模式
本帖最后由 YorkWaugh 于 2021-5-22 21:19 编辑

大佬们可以直接忽略此贴。。。
众所周知,官方版的VMware不支持macOS的安装,需要工具解锁,即论坛上经常被提到的unlocker:https://github.com/BDisp/unlocker/
简介(摘录自官方):
  1. 适用于VMware Workstation的macOS Unlocker V3.0
  2. 1.简介
  3. Unlocker 3专为VMware Workstation 11-15和Player 7-15设计。
  4. 如果您使用的是较早的产品,请继续使用Unlocker 1。
  5. 第3版已针对以下方面进行了测试:
  6. * Windows和Linux上的工作站11/12/14/15
  7. * Windows和Linux上的Workstation Player 7/12/14/15
  8. 补丁代码根据产品进行以下修改
  9. 正在修补:
  10. *修复vmware-vmx及其衍生版本以允许macOS引导
  11. *修复了vmwarebase .dll或.so,以允许在创建VM时选择Apple
  12. *下载适用于macOS的最新VMware Tools的副本
  13. 27/09/18 3.0.0-首次发布
  14. 18/02/10 3.0.1-修复了gettools.py与Python 3配合使用并正确下载darwinPre15.iso的问题
  15. 18/10/10 3.0.2-修复了带有Windows可执行文件的防病毒软件引起的误报
  16.                -允许Python 2和3从Bash脚本运行Python代码
  17. 19/10/24 3.0.3-修复了适用于VMware Workstation 15.5的解锁程序和gettools
复制代码


有没有注意到,最近几次修复都和gettools有关。。。那是因为unlocker需要VMware Fusion的darwin.iso和darwinPre15.iso
在原先(11.1.0)版本前,官方https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.1.0/13668589/下有packages文件夹,里面提供了这两个文件,但是,之后版本都不在单独提供,而是整合在主包里。。。例如最新的https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/12.1.1/17801503/下只有core文件夹,而gettools.py下这这么写的:
  1. # Setup url and file paths
  2.         url = 'http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/'

  3.         # Get the list of Fusion releases
  4.         # And get the last item in the ul/li tags
  5.         
  6.         response = urlopen(url)
  7.         html = response.read()
  8.         parser.clean()
  9.         parser.feed(str(html))
  10.         url = url + parser.HTMLDATA[-1] + '/'
  11.         parser.clean()

  12.         # Open the latest release page
  13.         # And build file URL
  14.         response = urlopen(url)
  15.         html = response.read()
  16.         parser.feed(str(html))
  17.         
  18.         lastVersion = parser.HTMLDATA[-1]
  19.         
  20.         urlpost15 = url + lastVersion + '/packages/com.vmware.fusion.tools.darwin.zip.tar'
  21.         urlpre15 = url + lastVersion + parser.HTMLDATA[-1] + '/packages/com.vmware.fusion.tools.darwinPre15.zip.tar'
  22.         parser.clean()

  23.         # Download the darwin.iso tgz file
  24.         print('Retrieving Darwin tools from: ' + urlpost15)
  25.         try:
  26.                 # Try to get tools from packages folder
  27.                 if sys.version_info > (3, 0):
  28.                         # Python 3 code in this block
  29.                         urlretrieve(urlpost15, convertpath(dest + '/tools/com.vmware.fusion.tools.darwin.zip.tar'), reporthook)
  30.                 else:
  31.                         # Python 2 code in this block
  32.                         (f,headers)=MyURLopener().retrieve(urlpost15, convertpath(dest + '/tools/com.vmware.fusion.tools.darwin.zip.tar'), reporthook)
  33.         except:
  34.                 # No tools found, get them from the core tar
  35.                 print('Tools aren\'t here... Be patient while I download and' +
  36.                           ' give a look into the core.vmware.fusion.tar file')
  37.                 urlcoretar = url + lastVersion + '/core/com.vmware.fusion.zip.tar'
  38.                 print('Retrieving Darwin tools from: ' + urlcoretar)        

  39.                 # Get the main core file
  40.                 try:
  41.                         if sys.version_info > (3, 0):
  42.                                 # Python 3 code in this block
  43.                                 urlretrieve(urlcoretar, convertpath(dest + '/tools/com.vmware.fusion.zip.tar'), reporthook)
  44.                         else:
  45.                                 # Python 2 code in this block
  46.                                 (f,headers)=MyURLopener().retrieve(urlcoretar, convertpath(dest + '/tools/com.vmware.fusion.zip.tar'), reporthook)
  47.                 except:
  48.                         print('Couldn\'t find tools')
  49.                         return
  50.                         
  51.                 print()
  52.                
  53.                 print('Extracting com.vmware.fusion.zip.tar...')
  54.                 tar = tarfile.open(convertpath(dest + '/tools/com.vmware.fusion.zip.tar'), 'r')
  55.                 tar.extract('com.vmware.fusion.zip', path=convertpath(dest + '/tools/'))
  56.                 tar.close()
  57.                
  58.                 print('Extracting files from com.vmware.fusion.zip...')
  59.                 cdszip = zipfile.ZipFile(convertpath(dest + '/tools/com.vmware.fusion.zip'), 'r')
  60.                 cdszip.extract('payload/VMware Fusion.app/Contents/Library/isoimages/darwin.iso', path=convertpath(dest + '/tools/'))
  61.                 cdszip.extract('payload/VMware Fusion.app/Contents/Library/isoimages/darwinPre15.iso', path=convertpath(dest + '/tools/'))
  62.                 cdszip.close()
  63.                
  64.                 # Move the iso and sig files to tools folder
  65.                 shutil.move(convertpath(dest + '/tools/payload/VMware Fusion.app/Contents/Library/isoimages/darwin.iso'), convertpath(dest + '/tools/darwin.iso'))
  66.                 shutil.move(convertpath(dest + '/tools/payload/VMware Fusion.app/Contents/Library/isoimages/darwinPre15.iso'), convertpath(dest + '/tools/darwinPre15.iso'))
  67.                
  68.                 # Cleanup working files and folders
  69.                 shutil.rmtree(convertpath(dest + '/tools/payload'), True)
  70.                 os.remove(convertpath(dest + '/tools/com.vmware.fusion.zip.tar'))
  71.                 os.remove(convertpath(dest + '/tools/com.vmware.fusion.zip'))
  72.                
  73.                 print('Tools from core retrieved successfully')
  74.                 return
复制代码

也就是说,如果没有packages文件夹,就从core文件夹下下载com.vmware.fusion.zip.tar,解压后提取。。。
然而,com.vmware.fusion.zip.tar有多大呢?不多,也就半个G左右吧。。。
Snipaste_2021-04-03_22-08-08.png
你要知道,unlocker可不会调用IDM,网速不好的话这可以下一晚上。。。
解决办法的话。。。大家都看出来了吧。。。把俩iso复制到tools文件夹下(没有就新建个),运行时提示You already have downloaded the tools. Download again?[y/n]敲n就可以跳过了。。。
考虑到有人网络问题,这里就把12.1.1版本的文件和3.0.3版本放网盘里https://wwi.lanzoux.com/b016auhwh 密码:d2i8 ,有需要的可以直接下载。
yyz219
头像被屏蔽
发表于 2021-4-7 13:55:08 | 显示全部楼层
我怎么看不明白,惭愧啊

支持一下楼主
yst088a
发表于 2021-4-8 11:31:24 | 显示全部楼层
支持楼主
Ca5efkPV
发表于 2021-4-24 18:40:18 | 显示全部楼层
有点看不明白呀,请问题VMware16能解锁吗
YorkWaugh
 楼主| 发表于 2021-4-24 20:06:53 | 显示全部楼层
Ca5efkPV 发表于 2021-4-24 18:40
有点看不明白呀,请问题VMware16能解锁吗

可以
tulei
发表于 2021-5-21 13:17:22 | 显示全部楼层
你好网盘链接打不开,显示“找不到服务器”
YorkWaugh
 楼主| 发表于 2021-5-21 21:12:18 | 显示全部楼层
tulei 发表于 2021-5-21 13:17
你好网盘链接打不开,显示“找不到服务器”

改成lanzoux
YorkWaugh
 楼主| 发表于 2021-5-22 21:24:33 | 显示全部楼层
ISOimage更新到fusion 12.1.2版本
crystal2030
发表于 2021-7-12 15:47:39 | 显示全部楼层
Unlocker 3专为VMware Workstation 11-15和Player 7-15设计。
现在vmware都16了,请问还能用不?
YorkWaugh
 楼主| 发表于 2021-7-12 17:24:19 | 显示全部楼层
crystal2030 发表于 2021-7-12 15:47
Unlocker 3专为VMware Workstation 11-15和Player 7-15设计。
现在vmware都16了,请问还能用不?

可以
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-22 20:13 , Processed in 0.138950 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表