Читаем память [Autoit] - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World
18.07.2012, 12:13
#1
Пехотинец
Регистрация: 12.06.2012
Сообщений: 73
Популярность: 529
Сказал(а) спасибо: 16
Поблагодарили 49 раз(а) в 33 сообщениях
Читаем память [Autoit]
Базовый урок для новичков как прочитать память клиента.
Ищем базовый адрес или BA
Чтобы найти базовый адрес можно воспользоваться вот этими способами:
1)Найти нужную версию и посмотреть BA
2)Руками через Cheat Engine
3)Программно
Нашли адрес?объявим его.
Также нужно указать из чего мы будем читать.
Код:
#include <Memory.au3>
#include <GUIConstants.au3>
#include <Array.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$base = 0xB27A04
$memory = _MemoryOpen (ProcessExists("elementclient.exe"))
Сделаем Форму с кнопкой
Код:
$Form1 = GUICreate("Form1", 116, 79, 192, 124)
$Button1 = GUICtrlCreateButton("HP", 16, 8, 75, 25)
$Button2 = GUICtrlCreateButton("MP", 16, 40, 75, 25)
GUISetState(@SW_SHOW)
Переходим к коду
Чтение памяти выполняется функцией _MemoryRead
Чтобы написать Код нам нужно найти смещения.Посмотреть их можно в этой теме
http://zhyk.ru/forum/showthread.php?t=287321
цепочка смещений у нас такая BaseAdress +0x1C +0x34, длинна структуры 0x1314 байта
Вот что получается
Код:
$hp = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x490, $memory)
$ms = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x494, $memory)
Теперь привязываем кнопку к функции
Код:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button1
MsgBox(0,"HP",$hp)
Case $button2
MsgBox (0,"MP",$mp)
EndSwitch
WEnd
Вот и все
[
Ссылки могут видеть только зарегистрированные пользователи. ]
[
Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось Goooooogle; 12.09.2012 в 13:54 .
3 пользователя(ей) сказали cпасибо:
27.07.2012, 21:46
#2
Рыцарь-лейтенант
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Re: Читаем память [Autoit]
Для новичков - подойдет отлично. Только распиши и прокомментируй цепочку _memoryread(_memoryread...
А то, включив "режим нуба", я б не понял.
И про смещения напиши.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3 .
P.S. Но я всё такой же добрый модератор раздела PW.
Пользователь сказал cпасибо:
19.08.2012, 18:09
#3
Разведчик
Регистрация: 10.05.2010
Сообщений: 17
Популярность: 12
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
Re: Читаем память [Autoit]
[Ссылки могут видеть только зарегистрированные пользователи. ]
опишите пошагово как и что делать а то вот ошыбка
19.08.2012, 21:43
#4
Разведчик
Регистрация: 19.08.2012
Сообщений: 13
Популярность: -176
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
Re: Читаем память [Autoit]
Цитата:
опишите пошагово как и что делать а то вот ошыбка
вот
http://zhyk.ru/forum/showthread.php?t=488124 такая точно проблема, зайди
а вообще для этой функции нада добавить сверху include "NomadMemory.au3" и найти в интернете этот самый файл и паложить рядом с исходом. Ошибка афтара, или проста недочет.
Последний раз редактировалось Геймeр; 19.08.2012 в 21:48 .
27.08.2012, 12:28
#5
Пехотинец
Регистрация: 12.06.2012
Сообщений: 73
Популярность: 529
Сказал(а) спасибо: 16
Поблагодарили 49 раз(а) в 33 сообщениях
Re: Читаем память [Autoit]
blackchaos , Скачай [Ссылки могут видеть только зарегистрированные пользователи. ]
03.05.2015, 18:03
#6
Разведчик
Регистрация: 23.02.2015
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Читаем память [Autoit]
Подскажите пожалуйста что я делаю не так не могу найти простейшего просто хп перса? версия клиента 1.5.1
запускаю скомпелированый фаил от админа
Код:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.12.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
;-------------------------обьявление ба адреса------------------------------------------
#include <Memory.au3>
#include <GUIConstants.au3>
#include <Array.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#RequireAdmin
Dim $numbers[3]
Dim $hp3
Dim $hp2
;запуст от имени админи с библиотеки <NomadMemory.au3>
;SetPrivilege("SeDebugPrivilege", 1)
;0x00C7CA6C 0x00C7D20C
$base = 0x00C7CA6C
;$base = 0xC7CA6C
;$base = 0x00C7D20C
;$base = 0xC7D20C
;$memory = _MemoryOpen (ProcessExists("elementclient"))
$memory = _MemoryOpen (ProcessExists("elementclient.exe"))
;$memory = _MemoryOpen (ProcessExists("Perfect World Crystal"))
;$memory = _MemoryOpen (ProcessExists("13876"))
;-------------------------обьявление ба адреса------------------------------------------
;-------------------------форма с кнопкой------------------------------------------
; длина вісота
$Form1 = GUICreate("Form1", 326, 289, 402, 334)
$Button1 = GUICtrlCreateButton("узнать HP", 16, 8, 75, 25)
$Button2 = GUICtrlCreateButton("узнать MP", 16, 40, 75, 25)
$Button3 = GUICtrlCreateButton("узнать ФРИЗ", 16, 72, 75, 25)
$Button4 = GUICtrlCreateButton("узнать x y z", 16, 105, 75, 25)
$Label1 = GUICtrlCreateLabel("Label1", 16, 137, 76, 25)
GUISetState(@SW_SHOW)
;-------------------------форма с кнопкой------------------------------------------
;
;-------------------------читаем память------------------------------------------mp494
$hp1 = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x30, $memory)+0x4A8, $memory)
$hp2 = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x4A8, $memory)
$hp3 = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x32, $memory)+0x4A8, $memory)
$hp4 = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x30, $memory)+0x578, $memory)
$hp5 = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x4B0, $memory)
$hp6 = _MemoryRead(_MemoryRead(_MemoryRead(_MemoryRead($base, $memory)+0x1C, $memory)+0x30, $memory)+0x4A0, $memory)
$mp = _MemoryRead ($base, $memory)
$mp1 = _MemoryRead ($mp+0x1C, $memory)
$mp2 = _MemoryRead ($mp1+0x30, $memory)
$mp3 = _MemoryRead ($mp2+0x4F8, $memory)
$mp5 = _MemoryRead ($mp1+0x34, $memory)
$mp6 = _MemoryRead ($mp5+0x4F8, $memory)
$mp7 = _MemoryRead ($mp1+0x24, $memory)
$mp8 = _MemoryRead ($mp7+0x4F8, $memory)
;$mp1 = _MemoryRead ($mp+0x1C, $memory)
;$mp2 = _MemoryRead ($mp1+0x30, $memory)
;$mp3 = _MemoryRead ($mp2+0x4A8, $memory)
$mp4 = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x4A8, $memory)
$fr = _MemoryRead (_MemoryRead ($base, $memory)+0xC9EC00, $memory)
$x = _MemoryRead (_MemoryRead (_MemoryRead (_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x3C, $memory)
$x1 = _MemoryRead (_MemoryRead (_MemoryRead ($base, $memory)+0x1C, $memory)+0x3C, $memory)
$y = _MemoryRead (_MemoryRead (_MemoryRead(_MemoryRead ($base, $memory)+0x1C, $memory)+0x34, $memory)+0x44, $memory)
$y1 = _MemoryRead (_MemoryRead (_MemoryRead ($base, $memory) + 0x1C, $memory)+0x44, $memory)
$z = _MemoryRead (_MemoryRead (_MemoryRead ($base, $memory)+0x1C, $memory)+0x40, $memory)
$z1 = _MemoryRead (_MemoryRead (_MemoryRead ($base, $memory)+0x1C, $memory)+0x40, $memory)
;-------------------------читаем память------------------------------------------
;-------------------------привязываем кнопку к функции------------------------------------------
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button1
MsgBox(0,"HP",$hp1 & " - " & $hp2 & " - тут" & $hp3 & " - " & $hp4 & " -лвл " & $hp5 & " -лвл " & $hp6)
Case $button2
MsgBox (0,"MP",$mp & " - " & $mp1 & " - " & $mp2 & " - " & $mp3 & " - " & $mp4 & " - " & $mp5 & " - " & $mp6 & " - " & $mp7 & " - " & $mp8)
Case $button3
MsgBox (0,"ФРИЗ",$fr)
Case $button4
MsgBox (0,"x y z"," x" & $x & " - " & $x1 & " y" & $y & " - " & $y1 & " z" & $z & " - " & $z1)
EndSwitch
WEnd
;-------------------------привязываем кнопку к функции------------------------------------------
перепробовала все варианты
Код:
#Include "WinAPI.au3"
#Include "Constants.au3"
; MinHP Read By Sirioga
; Ver 1.4.5 Build 2305
;0x00C7CA6C 0x00C7D20C
;$base = 0x00C7CA6C
;$base = 0xC7CA6C
;$base = 0x00C7D20C
;$base = 0xC7D20C
Global $iPID, $iRead
;$handle = _WinAPI_FindWindow("ElementClient Window", "Perfect World Crystal")
;$handle = _WinAPI_FindWindow("elementclient Window", "Perfect World Crystal")
$handle = _WinAPI_FindWindow("elementclient Window", "Perfect World Crystal")
_WinAPI_GetWindowThreadProcessId($handle, $iPID)
$hProcess = _WinAPI_OpenProcess($PROCESS_ALL_ACCESS, False, $iPID)
Global $fPoint = DllStructCreate("dword")
if @error Then
MsgBox(0,"","Error in DllStructCreate " & @error);
exit
endif
_WinAPI_ReadProcessMemory($hProcess, 0x00C7D20C, DllStructGetPtr($fPoint), DllStructGetSize($fPoint), $iRead)
MsgBox(0,"MinHP1",DllStructGetData($fPoint,1))
_WinAPI_ReadProcessMemory($hProcess, DllStructGetData($fPoint,1)+0x1C, DllStructGetPtr($fPoint), DllStructGetSize($fPoint), $iRead)
MsgBox(0,"MinHP2",DllStructGetData($fPoint,1))
_WinAPI_ReadProcessMemory($hProcess, DllStructGetData($fPoint,1)+0x30, DllStructGetPtr($fPoint), DllStructGetSize($fPoint), $iRead)
MsgBox(0,"MinHP3",DllStructGetData($fPoint,1))
_WinAPI_ReadProcessMemory($hProcess, DllStructGetData($fPoint,1)+0x4A8, DllStructGetPtr($fPoint), DllStructGetSize($fPoint), $iRead)
;_WinAPI_ReadProcessMemory($hProcess, DllStructGetData($fPoint,1)+0x3C, DllStructGetPtr($fPoint), DllStructGetSize($fPoint), $iRead)
MsgBox(0,"MinHP4",DllStructGetData($fPoint,1))
помогите пожалуйста прочитать хоть просто хп
Последний раз редактировалось cristallpppw; 03.05.2015 в 19:40 .
07.05.2015, 14:32
#7
Разведчик
Регистрация: 06.02.2013
Сообщений: 24
Популярность: 10
Сказал(а) спасибо: 8
Поблагодарили 3 раз(а) в 2 сообщениях
Re: Читаем память [Autoit]
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:28 .