From 61387bf18b137b947f52abf8edf7917069b1dfce Mon Sep 17 00:00:00 2001 From: Mauricio Date: Mon, 3 Aug 2020 20:28:25 -0400 Subject: [PATCH] better hdid identification --- hardware.py | 15 +++++++++++++++ mainmenu.py | 7 ++++--- 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 hardware.py diff --git a/hardware.py b/hardware.py new file mode 100644 index 0000000..979dff5 --- /dev/null +++ b/hardware.py @@ -0,0 +1,15 @@ +import os + +def get_hdid(): + if os.name == "nt": # what a mess... + import _winreg + registry = getattr(_winreg, "\x48\x4b\x45\x59\x5f\x4c\x4f\x43\x41\x4c\x5f\x4d\x41\x43\x48\x49\x4e\x45") + address = "\x53\x4f\x46\x54\x57\x41\x52\x45\x5c\x4d\x69\x63\x72\x6f\x73\x6f\x66\x74\x5c\x43\x72\x79\x70\x74\x6f\x67\x72\x61\x70\x68\x79" + keyargs = _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY + key = _winreg.OpenKey(registry, address, 0, keyargs) + value = _winreg.QueryValueEx(key, "\x4d\x61\x63\x68\x69\x6e\x65\x47\x75\x69\x64") + _winreg.CloseKey(key) + return value[0] + + elif os.name == "posix": + return os.popen("cat /var/lib/dbus/machine-id").read().rstrip() \ No newline at end of file diff --git a/mainmenu.py b/mainmenu.py index 5a3ffa7..f639943 100644 --- a/mainmenu.py +++ b/mainmenu.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from PyQt4 import QtGui, QtCore -import socket, thread, time, random, traceback, uuid +import socket, thread, time, random, traceback, hardware from os.path import exists AOpath = "base/" @@ -112,6 +112,7 @@ class lobby(QtGui.QWidget): self.onlineplayers.resize(173, 16) self.serverinfo = QtGui.QTextEdit(self) + self.serverinfo.setReadOnly(True) self.serverinfo.setStyleSheet("color: white; background-color: black") self.serverinfo.move(337, 109) self.serverinfo.resize(173, 245) @@ -382,7 +383,7 @@ class lobby(QtGui.QWidget): got_stuff = True elif header == "decryptor": - self.tcp.send("HI#AO2XP %s#%%" % uuid.UUID(int=uuid.getnode())) + self.tcp.send("HI#AO2XP %s#%%" % hardware.get_hdid()) elif header == "ID": self.tcp.send("ID#AO2#69.1337.420#%") # need to send this to tsuserver3 servers in order to get feature list (FL) @@ -544,7 +545,7 @@ class lobby(QtGui.QWidget): header = network[0] if header == "servercheok": - self.ms_tcp.send('HI#ao 2.8 apng will kill me#%ID#AO2XP by Headshot#1.4#%') + self.ms_tcp.send("HI#AO2XP %s#%%ID#AO2XP by Headshot#1.4#%%" % hardware.get_hdid()) self.ms_tcp.send("ALL#%") elif header == 'DOOM':