Advertisement
bloodie_lie

123

Jun 21st, 2019
609
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import os
  2. import psutil
  3. from time import sleep
  4.  
  5. def clientdlledit_1():
  6.     bytesdefc =  b'\x83\xec\x38\x48\x85\xd2\x74\x1c\x4d\x85\xc0\x74\x17\x4d\x8b\xc8\x48\x8d\x0d' # оригинал
  7.     bytesrepc =  b'\x8b\x0d\xe1\xdc\xdd\x01\x49\x8b\xd0\x48\x8b\x01\x48\xff\xa0\x30\x01\x00\x00' # на что заменяем
  8.     clientdll =  r"E://SteamLibrary//steamapps//common//dota 2 beta//game//dota//bin//win64//client.dll" # наш клиент.длл
  9.     modclient =  0 # с помощью переменной проверяем, нужно ли нам изменять файл или нет
  10.     with open(clientdll,'rb') as f:
  11.         s = f.read() # содержимое файла
  12.         f.close()
  13.     if bytesdefc not in s:
  14.         modclient = 1 # файл уже был изменен, расходимся
  15.     if modclient == 0: # файл еще не был изменен
  16.         s = s.replace(bytesdefc,bytesrepc) # заменяем в содержимом нужные нам значения
  17.         with open(clientdll, 'wb') as file:
  18.             file.write(s) # записываем новое содержимое
  19.             file.close()
  20. def enginedlledit_1():
  21.     bytesdefe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\x74\x76\xe8' # первая пачка оригинальных значений
  22.     bytesrepe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\xeb\x76\xe8' # первая пачка желаемых значений
  23.     bytesdefe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\x74\x54\x48' # вторая пачка оригинальных значений
  24.     bytesrepe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\xeb\x54\x48' # вторая пачка желаемых значений
  25.     enginedll =  r"E://SteamLibrary//steamapps//common//dota 2 beta//game//bin//win64//engine2.dll" # наш енджин.длл
  26.     mode1 = 0 # проверяем, нужно ли заменять первую пачку
  27.     mode2 = 0 # проверям, нужно ли заменять вторую пачку
  28.     with open(enginedll,'rb') as fe:
  29.         se = fe.read() # содержимое файла
  30.         fe.close()
  31.     if bytesdefe1 not in se:
  32.         mode1 = 1 # первая пачка уже модифицирована, проверяем вторую
  33.     if bytesdefe2 not in se:
  34.         mode2 = 1 # вторая пачка уже модифицирована, расходимся
  35.     if mode1 == 0:
  36.         se = se.replace(bytesdefe1,bytesrepe1) # заменяем значения
  37.         with open(enginedll, 'wb') as file:
  38.             file.write(se) # записываем новое содержимое в наш файл
  39.             file.close()
  40.     if mode2 == 0:
  41.         se = se.replace(bytesdefe2,bytesrepe2) # заменяем значения
  42.         with open(enginedll, 'wb') as file:
  43.             file.write(se) # записываем новое содержимое в наш файл
  44.             file.close()
  45. def clientdlledit_2():
  46.     bytesdefc =  b'\x83\xec\x38\x48\x85\xd2\x74\x1c\x4d\x85\xc0\x74\x17\x4d\x8b\xc8\x48\x8d\x0d' # на что заменяем
  47.     bytesrepc =  b'\x8b\x0d\xe1\xdc\xdd\x01\x49\x8b\xd0\x48\x8b\x01\x48\xff\xa0\x30\x01\x00\x00' # оригинал
  48.     clientdll =  r"E://SteamLibrary//steamapps//common//dota 2 beta//game//dota//bin//win64//client.dll" # наш клиент.длл
  49.     modclient =  0 # с помощью переменной проверяем, нужно ли нам изменять файл или нет
  50.     with open(clientdll,'rb') as f:
  51.         s = f.read() # содержимое файла
  52.         f.close()
  53.     if bytesrepc not in s:
  54.         modclient = 1 # файл уже был изменен, расходимся
  55.     if modclient == 0: # файл еще не был изменен
  56.         s = s.replace(bytesrepc,bytesdefc) # заменяем в содержимом нужные нам значения
  57.         with open(clientdll, 'wb') as file:
  58.             file.write(s) # записываем новое содержимое
  59.             file.close()
  60. def enginedlledit_2():
  61.     bytesdefe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\x74\x76\xe8' # первая пачка желаемых значений
  62.     bytesrepe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\xeb\x76\xe8' # первая пачка оригинальных значений
  63.     bytesdefe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\x74\x54\x48' # вторая пачка желаемых значений
  64.     bytesrepe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\xeb\x54\x48' # вторая пачка оригинальных значений
  65.     enginedll =  r"E://SteamLibrary//steamapps//common//dota 2 beta//game//bin//win64//engine2.dll" # наш енджин.длл
  66.     mode1 = 0 # проверяем, нужно ли заменять первую пачку
  67.     mode2 = 0 # проверям, нужно ли заменять вторую пачку
  68.     with open(enginedll,'rb') as fe:
  69.         se = fe.read() # содержимое файла
  70.         fe.close()
  71.     if bytesrepe1 not in se:
  72.         mode1 = 1 # первая пачка уже модифицирована, проверяем вторую
  73.     if bytesrepe2 not in se:
  74.         mode2 = 1 # вторая пачка уже модифицирована, расходимся
  75.     if mode1 == 0:
  76.         se = se.replace(bytesrepe1,bytesdefe1) # заменяем значения
  77.         with open(enginedll, 'wb') as file:
  78.             file.write(se) # записываем новое содержимое в наш файл
  79.             file.close()
  80.     if mode2 == 0:
  81.         se = se.replace(bytesrepe2,bytesdefe2) # заменяем значения
  82.         with open(enginedll, 'wb') as file:
  83.             file.write(se) # записываем новое содержимое в наш файл
  84.             file.close()
  85. def backtodefaultvalues():
  86.     check_1 = 0 # с помощью переменной проверяем процесс доты на запуск
  87.     check_2 = 0 # с помощью переменной проверяем нужно ли нам изменять файл и закрывать программу
  88.     while check_1 < 1: # проверка включина дота или нет
  89.         if "dota2.exe" in (p.name() for p in psutil.process_iter()):
  90.             sleep(1)
  91.             check_1 = 0 # дота запущенна ждём
  92.         else:
  93.             check_1 = 1 # дота не запущенна переходим ко второй части
  94.     while check_2 < 1: # перезапись значений(на дефолтные) если дота закрыта
  95.         if check_1 == 0:
  96.             sleep(1)
  97.             check_2 = 1 # дота запущенна ждём
  98.         elif check_1 == 1:
  99.             clientdlledit_2() # включаем функцию
  100.             enginedlledit_2() # включаем функцию
  101.             check_2 = 0
  102.             break
  103. def startdota2():
  104.     os.startfile(r'E:/SteamLibrary/steamapps/common/dota 2 beta/game/bin/win64/dota2.exe')
  105.  
  106. clientdlledit_1() # включаем функцию
  107. enginedlledit_1() # включаем функцию
  108. startdota2() # включаем функцию
  109.  
  110. sleep(10) # 10 секунд сна
  111.  
  112. backtodefaultvalues() # включаем функцию
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement