Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ткните носом пожалуйста

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 27.05.2013, 10:16   #46
 Разведчик
Аватар для dixgen
 
dixgen скоро будет известенdixgen скоро будет известенdixgen скоро будет известенdixgen скоро будет известен
Регистрация: 06.07.2010
Сообщений: 30
Популярность: 364
Сказал(а) спасибо: 1
Поблагодарили 16 раз(а) в 9 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
Сообщение от Xantrax2150198Посмотреть сообщение
Код:
    HWND hWnd = ::FindWindow((LPCSTR)"ElementClient Window",NULL);
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);

Ты используешь идентификатор процесса pid, уже полученный где-то.
зачем же еще вставлять функцию FindWindow, которая у тебя используется вхолостую?
  Ответить с цитированием
Старый 27.05.2013, 12:49   #47
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
зачем же еще вставлять функцию FindWindow

Да, вы совершенно правы, тут она не нужна. Этот атавизм остался с тех пор, как я локально(локально, т.е. не патчил саму функцию, а лишь изменял значение с 0 на 1) размораживал окно и отправлял нажатие клавиши окну через ::PostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);, именно ей нужен был дескриптор окна типа HWND. Недоглядел...

Последний раз редактировалось Xantrax2150198; 27.05.2013 в 12:54.
  Ответить с цитированием
Старый 27.05.2013, 16:22   #48
 Рыцарь
Аватар для Sirioga
 
Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(Sirioga сломал счётчик популярности :(
Регистрация: 19.11.2008
Сообщений: 385
Популярность: 13343
Сказал(а) спасибо: 124
Поблагодарили 217 раз(а) в 109 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
Сообщение от Xantrax2150198Посмотреть сообщение
Sirioga, а у меня вот так вот пропатчилось )) :

Провел опыт, попытался записать вместо 2х байт 4 с использованием SizeOf, естественно как и предполагалось, я получил крэш клиента, возможно это некая особенность языка. По идее, должны были затереться инструкции которые вне диапазона требуемой записи, хотя если работает, ну и ладно, но я бы посоветовал писать точное значение того, сколько байт ты хочешь записать, а так же для проверки вместо NULL выставить контейнер и посмотреть, сколько на самом деле байт записалось.
  Ответить с цитированием
Старый 27.05.2013, 20:05   #49
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
Провел опыт, попытался записать вместо 2х байт 4

Итак, давайте еще раз...
Вот моя функция разморозки(в конце как вы и советовали поместил переменную указатель в которую пишется сколько байт записалось в память):
Unfreeze
Как-то так...

У меня вопрос, как мне понять, в форме лисы я или нет? Какие смещения?
И еще, странно, пет не призван, а здоровье его вывожу....

Последний раз редактировалось Xantrax2150198; 27.05.2013 в 21:46.
  Ответить с цитированием
Старый 27.05.2013, 22:28   #50
 Разведчик
Аватар для dixgen
 
dixgen скоро будет известенdixgen скоро будет известенdixgen скоро будет известенdixgen скоро будет известен
Регистрация: 06.07.2010
Сообщений: 30
Популярность: 364
Сказал(а) спасибо: 1
Поблагодарили 16 раз(а) в 9 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Записывать надо 2 байта. И чего вы выдумываете.. Запустить хотя бы CheatEngine и посмотреть значения по нужным адресам, до и после выполнения нужных функций.

Цитата:
Сообщение от Xantrax2150198Посмотреть сообщение
У меня вопрос, как мне понять, в форме лисы я или нет? Какие смещения?

скорее всего надо перебирать массив бафов на висящий баф "Обращение в лисицу".
Код:
+036C BuffsArray /Список баффов/
  + [I*0x12] Buffs, word

+0374 BuffsCnt, dword /Количество баффов/
  Ответить с цитированием
Старый 28.05.2013, 12:35   #51
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
скорее всего надо перебирать массив бафов

Ммм, я так понимаю, что бафы приобретают значения 0 или 1, в зависимости, висит он или нет, да? И я буду перебирать их, пока не встречу 1?
  Ответить с цитированием
Старый 03.06.2013, 00:07   #52
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Подскажите пожалуйста, что с оффсетами шахт? Они теже, что и в Землях духов? Дело в том, что считываю Type лута(шахт), получаю всего несколько значений шахт, что же получается в памяти на данный момент не равно 0 всего несколько шахт? А когда считываю дистанцию до шахт, так вообще ничего не выдает...

Да толку мне со всех этих оффсетов если у меня асм вставка не работает?

Последний раз редактировалось Xantrax2150198; 03.06.2013 в 01:40.
  Ответить с цитированием
Старый 30.07.2013, 01:54   #53
 Разведчик
Аватар для Xantrax
 
Xantrax никому не известный тип
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Странно, но у меня программа почему-то упорно не хочет выделять ближайшего моба, а выделяет гораздо дальше.

основная функция поиска мобов

получение WID моба

получение TYPE моба

получение Dist моба
Почему такое происходит?
Походу что-то не правильно в считывании дистанции до моба, так как она всегде выдается равной 1, хотя моб явно не на дистанции 1.... Надо разбираться.

Последний раз редактировалось Xantrax; 30.07.2013 в 01:58.
  Ответить с цитированием
Старый 30.07.2013, 03:00   #54
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

