summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2017-11-28 13:56:13 +0100
committerJean-Marc Lenoir2017-11-28 13:56:13 +0100
commit73a116f0432eca9813cccf6280e5b10c3d259b1d (patch)
treed984a9d0b7511f1b785f9424373a63573d13f6e5
parent0032b4ef43b89cef61a6e682e9d0aee7b24478f0 (diff)
downloadaur-73a116f0432eca9813cccf6280e5b10c3d259b1d.tar.gz
Update unlocker file
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD13
-rwxr-xr-x[-rw-r--r--]unlocker.py57
-rw-r--r--vmware-networks.service2
4 files changed, 38 insertions, 38 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 71bd05447a64..6ec9f4ea7486 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -70,7 +70,7 @@ pkgbase = vmware-workstation
sha256sums = f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d
sha256sums = 70301aa4eff4f42d7d39b276445dc7d8f44b8a0e184775e8a9e3055bb9d8590a
sha256sums = e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450
- sha256sums = f9297948eba55fbaa6c9d1846b92070f27fda17afe78b41ed0e4c2eaa452b56c
+ sha256sums = a651de50e91f386057d69d11e2cdf6e020229aae0631f25073ca09fbb878d1db
sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d
sha256sums = 05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487
sha256sums = 6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d
@@ -78,7 +78,7 @@ pkgbase = vmware-workstation
sha256sums = 4f07320c1f9e71e649cf3e98ec107ba5521d52e50ad781ccc9dc1b61817342ae
sha256sums = 3aeee4ddad2e94e5dbd8da3f995ad3f887f35a241d82e8c64a22f792c159cc44
sha256sums = 2c6076d55da659723fb7b7871baaee95df3bdcd90e448955ed1ec53df6a1f2d0
- sha256sums = a3877c72e4eaed6546a2d066f73f71665c51ea87cc752655185d99340deb7d70
+ sha256sums = 522203ef0fa9cc621a67ba3df9d2070bbc21d9fdc85536ed10ebd85b99b83251
pkgname = vmware-workstation
diff --git a/PKGBUILD b/PKGBUILD
index 820aa78a4e1e..c03364172a5c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -104,7 +104,7 @@ sha256sums=(
'f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d'
'70301aa4eff4f42d7d39b276445dc7d8f44b8a0e184775e8a9e3055bb9d8590a'
'e3812b78158672c7d96b6a58877681462f3fbdfe99a948b32c80c755c8682450'
- 'f9297948eba55fbaa6c9d1846b92070f27fda17afe78b41ed0e4c2eaa452b56c'
+ 'a651de50e91f386057d69d11e2cdf6e020229aae0631f25073ca09fbb878d1db'
'd7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d'
'05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487'
@@ -135,7 +135,7 @@ source+=(
sha256sums+=(
'3aeee4ddad2e94e5dbd8da3f995ad3f887f35a241d82e8c64a22f792c159cc44'
'2c6076d55da659723fb7b7871baaee95df3bdcd90e448955ed1ec53df6a1f2d0'
- 'a3877c72e4eaed6546a2d066f73f71665c51ea87cc752655185d99340deb7d70'
+ '522203ef0fa9cc621a67ba3df9d2070bbc21d9fdc85536ed10ebd85b99b83251'
)
_fusion_isoimages=(darwin darwinPre15)
@@ -180,9 +180,7 @@ if [ -n "$_enable_macOS_guests" ]; then
rm manifest.plist
done
- sed -i -e "s/vmx_path = '/vmx_path = '${pkgdir//\//\\/}/" \
- -i -e "s/vmwarebase = '/vmwarebase = '${pkgdir//\//\\/}/" \
- -i -e "s/vmx_version = .*$/vmx_version = 'VMware Player ${_pkgver/_/ build-}'/" "$srcdir/unlocker.py"
+ sed -i -e "s|/usr/lib/vmware/|${pkgdir}/usr/lib/vmware/|" "$srcdir/unlocker.py"
fi
}
@@ -367,10 +365,9 @@ package() {
sed -i 's,@@LIBCONF_DIR@@,/usr/lib/vmware/libconf,g' "$pkgdir/usr/lib/vmware/libconf/etc/$file"
done
- sed -i 's,@@BINARY@@,/usr/bin/vmware,' "$pkgdir/usr/share/applications/vmware-workstation.desktop"
+ sed -i 's,@@BINARY@@,/usr/lib/vmware/bin/vmware,' "$pkgdir/usr/share/applications/vmware-workstation.desktop"
+ sed -i 's,@@BINARY@@,/usr/lib/vmware/bin/vmplayer,' "$pkgdir/usr/share/applications/vmware-player.desktop"
sed -i 's,@@BINARY@@,/usr/bin/vmware-netcfg,' "$pkgdir/usr/share/applications/vmware-netcfg.desktop"
- sed -i 's,@@VMWARE_INSTALLER@@,/usr/bin/vmware,' "$pkgdir/usr/share/applications/vmware-workstation.desktop"
- sed -i 's,@@BINARY@@,/usr/bin/vmplayer,' "$pkgdir/usr/share/applications/vmware-player.desktop"
sed -i 's,@@AUTHD_PORT@@,902,' "$pkgdir/usr/lib/vmware/hostd/docroot/client/clients.xml"
diff --git a/unlocker.py b/unlocker.py
index 90fc9e0446d8..e89fb9b997b0 100644..100755
--- a/unlocker.py
+++ b/unlocker.py
@@ -58,13 +58,6 @@ if sys.platform == 'win32' \
from _winreg import *
-def rot13(s):
- chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz'
- trans = chars[26:] + chars[:26]
- rotchar = lambda c: trans[chars.find(c)] if chars.find(c) > -1 else c
- return ''.join(rotchar(c) for c in s)
-
-
def bytetohex(data):
if sys.version_info > (3, 0):
# Python 3 code in this block
@@ -74,8 +67,8 @@ def bytetohex(data):
return "".join("{:02X} ".format(ord(c)) for c in data)
-def joinpath(folder, file):
- return os.path.join(folder, file)
+def joinpath(folder, filename):
+ return os.path.join(folder, filename)
def printkey(i, offset, smc_key, smc_data):
@@ -89,6 +82,18 @@ def printkey(i, offset, smc_key, smc_data):
+ ' ' + bytetohex(smc_data))
+def set_bit(value, bit):
+ return value | (1 << bit)
+
+
+def clear_bit(value, bit):
+ return value & ~(1 << bit)
+
+
+def test_bit(value, bit):
+ return value & bit
+
+
E_CLASS64 = 2
E_SHT_RELA = 4
@@ -116,7 +121,7 @@ def patchelf(f, oldoffset, newoffset):
for i in range(0, e_shnum):
f.seek(e_shoff + i * e_shentsize)
e_sh = struct.unpack('=LLQQQQLLQQ', f.read(e_shentsize))
- e_sh_name = e_sh[0]
+ # e_sh_name = e_sh[0]
e_sh_type = e_sh[1]
e_sh_offset = e_sh[4]
e_sh_size = e_sh[5]
@@ -140,7 +145,7 @@ def patchelf(f, oldoffset, newoffset):
def patchkeys(f, key):
# Setup struct pack string
key_pack = '=4sB4sB6xQ'
- smc_old_memptr = 0
+ # smc_old_memptr = 0
smc_new_memptr = 0
# Do Until OSK1 read
@@ -166,7 +171,7 @@ def patchkeys(f, key):
# Write new data routine pointer from +LKS
print('OSK0 Key Before:')
printkey(i, offset, smc_key, smc_data)
- smc_old_memptr = smc_key[4]
+ # smc_old_memptr = smc_key[4]
f.seek(offset)
f.write(struct.pack(key_pack, smc_key[0], smc_key[1], smc_key[2], smc_key[3], smc_new_memptr))
f.flush()
@@ -296,34 +301,33 @@ def patchbase(name):
f = open(name, 'r+b')
# Entry to search for in GOS table
+ # Should work for 12 & 14 of Workstation...
darwin = (
'\x10\x00\x00\x00\x10\x00\x00\x00'
'\x02\x00\x00\x00\x00\x00\x00\x00'
'\x00\x00\x00\x00\x00\x00\x00\x00'
'\x00\x00\x00\x00\x00\x00\x00\x00'
- '\x3E'
)
# Read file into string variable
base = f.read()
- # Loop thorugh each entry and set top bit
- # 0x3E --> 0x3F
+ # Loop through each entry and set top bit
+ # 0xBE --> 0xBF (WKS 12)
+ # 0x3E --> 0x3F (WKS 14)
offset = 0
while offset < len(base):
offset = base.find(darwin, offset)
if offset == -1:
break
f.seek(offset + 32)
- flag = f.read(1)
- if flag == '\x3E':
- f.seek(offset + 32)
- f.write('\x3F')
- print('GOS Patched flag @: ' + hex(offset))
- else:
- print('GOS Unknown flag @: ' + hex(offset) + '/' + hex(int(flag)))
-
- offset += 33
+ flag = ord(f.read(1))
+ flag = set_bit(flag, 0)
+ flag = chr(flag)
+ f.seek(offset + 32)
+ f.write(flag)
+ print('GOS Patched flag @: ' + hex(offset))
+ offset += 40
# Tidy up
f.flush()
@@ -372,8 +376,7 @@ def main():
vmx = joinpath(vmx_path, 'vmware-vmx')
vmx_debug = joinpath(vmx_path, 'vmware-vmx-debug')
vmx_stats = joinpath(vmx_path, 'vmware-vmx-stats')
- vmx_version = subprocess.check_output(["vmplayer", "-v"])
- if vmx_version.startswith('VMware Player 14'):
+ if os.path.isfile('/usr/lib/vmware/lib/libvmwarebase.so/libvmwarebase.so'):
vmx_so = True
vmwarebase = '/usr/lib/vmware/lib/libvmwarebase.so/libvmwarebase.so'
else:
@@ -426,4 +429,4 @@ def main():
if __name__ == '__main__':
- main() \ No newline at end of file
+ main()
diff --git a/vmware-networks.service b/vmware-networks.service
index 587f52e82e8c..b501b8226ec8 100644
--- a/vmware-networks.service
+++ b/vmware-networks.service
@@ -6,7 +6,7 @@ After=vmware-networks-configuration.service
[Service]
Type=forking
Restart=always
-ExecStartPre=/usr/bin/modprobe vmnet
+ExecStartPre=-/sbin/modprobe vmnet
ExecStart=/usr/bin/vmware-networks --start
ExecStop=/usr/bin/vmware-networks --stop