Rus. server

09/03/2009 19:03 sumikot#406
lokky006
Знаю ток как ID мобов находить
BA+8+24+18+i*4+4+11c id
но это было постами раньше
а про имя сам спрашивал - никто пока не обьяснил, хотя судя по скринам на этой ветке это уже нашли. По твоим офсетам имя принимает четырехбайтовое значение - это скорей всего тоже офсет на какой то адрес.

Вещи в инвентаре если кому нужно
BA+20+B9C+C+i*4+0C ID
BA+20+B9C+C+i*4+10 количество в ячейке
i=0-31
все в hex
как вытащить имя предмета не знаю - допустим ИД Угольный порошок 8102
Можно конечно все предметы с названиями в массиве запомнить или в ini файл записать и вытаскивать по мере необходимости но это же .... Как то через зад получится. Будем копать дальше...
09/03/2009 19:04 Deniz22115#407
was labert ihr digga
09/03/2009 20:27 lokky006#408
Quote:
Originally Posted by sumikot View Post
lokky006
Знаю ток как ID мобов находить
BA+8+24+18+i*4+4+11c id
но это было постами раньше
а про имя сам спрашивал - никто пока не обьяснил, хотя судя по скринам на этой ветке это уже нашли. По твоим офсетам имя принимает четырехбайтовое значение - это скорей всего тоже офсет на какой то адрес.

Вещи в инвентаре если кому нужно
BA+20+B9C+C+i*4+0C ID
BA+20+B9C+C+i*4+10 количество в ячейке
i=0-31
все в hex
как вытащить имя предмета не знаю - допустим ИД Угольный порошок 8102
Можно конечно все предметы с названиями в массиве запомнить или в ini файл записать и вытаскивать по мере необходимости но это же .... Как то через зад получится. Будем копать дальше...
кстати насчет масива тут ты малость неправ его так и так над делать
потомучто надо знать что упало с моба эт раз и второе что из этого надо поднять это два (а это два и должно лежать у тя в ини файле с галочкой взять)
09/04/2009 12:31 sumikot#409
Я по другому хотел.
Что тебе напоминает ситуация - на поляне несколько друлек и россыпь дропа. Сразу мысль - боты. Брать нужно все - и свое и чужое чтоб не было палева. По заполнению инвентаря отходить недалеко в сторону и сбрасывать лишнее. Можно слетать к ближайшему нипу и продать. Сбрасывать нужно вещи у которых количество в ячейке 1 - обычно это всякий шмот. Так в ини я хотел хранить координаты нипов а не дропа. Сравнил по координатам и к ближайшему. Посчитай скок вещей вообще в пв - сколько надо времени и сил чтобы все записать и какой обьем будет у файла. А названия я хочу для лога. Допустим убит кот. Поднят камень. Но это только для анализа. То есть пришел через несколько часов после запуска - а бот стоит - посмотрел что он делал и на чем заткнулся.
09/05/2009 12:24 sumikot#410
Гуру, ПОМОГИТЕ !!!
Кто знает, как найти адрес функции для инжектинга - допустим, функция нацеливания на моба - помогите с поиском хотя бы одного. Желательно с примером, если не трудно. Смысл пойму, остальное сам найду. Благодарность моя не будет иметь границ ))
09/05/2009 16:26 lokky006#411
Quote:
Originally Posted by sumikot View Post
Гуру, ПОМОГИТЕ !!!
Кто знает, как найти адрес функции для инжектинга - допустим, функция нацеливания на моба - помогите с поиском хотя бы одного. Желательно с примером, если не трудно. Смысл пойму, остальное сам найду. Благодарность моя не будет иметь границ ))
--------------------------------------------------------------------
Аввот тут то изасада яж сам спрашивал как номер моба выяснить
спиок мобов есть левлы есть
нужны
координаты моба
номер моба в списке
имя моба
------------------------
и уж потом ток цель атоковать Ксатати нацеливание было еше в исходнике первого бота пересмотри код мож и подойдет..............
09/05/2009 16:55 lokky006#412
#include <NomadMemory.au3>
#include <Memory.au3>
#include <GUIConstants.au3>
#include <Array.au3>
#include <string.au3>

