Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 17:23

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Rus. server

Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.

Reply
 
Old 12/27/2009, 12:37   #1171
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by dwar View Post
popad = pop EDI, ESI, EBP, ESP, EBX, EDX, ECX, EAX
т.е., достаточно оставить popad (если здесь под POPAD() подразумевается аналог команды ассемблера)
а равновесие не нарушится - мы ведь в стек получается 2 раза EDI прячем PUSHAD и PUSH EDI, а вынимаем один POPAD .. ??
origmas is offline  
Old 12/27/2009, 12:44   #1172
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by dj_al View Post
подумай ...
Не ID прячется а куазатель на ID

static DWORD WINAPI SelectMonster(LPCVOID lpParam )
{ DWORD BaseAddress = 0x0098ADDC;
DWORD CallAddress = 0x005B7B70;
DWORD MonsterID = (DWORD)lpParam;
origmas is offline  
Old 12/27/2009, 13:10   #1173
 
elite*gold: 0
Join Date: Oct 2009
Posts: 20
Received Thanks: 2
Функция и из AutoGeo совпадают. Проверил опкоды - всё правильно.
Shamanpovt is offline  
Old 12/27/2009, 13:11   #1174
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by dj_al View Post
Вах ...
MonsterID - это указатель на ID (в этой именно реализации на VC++)

mov edi, MonsterID; // записывается в регистр
mov edi, [edi]; // из адресса, который и представляет собой этот указатель (по нем и лежит ID) - читаются данные в опять-же в этот регистр - то-есть сам ID
push edi; // и прячется ..

сам ID подготавливается функцией распределения памяти под данные функции потока, записью туда ID-а и открытием потока, а в эту функцию ID передается из основной программы ..

... это не я "Молодца" - это тот кто так догадался сделать на VC++

.. вообще-то работает ..
origmas is offline  
Old 12/27/2009, 14:32   #1175
 
BuBucekTop's Avatar
 
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
У меня сделано как FSM. Но если ты хочешь

Quote:
Originally Posted by silkytail View Post
... формализовать планы и цели так, чтобы это не было зашито только в коде и можно было это настраивать? ...
То надо ичпользовать Lua или Python. А для любителей дельфи - FastScript.
BuBucekTop is offline  
Old 12/27/2009, 14:37   #1176
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Novohyd

процесс можно не трогать пусть он открыт всегда .. там одна строчка в функции
CallRemoteFunction(...) перед return стоит CloseHandle(hProcess); - убери и все ОК!
теперь логику надо отштудировать - там в цикле DO не так как-то определение занятости моба (с инжектом полного выделения) стало работать .. подумай или закоменть все что с ней связано и сам цикл DO .. один FOR оставь пока.. (потом с занятостью разберемся)
origmas is offline  
Old 12/27/2009, 14:59   #1177
 
muzhig's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
Quote:
... формализовать планы и цели так, чтобы это не было зашито только в коде и можно было это настраивать? ...
Чтобы формализовать цели, даже пусть самые навороченные, хватит обычного XML.
Но кроме формализации целей, придется формализовать также и методы их достижения, по хорошему. А это имхо сложнее- предоставить человеку возможность писать свои скрипты.. кто это будет делать? если даже нескриптовые варианты ботов отлаживаются с трудом, то потом мы получим очень сложного бота (в плане настройки).

Лично я усвоил правило:
За универсальность приходится платить. Или производительностью или излишней сложностью интерфейса.

Ведь потом все равно придется делать для пользователя удобный и доступный интерфейс- то есть дедукция - от общего к частному.
Лично я поставлю себе на форму галочку "Улетать при критическом здоровье"- для меня этого достаточно.

Выходит, игра не стоит свеч. Зачем напрягаться, делать супер навороченного бота, которым потом будет также трудно пользоваться?

Мой вердикт: я за универсальность, но в меру.

ЗЫ: про автоматы и FSM: мы проходили теорию автоматизации весьма поверхностно, так что возможно с терминологией я ошибся. Извиняйте. Главное, вы поняли идею))
muzhig is offline  
Old 12/27/2009, 16:35   #1178
 
BuBucekTop's Avatar
 
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
Кстати, кто-нибудь обнаружил в клиенте список активных и доступных квестов ??
Поделитесь смещениями... А то начал тут делать авто-гео и застрял на этом моменте.
BuBucekTop is offline  
Old 12/27/2009, 16:59   #1179
 
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
Quote:
Originally Posted by origmas View Post
Ну че Novohyd - прививается зараза - Али как ?

