def clientdlledit():
bytesdefc = b'\x83\xec\x38\x48\x85\xd2\x74\x1c\x4d\x85\xc0\x74\x17\x4d\x8b\xc8\x48\x8d\x0d' # оригинал
bytesrepc = b'\x8b\x0d\xe1\xdc\xdd\x01\x49\x8b\xd0\x48\x8b\x01\x48\xff\xa0\x30\x01\x00\x00' # на что заменяем
clientdll = r"F://SteamLibrary//steamapps//common//dota 2 beta//game//dota//bin//win64//client.dll" # наш клиент.длл
modclient = 0 # с помощью переменной проверяем, нужно ли нам изменять файл или нет
with open(clientdll,'rb') as f:
s = f.read() # содержимое файла
f.close()
if not bytesdefc in s:
modclient = 1 # файл уже был изменен, расходимся
if not modclient: # файл еще не был изменен
s = s.replace(bytesdefc,bytesrepc) # заменяем в содержимом нужные нам значения
with open(clientdll, 'wb') as file:
file.write(s) # записываем новое содержимое
file.close()
def enginedlledit():
bytesdefe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\x74\x76\xe8' # первая пачка оригинальных значений
bytesrepe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\xeb\x76\xe8' # первая пачка желаемых значений
bytesdefe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\x74\x54\x48' # вторая пачка оригинальных значений
bytesrepe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\xeb\x54\x48' # вторая пачка желаемых значений
enginedll = r"F://SteamLibrary//steamapps//common//dota 2 beta//game//bin//win64//engine2.dll" # наш енджин.длл
mode1 = 0 # проверяем, нужно ли заменять первую пачку
mode2 = 0 # проверям, нужно ли заменять вторую пачку
with open(enginedll,'rb') as fe:
se = fe.read() # содержимое файла
fe.close()
if not bytesdefe1 in se:
mode1 = 1 # первая пачка уже модифицирована, проверяем вторую
if not bytesdefe2 in se:
mode2 = 1 # вторая пачка уже модифицирована, расходимся
if not mode1:
se = se.replace(bytesdefe1,bytesrepe1) # заменяем значения
with open(enginedll, 'wb') as file:
file.write(se) # записываем новое содержимое в наш файл
file.close()
if not mode2:
se = se.replace(bytesdefe2,bytesrepe2) # заменяем значения
with open(enginedll, 'wb') as file:
file.write(se) # записываем новое содержимое в наш файл
file.close()
clientdlledit()
enginedlledit()