lolimoska

Untitled

Sep 23rd, 2020
710
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. from threading import Thread
  2. import PySimpleGUIQt as sg
  3. import pymem
  4. import ctypes
  5. import mem_edit
  6.  
  7. adress = []
  8. adresaDlyaOtseva = []
  9.  
  10. def scan():
  11. pm = pymem.Pymem(values[0])
  12. value = pm.read_int(int(values[1], 0))
  13. print('Значение адреса '+str(values[1]) +' = '+ str(value))
  14.  
  15. def chagne():
  16. pm = pymem.Pymem(values[0])
  17. pm.write_int(int(values[2], 0), int(values[3]))
  18. print('Значение у адреса '+str(values[2])+' изменено на '+str(values[3]))
  19.  
  20. def getadress():
  21. global adress
  22. pid = mem_edit.Process.get_pid_by_name(values[0])
  23. with mem_edit.Process.open_process(pid) as p:
  24. adress = p.search_all_memory(ctypes.c_int(int(values[4])))
  25. print('Найдено',len(adress),'адресов')
  26.  
  27. def sort():
  28. adresaDlyaOtseva.clear()
  29. pm = pymem.Pymem(values[0])
  30. for odinAdres in adress:
  31. if pm.read_int(odinAdres) == int(values[5]):
  32. adresaDlyaOtseva.append(odinAdres)
  33. print('Адресов найдено:',len(adresaDlyaOtseva))
  34. adress.clear()
  35. for i in adresaDlyaOtseva:
  36. adress.append(i)
  37.  
  38. sg.theme('DarkGrey6')
  39. layout = [
  40. [sg.Text('Наиминование процесса(notepad.exe): '), sg.InputText('')],# values 0
  41.  
  42. [sg.InputText('')], # values 1
  43. [sg.Button('Получить значение адреса')],
  44.  
  45. [sg.Text('Заменить значение адреса',text_color='white')],
  46. [sg.Text('Адрес: '), sg.InputText('')], # values 2
  47. [sg.Text('Значение: '), sg.InputText('')], # values 3
  48. [sg.Button('Заменить')],
  49.  
  50. [sg.Text('Получить адреса с значением: '), sg.InputText('')], # values 4
  51. [sg.Button('Получить')],
  52.  
  53. [sg.Text('Отсортировать с изменённым значением: '), sg.InputText('')], # values 5
  54. [sg.Button('Отсортировать')],[sg.Button('Вывести адреса')],
  55.  
  56. ]
  57. window = sg.Window('Гипербола', layout)
  58. while True:
  59. global string
  60. event, values = window.read()
  61.  
  62. if event == sg.WIN_CLOSED or event == 'Выйти':
  63. break
  64.  
  65. if event == "Вывести адреса":
  66. for xuita in adresaDlyaOtseva:
  67. print(hex(xuita))
  68.  
  69. if event == "Получить значение адреса":
  70. Thread(target=scan).start()
  71.  
  72. if event == "Отсортировать":
  73. Thread(target=sort).start()
  74.  
  75. if event == "Получить":
  76. Thread(target=getadress).start()
  77.  
  78. if event == "Заменить":
  79. Thread(target=chagne).start()
  80.  
  81.  
  82.  
  83. print()
Add Comment
Please, Sign In to add comment