-- беги за Клинским ..))
Заменил - 19 ошибок компилятор выдал. Сижу-разбираюсь
Novohyd is offline  
Old 12/27/2009, 17:09   #1180
 
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
Все поправил - пробелы откуда-то взялись при копировании с форума.
Запустил - моба не выделяет. При нескольких нажатиях на кнопу Цель вместо в строке где показывает выбранного моба пишет Диапозон от 147 до 187 и в зависание бота.
Чтоб проверить раскомментировал WriteProcessMemory(Proc,(LPVOID)(Pers+_CharTID),&P riorID,4,0); - прописывает моба неполным выделением. Знач моба находит нормально и ид пересылает.
Novohyd is offline  
Old 12/27/2009, 17:20   #1181
 
muzhig's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27

Почитай, мож поможет)) заодно спроси чела, может он пояснит.
muzhig is offline  
Old 12/27/2009, 17:51   #1182
 
elite*gold: 0
Join Date: Jul 2008
Posts: 43
Received Thanks: 16
Quote:
Originally Posted by origmas View Post
MonsterID - это указатель на ID (в этой именно реализации на VC++)

mov edi, MonsterID; // записывается в регистр
mov edi, [edi]; // из адресса, который и представляет собой этот указатель (по нем и лежит ID) - читаются данные в опять-же в этот регистр - то-есть сам ID
push edi; // и прячется ..

сам ID подготавливается функцией распределения памяти под данные функции потока, записью туда ID-а и открытием потока, а в эту функцию ID передается из основной программы ..

... это не я "Молодца" - это тот кто так догадался сделать на VC++

.. вообще-то работает ..
В данной реализации сишника то работает. А вот человек спрашивал про Автоит.А ты ему там советуешь выполнять данную операцию. А для него она НЕ ПРИМЕНИМА. Поэтому в его реализации данная вещь приводит к 100% лаже.

Заметь в его примере:
Code:
MOV_EDI(Dec("801050D6"))
MOV_EDI_DWORD_PTR_EDI()
PUSH_EDI()
Он запихивает само ID в регистр EDI, а не указатель на него. Поэтому операция MOV_EDI_DWORD_PTR_EDI() для него идиотична. К тому же, чтобы использовать пример из твоего сишника, ты сначала должен этот ID писать в адресное пространство клиента, а потом только передавать параметром своей функции (кстати что абсолютно бессмысленно, т.к. по сути при вызове CreateRemoteThread ты передаёшь 1 параметр - в 4 байта, который всего лишь является указателем на число в 4 байта, поэтому в данной конкретной ситуации проще не через указатель передавать, а само ID вместо указателя. Но такой частный случай может привести к тому, что не подойдёт общий код инъекции, расчитанный на большую структуру параметров).

На автоите ID передаётся совсем по другому. Там не делается передача по указателю. Вместо этого динамически формируется исполняемый код, который именно записывает этот ID по самому значению в регистр EDI, и передача параметров просто не осуществляется.

Т.е. в его случае команда:
MOV_EDI(Dec("801050D6"))
должна сформировать исполняемый ассемблерный код команды:
mov edi, 0x801050D6

Как видишь тут передачи параметров, а тем более извлечение их значений по указателям просто нету.

А причина проблем у человека: либо некорректное формирование исполняемого кода инъекции, либо неправильно осуществление самой инъекции.
dj_al is offline  
Old 12/27/2009, 18:12   #1183
 
muzhig's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
Как узнать, чей лут? Отличить свой лут/ничей и чужой.
Чтобы не стоять тупо около монетки не своей- палевно очень.
Да и когда чел рес копает, у него над душой стоять в ожидании копания тоже как то некрасиво....
muzhig is offline  
Old 12/27/2009, 18:17   #1184
 
elite*gold: 0
Join Date: Oct 2009
Posts: 20
Received Thanks: 2
Ребят, нашёл ошибку)
В Autogeo неправильно переводится add ecx,... в машинные коды)
Теперь работает)
Спасибо вам огромное!
Shamanpovt is offline  
Old 12/27/2009, 18:53   #1185
 
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
Quote:
Originally Posted by Shamanpovt View Post
Ребят, нашёл ошибку)
В Autogeo неправильно переводится add ecx,... в машинные коды)
Теперь работает)
Спасибо вам огромное!
Если не секрет, как правильно?
Novohyd is offline  
Reply




All times are GMT +1. The time now is 17:23.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.