better hdid identification

This commit is contained in:
Mauricio 2020-08-03 20:28:25 -04:00
parent a2066d6370
commit 61387bf18b
2 changed files with 19 additions and 3 deletions

15
hardware.py Normal file
View File

@ -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()

View File

@ -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':