В последней функции:
Код:
return ReadProcessMemory
Серьёзно? :D
У ReadProcessMemory возвращаемое значение уж точно не float (там bool, т.е. 1 или 0).
Поскольку считывание происходит успешно, возвращаемое значение true рассматривается как float 1.0.
Реальное же значение должно лежать в buffer.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Старый 30.07.2013, 08:06   #55
 Разведчик
Аватар для Xantrax
 
Xantrax никому не известный тип
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Возвращаемое значение у ReadProcessMemory - BOOL, ну, так и buffer не float, а unsigned long, что не есть float, т.е. (return buffer) вернется число к примеру 10.0 или 15.0, а не 10.67 или 11.537. А если сделать buffer float, то ошибка - buffer + GA(не подходят друг к другу)(СBuilder).
Почему всегда возвращается 1 стало понятно, а вот с типами не совсем, зачем тогда возвращать float из этой функции?

Переписал эту функцию так, пришлось ввести еще одну переменную

Последний раз редактировалось Xantrax; 30.07.2013 в 14:02.
  Ответить с цитированием
Старый 30.07.2013, 23:04   #56
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Xantrax,

Зачем же так много раз открывать и закрывать процесс, может так лучше будет:

Код:
void TForm1::SelectTargetMob()
{
unsigned int WIDMOB = 0;
unsigned int TYPEMOD = 0;
unsigned int DISTMOB = 0;
unsigned int dist = 1000;
unsigned int buffer = 0;

HANDLE Process = OpenProcess(PROCESS_ALL_ACCESS,false,pid);

for(int i = 0; i<768; i++)
{
ReadProcessMemory(Process,(void*)BA,&buffer,sizeof (unsigned int),0);
ReadProcessMemory(Process,(void*)(buffer+D_GA),&buffer,sizeof(unsigned int),0);
ReadProcessMemory(Process,(void*)(buffer+M_D1),&buffer,sizeof(unsigned int),0);
ReadProcessMemory(Process,(void*)(buffer+M_D2),&buffer,sizeof(unsigned int),0);
ReadProcessMemory(Process,(void*)(buffer+M_STRUCT ),&buffer,sizeof(unsigned int),0);
ReadProcessMemory(Process,(void*)(buffer+(i*Random )),&buffer,sizeof(unsigned int),0);
ReadProcessMemory(Process,(void*)(buffer + Random),&buffer,sizeof(unsigned int),0);
if(buffer!=0)
{
ReadProcessMemory(Process,(void*)(buffer + TYPE_MOB),&TYPEMOB,sizeof(unsigned int),0);
if(TYPEMOB==6)
{
ReadProcessMemory(Process,(void*)(buffer + DIST_MOB),&DISTMOB,sizeof(unsigned int),0);
if(DISTMOB <dist)
{
ReadProcessMemory(Process,(void*)(buffer + WID_MOB),&WIDMOB,sizeof(unsigned int),0);
dist =DISTMOB;
}
}
}
}
CloseHandle(Process);
inject.TargetMob(WIDMOB);

}
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Старый 30.07.2013, 23:13   #57
 Разведчик
Аватар для Xantrax
 
Xantrax никому не известный тип
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Да, несомненно, так лучше, только бы еще объяснение или пример, почему плохо открывать и закрывать процесс несколько раз?
  Ответить с цитированием
Старый 30.07.2013, 23:22   #58
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Xantrax,

А логически тебе не кажется, что в твоем случае операция обрабатывается дольше и нагрузка выше?

Да, и еще, к точке привязывать будешь? Если нет, то он у тебя убежит от места фарма неизвестно куда.
________________
MultiXBot
MultiX_POT

Последний раз редактировалось fds255; 30.07.2013 в 23:27.
  Ответить с цитированием
Старый 30.07.2013, 23:33   #59
 Разведчик
Аватар для Xantrax
 
Xantrax никому не известный тип
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
А логически тебе не кажется, что в твоем случае операция обрабатывается дольше и нагрузка выше?

Согласен.
Цитата:
Да, и еще, к точке привязывать будешь? Если нет, то он у тебя убежит от места фарма неизвестно куда.

Ооо, ))) с Асмом у меня давняя война. Еще пару месяцев назад я тут писал этого бота на Visual Studio 2005 C++ библиотека MFC(преимущественно). Так вот там дело дошло до того, что просматривал Асм код скомпилированного .exe-шника и оказывалось, что VS вставлял в ассемблерную вставку еще какую-то свою функцию из-за чего клиент вылетал, хотя сверял и функцию инжекта, и асемблерную вставку с товарищами с этого форума и все говорили, что они работают и верны.

Да, как-то надо привязать бота к месту(точке) опр-нными координатами.
  Ответить с цитированием
Старый 30.07.2013, 23:49   #60
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Ткните носом пожалуйста

Цитата:
Сообщение от XantraxПосмотреть сообщение
Да, как-то надо привязать бота к месту(точке) опр-нными координатами.

У моего фармера следующая логика:

Считываешь координаты моба, далее по теореме Пифагора определяешь расстояние от моба до точки фарма, и если оно равно заданному тобой расстоянию, то считываешь расстояние от твоего перса до моба, и так по убывающей. А если ни один моб не попал в зону фарма, то бежишь к заданной точке.
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гм Инновы у нас под носом О_о .NextTarget Общение и обсуждение, архив Point Blank 4 10.03.2011 13:16

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:25.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net