Local $avArray[1]
Global $APP_BASE_ADDRESS = "0x" & Hex(9925052)
Global $APP_TITLE = "Element Client"
Global $PROCESS_ID = WinGetProcess($APP_TITLE)
Global $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID)
If @error Then
MsgBox(0, "Запусти Perfect World", "Запусти перфект")
Exit
EndIf


for $i= 1 to 32 step 1
global $mob[6]
$mob[1]=dec("20")
$mob[2]=dec("B9c")
$mob[3]=dec("C")
$mob[4]=$i*4
$mob[5]=dec("С") << id веши если $10 количество (СоРИ )
$MOE5= _MemoryPointerRead($APP_BASE_ADDRESS, $PROCESS_INFORMATION, $mob,"dword")
$aItems = "id=" & $MOE5[1]
_ArrayAdd($avArray, $aItems)
next
$okno = _ArrayDisplay($avArray, "масив")
Спасиб те большое сори все читает ..(я русскую "с" поставил флучайн((
09/05/2009 21:23 sumikot#413
Чет последнее время на форуме кроме нас никого...
lokky006, ты не понял вопроса - инжект это когда в виртуальном адресном пространстве чужого процесса освобождаешь память, создаешь свой поток и вызываешь нужные функции этого самого чужого процесса - вместо writememory в точку таргета я вызову функцию как будто щелкнул мышкой по мобу. Плюс этого - будет работать обычная атака и на сервер пойдет правильный пакет. А адреса функций не знаю, даже от чего оттолкнуться не знаю при их поиске. Есть и минус - занимаемая память растет. Рево бот так работает судя по описанию - сам не запускал, врать не буду. Да, еще плюс - можно окно клиента делать неактивным. Допустим, в одном окне ты, в другом - твой личный хилер. Задумок много, знаний мало. Вьетнамские друзья нас в этом давно уже обогнали - у них ботостроение на инжекте и пакеты ловят... Что гугль переводит - мало понятно и в технические детали они не особенно вдаются. Да везде так - одна нормальная мысль чья нибудь и после нее 5 страниц флуда. Да еще кто нибудь с кряками голда или с взломщиками паролей оффтопит...
Тут есть про [Only registered and activated users can see links. Click Here To Register...], даже пример на аутоите есть, но он не полный и содран с того же вьетнамского форума. Правда и от себя автор тоже кое что полезное добавил. Надоело ковырять вслепую - пойду поиграю.

PS А еще можно по местности двигаться с помощью инжекта - по координатам, ресы собирать, дроп нипам сдавать да кучу лабуды всякой можно придумать....
09/06/2009 01:23 int_#414
Quote:
Originally Posted by sumikot View Post
Гуру, ПОМОГИТЕ !!!
Кто знает, как найти адрес функции для инжектинга - допустим, функция нацеливания на моба - помогите с поиском хотя бы одного. Желательно с примером, если не трудно. Смысл пойму, остальн086;е сам найду. Благодарность моя не будет иметь границ ))
смотрим на пример вызова «C++ Builder: (adapted to work with PWI)» в теме «Direct Injection Codes».
Code:
mov edx, DWORD PTR [BaseAddress]
push     MonsterID
mov ecx, DWORD PTR [edx+0x20] 
add ecx, 0xEC
mov edx, CallAddress
call     edx
перед вызовом функции нацеливания игра считывает данные из BaseAddress + 0x20. вот это считывание мы и отловим.
asgborges пишет «Use the tutorial How to Search For Base Address.. when you found the address, substract 0x1C from and do another search in Hex value to get the REAL base address.»
в Cheat Engine ищем 009771A0, нам нужен первый найденный адрес. получается что для руоф BaseAddress = 00976B1C

добавляем «address of pointer 00976B1C + offset 20»и жмем «Find out what accesses this adress → Find what accesses the address pointed at by this pointer »
в появившемся окошке у нас сразу появляется несколько адресов — они нам не нужны т.к. мы еще ни на кого не нацеливались. жамкаем на монстра и у нас сразу появляется 2 адреса. выделяем первый из них и нажимаем «Show disassembler» в появившемся окне видим
Code:
mov ecx,[eax+20]
add ecx,000000ec
call 005ae040
005ae040 — нужная нам функция нацеливания.
09/08/2009 19:29 lokky006#415
ЭТОТ РАЗДЕЛ НАЧИНАЯ С 26 СТРАНИЦЫ И ДО УПОРА ТАМ МНОГ ПОЛЕЗНОСТЕЙ НО
И ФЛУДА НЕМЕРЕНО ++++++ ЕШЕ ТУТ СКРИТИК ДЛЯ АНАЛИЗА
[Only registered and activated users can see links. Click Here To Register...]
09/08/2009 23:37 sumikot#416
А к твоему скриптику еще и вот такой. Тоже для анализа. Кто бы еще обьяснил, что он делает. Если бы адреса функций были для ру клиента, можно было бы понять. А так ... Кстати, здесь дается подсказка, где заменить адреса для обновления. Взято с какогото вьетнамского форума.


$OPcode = ""
pushad()
mov_edx(0x0092C2F4) <=== 0x939274
mov_ecx_dword_ptr_edx()
mov_edx_dword_ptr_ecx_add(0x1C)
$OPcode &= "8B7220"
mov_ecx_dword_ptr_esi_add(0xBCC) <=== 0xBD4
mov_eax_dword_ptr_esi_add(0x5EC) <=== 0x5F4
push(1)
mov_edx(0x45DD10) <=== 0x45DE80
call_edx()
mov_edi_eax()
push($param_add)
push($fly)
mov_ecx_edi()
mov_edx(0x461790) <=== 0x4618E0
call_edx()
push(0)
push(1)
push_edi()
push(1)
mov_ecx_dword_ptr_esi_add(0xBCC) <=== 0xBD4
mov_edx(0x45E110) <=== 0x45E280
call_edx()
popad()
ret()

После всего этого идет вызов функции INJECTCODE
09/09/2009 13:54 lokky006#417
Порылся с инвенторем чтож имя твоего лута судя повсему узнать либ незя либ у мя руки кривые .... тут есть разница между тем что валяется на земле ... там да имя есть) но в ргзаке утя только ид предмета+ количество а при наведении курсора там функция лезет на описание конкретного предмета что нам вобшемто и некчяму
Ps. Ятак понел нам помочь врятли ктот захочет буду заходить информировать тя и еше человечька Спасибо ему большое за чтиво но ток hiden
09/09/2009 14:40 BuBucekTop#418
К вопросу, как найти адрес функции для инжекта. Вам понядобиться OllyDbg.
Запускаете игру под отладчиком, заходите, подготавливаете всё необходимое для нужного действия (сели/встали/взлетели/вышли на спот и т.п.)
Далее в ольке ставите BP send и выполняете ваше действие.
Так. как все команды от клиента так или иначе отсылаются серверу (иначе как о них узнает), то брэйк-поинт сработает.
Дальше вам потребуются листик бумаги, ручка и утомительные (минуты/часы/дни - зависит от Вашего опыта) чтобы пройтись назад по стеку вызовов функциё и найти ту самую, которая "дёргается" когда ваш чар выполняет желаемое Вами действие.

В деталях с картинками принципиально не пишу, ибо предпочитаю "дать удочку", чем "накормить рыбой".
09/09/2009 15:57 silkytail#419
Я конечно могу ошибаться, но по-моему, сенд делается совсем из другого потока, чем где эти данные подготавливаются.
09/09/2009 17:00 ta2we4ka#420
ìîæåò ñòàðûé ñêðèïò íî ïîñìîòðèòå íà âñÿêèé ñëó÷àé)

[Only registered and activated users can see links. Click Here To Register...]