|
"Патчер памяти" или "Пишем флайхак" [Delphi] - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World |
08.11.2010, 21:41
|
#91
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
777gamer777, для всех надо. К тому же таб относится к системным клавишам и посылать надо не WM_KEYDOWN, а WM_SYSKEYDOWN.
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
Пользователь сказал cпасибо:
|
|
08.11.2010, 21:46
|
#92
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Функциональные кнопки блокируются "защитой". Помогает разморозка окна или "крякинг"
По поводу J
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer; //i,j в структуре
wnd:HWND;bytescount,pid,ipbuf,hprocess : dword;
const ba=$009C0E6C; //Базовый адресс
begin
wnd:=findwindow(nil,'Perfect World');
GetWindowThreadProcessId(wnd,@pid);
hprocess:=openprocess(PROCESS_ALL_ACCESS, False, PID);
j:=0;
for i:=0 to 389 do
begin
readprocessmemory(hprocess,ptr(ba),@ipbuf,sizeof(i pbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+$218),@ipbuf, sizeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+$8),@ipbuf,si zeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+i*4),@ipbuf,s izeof(ipbuf),bytescount);
for j:=0 to j do
begin
readprocessmemory(hprocess,ptr(ipbuf+0),@ipbuf,s izeof(ipbuf),bytescount);
end;
//читаем то что нам надо
inc(j);
end;
end;
Прибавление нуля дает нам доступ к другим страницам памяти.
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
Пользователь сказал cпасибо:
|
|
09.11.2010, 19:42
|
#93
|
|
|
|
Разведчик
|
Регистрация: 03.09.2009
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 23
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Спс, т .е циклы должны быть вложенными?
и еще вопросы:
for j:=0 to j do
begin
readprocessmemory(hprocess,ptr(ipbuf+0),@ipbuf,s izeof(ipbuf),bytescount);
end;
цикл выполняется только 1 раз
И, как я понял, +$0 - это переход на другую страницу?
|
|
|
09.11.2010, 20:22
|
#94
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
777gamer777,
1. цикл выполняется от 0 до J раз
Код:
...
//читаем то что нам надо
inc(j);
...
2. да, это переход на другую страницу
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
Пользователь сказал cпасибо:
|
|
10.11.2010, 14:39
|
#95
|
|
|
|
Разведчик
|
Регистрация: 03.09.2009
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 23
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
1.Каждый элемент структуры клана, это адресс определенного клана, о котором можно что-то узнать, например лвл, имя...?
2. Мне хочется понять как все устроено и как выполняется этот программный код
сначала I:=0;j:=0;
будет выполнятся так:
// 1 шаг
readprocessmemory(hprocess,ptr(ba),@ipbuf,sizeof(i pbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+$218),@ipbuf, sizeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+$8),@ipbuf,si zeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+0*4),@ipbuf,s izeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+0),@ipbuf,s izeof(ipbuf),bytescount);//$0 или просто 0
// что мы этим узнали?
//2 шаг
readprocessmemory(hprocess,ptr(ba),@ipbuf,sizeof(i pbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+$218),@ipbuf, sizeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+$8),@ipbuf,si zeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+2*4),@ipbuf,s izeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+0),@ipbuf,s izeof(ipbuf),bytescount);
readprocessmemory(hprocess,ptr(ipbuf+0),@ipbuf,s izeof(ipbuf),bytescount);
//Получается с ростом i, растет и J?
и вообще, что это за структура, а то я что-то вообще запутался((
|
|
|
10.11.2010, 15:09
|
#96
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
777gamer777,
J инкрементируется после того, как I достигло своего максимального значения, а зачем I становится 0 и по новой...
Структура это некий объект в памяти клиента, который содержит в себе какие-то элементы, например: инты, стринги, флоты и т.д.
Для доступа к самим данным структуры нам сначала необходимо найти адрес начала этой структуры в памяти.
Для этого мы как раз и бегаем по "страницам".
Адреса начал структур в памяти на первой странице выглядит так:
BA +218 +8 +[I*4]
На 2ой: BA +218 +8 +[I*4] +0
На 3ей: BA +218 +8 +[I*4] +0 +0
На 4ой: BA +218 +8 +[I*4] +0 +0 +0
Соответственно для получения всех элементов 1ый страницы надо просканировать 795 адресов. I от 0 до 795 же. Когда мы закончили сканировать 795 элементов, мы переходим на следующую "страницу" и по новой сканируем.
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
Пользователь сказал cпасибо:
|
|
10.11.2010, 15:27
|
#97
|
|
|
|
Разведчик
|
Регистрация: 03.09.2009
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 23
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
TBX1n, Спасибо) вот допустим мы нашли все элементы структуры, допустим структуры мобов, ткпкрь нужно для каждого элемента находить, например, название моба. И тогда мы узнаем всех мобов, которые нас окружают?
|
|
|
10.11.2010, 15:46
|
#98
|
|
|
|
Главнокомандующий
|
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
777gamer777, да, именно так. Но я обычно сразу получаю информацию к примеру о клане, если структура существует.
Например:
BA +218 +8 +[500*4], где 500 - это элемент на странице.
Если значение по этому адресу != 0, значит структура существует и мы можем получить данные:
+4 ClanID
+8 +4 +0 ClanName
+8 +8 ClanLvl
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
Пользователь сказал cпасибо:
|
|
10.11.2010, 15:49
|
#99
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Куда лучше брать информацию о каждом мобе во время сканирования, а не после того как мы получили адреса начала структур каждого моба.
Сканировать довольно удобно в записи.
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
10.11.2010, 15:56
|
#100
|
|
|
|
Разведчик
|
Регистрация: 03.09.2009
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 23
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Спасибо вам огромное)) кажется прояснилось
|
|
|
10.11.2010, 16:27
|
#101
|
|
|
|
Пехотинец
|
Регистрация: 11.10.2010
Сообщений: 86
Популярность: 13
Сказал(а) спасибо: 46
Поблагодарили 33 раз(а) в 22 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Ну так ведь нужно знать оффсеты что бы прочитать из памяти так вот я хочу узнать как из (оффсет левела из offsetretriever клиент 1.3.4) 00000448 сделать (пример)$009C0E6C.
|
|
|
10.11.2010, 16:59
|
#102
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Уважаемый, прочтите тему с начала.
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
10.11.2010, 17:30
|
#103
|
|
|
|
Разведчик
|
Регистрация: 03.09.2009
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 23
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Кое-что все-так я не понял)
1.у нас есть I, запускаем цикл от 0 до 389(это и будет количество элементов на одной странице, правильно я понял?)
2.Но с J я не понял.
Сначала сканируем все элементы на 1ой странице, и только потом прибавляем $0 и начинаем по новой и т. д.?
или начинается 1ая итерация цикла i, находим структуру, и сразу же прибаляем $0?
|
|
|
10.11.2010, 17:37
|
#104
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Сначала пробегаем 1 страницу, потом вторую, потом третью. Я разве говорил что мой код вам подойдет? Я лишь показал как организовать переход по страницам.
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
Пользователь сказал cпасибо:
|
|
10.11.2010, 19:00
|
#105
|
|
|
|
Разведчик
|
Регистрация: 03.09.2009
Сообщений: 36
Популярность: 10
Сказал(а) спасибо: 23
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: "Патчер памяти" или "Пишем флайхак" [Delphi]
Выходит, J может быть от 0 до максимального значения типа Integer, но тогда этих элементов будет нереально много, и обработка будет затруднительной... (колво элементов = max integer * 389)
Последний раз редактировалось 777gamer777; 10.11.2010 в 19:04.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:46.
|
|