Rus. server

09/09/2009 17:49 BuBucekTop#421
Quote:
Originally Posted by silkytail View Post
Я конечно могу ошибаться, но по-моему, сенд делается совсем из другого потока, чем где эти данные подготавливаются.
Частично ты прав. Но это нисколько не мешает отследить "вверх" и найти нужный call.
Не по теме: Рад, что кто-то из "старичков" ещё заглядывает в тему.

Quote:
Originally Posted by ta2we4ka View Post
может старый скрипт но посмотрите на всякий случай)
уважаемый, [Only registered and activated users can see links. Click Here To Register...] пожалуйста!
09/09/2009 19:43 lokky006#422
Quote:
Originally Posted by BuBucekTop View Post
К вопросу, как найти адрес функции для инжекта. Вам понядобиться OllyDbg.
Запускаете игру под отладчиком, заходите, подготавливаете всё необходимое для нужного действия (сели/встали/взлетели/вышли на спот и т.п.)
Далее в ольке ставите BP send и выполняете ваше действие.
Так. как все команды от клиента так или иначе отсылаются серверу (иначе как о них узнает), то брэйк-поинт сработает.
Дальше вам потребуются листик бумаги, ручка и утомительные (минуты/часы/дни - зависит от Вашего опыта) чтобы пройтись назад по стеку вызовов функциё и найти ту самую, которая "дёргается" когда ваш чар выполняет желаемое Вами действие.

В деталях с картинками принципиально не пишу, ибо предпочитаю "дать удочку", чем "накормить рыбой".
чтож тода это не удочка а соломинка ((
а для неопытного пользователя который невидел эту прогу ниразу (хорошо хоть я видел) это ровным счетом нечего недаст это равнозначно тому вот те лопата откопай незнаю что....:D гденибуть вон там:D (а перед этим раз 1000 проштудируй асемблер вдоль и поперек ну и лет так через дцать найдешь то что искал правда на какомнибуть юкоз сайте в открытом виде с полным разъяснением что кчему и почему в доступной форме
09/09/2009 19:46 lokky006#423
Quote:
Originally Posted by ta2we4ka View Post
может старый скрипт но посмотрите на всякий случай)

[Only registered and activated users can see links. Click Here To Register...]
Спасибки !!:handsdown:хоть к туркам и неприязнь но вытянуть из них чет можн
09/10/2009 07:04 dj_al#424
Quote:
Originally Posted by lokky006 View Post
Спасибки !!:handsdown:хоть к туркам и неприязнь но вытянуть из них чет можн
Это вобще-то не турки, а Вьетнамцы. :)

Из полезного, могу поделится куском кода из клиента, который используется для Юзания предмета из инвентаря.

00458E85 - 8b 57 08 - mov edx,[edi+08]
00458E88 - 8b 44 24 38 - mov eax,[esp+38]
00458E8C - 6a 01 - push 01
00458E8E - 52 - push edx
00458E8F - 50 - push eax
00458E90 - 6a 00 - push 00
00458E92 - 8d 8b ec 00 00 00 - lea ecx,[ebx+000000ec]
00458E98 - e8 53 4f 15 00 - call 005addf0

По отладчику пройдётесь - поймёте куда что пихать. :)
Ключевые значения тут в регистрах: eax, ecx и edx.

На основе этого написан инжект, который проверен. Работает даже при закрытом инвентаре. Можно использовать для реализации АвтоХила пойшенами.
09/11/2009 03:34 sumikot#425
Спасибо всем за отзывы, мы уже и не надеялись....
С дебаггером, правда, ни разу не работал. Случайно выдерну друлек в реал...))
Придется с Идой, как будет время, посидеть. А для ловли брекпоинтов использую TSearch - просто пока перейдешь на чтото новое и поймешь, как оно работает - много времени пройдет, а его как раз нехватает...

ta2we4ka спасибо, после твоей первой ссылки с программой этот вьетнамский форум у меня самый читабельный ))) не шучу в самом деле - с гуглом перевожу... А бота твоего переофтопить наверно не получится (( - там есть адреса про которые я ничего не знаю. Был бы бот на живого клиента - я бы понял, а так - без комментов и на другой версии клиента - ((

lokky006
Спасибо за подсказку, ну с мобами намного легче разобраться, чем с инжектом. Скрипт правда еще корявый - но выводит массив в котором находятся данные мобов. Что интересно, нипы находятся там же. Для лута и ресов тоже один массив на двоих.
Кусок для примера, что вывелось:
2148555472= X-360 Y-457 Z-23 tip-6 lvl-1 name-Изумрудный мотыль
2148555474= X-361 Y-456 Z-23 tip-6 lvl-1 name-Росток росянки
2148555477= X-367 Y-464 Z-23 tip-6 lvl-1 name-Изумрудный мотыль
2148555478= X-367 Y-463 Z-22 tip-6 lvl-1 name-Изумрудный мотыль
2148555479= X-366 Y-464 Z-23 tip-6 lvl-1 name-Росток росянки
2148555480= X-366 Y-463 Z-22 tip-6 lvl-1 name-Росток росянки
2148555490= X-369 Y-458 Z-21 tip-7 lvl-60 name-Вестник поиска драконов
2148555491= X-369 Y-458 Z-21 tip-7 lvl-60 name-Посланник с драконьим жетоном
2148554999= X-373 Y-470 Z-21 tip-6 lvl-1 name-Росток росянки
2148555000= X-372 Y-469 Z-23 tip-6 lvl-1 name-Росток росянки
2148555001= X-372 Y-470 Z-22 tip-6 lvl-1 name-Изумрудный мотыль
2148555002= X-366 Y-470 Z-23 tip-6 lvl-1 name-Изумрудный мотыль
09/14/2009 21:39 Kolimas#426
Подскажите пожалуйста оффсет для флая, на 81 версии руоффа.
этот не работает
[2009-09-13 20:42]
Title : Element Client
Base : $009771BC
Target: $88084688
Level : $45C
Exp. : $46C
HP : $464
MP : $468
HPMax : $494
MPMax : $498
Culti : $460
-----------------------------
Fly : $32000022
Jump : $B58
-----------------------------
PetHP : $C24
-----------------------------
Ver. 1.4.1 Build 2271
-----------------------------
09/15/2009 13:57 sumikot#427
Kolimas
Вроде все правильно кроме
Target:A68
Fly:B58
Jump:B3C
09/15/2009 14:29 sumikot#428
Кто знающий подскажет - хочу сделать поиск названий всех окон, открытых elementclient.exe. Почему то получаю 3 процесса с одинаковым хендлом. Или это окна одного процесса? Кроме "Element Client" получаю "M" и "Default IME". Что это такое? Ищу так:

Local $List = ProcessList("elementclient.exe")
$HendleProc = $List[1][1]
Local $var = WinList()
For $i = 1 to $var[0][0]
If WinGetProcess($var[$i][1]) == $HendleProc Then
MsgBox(0,$var[$i][0],WinGetProcess($var[$i][1]))
EndIf
Next

Кстати, сисадмины умеют юзать мобов! Стоял, проверял офсеты - и вдруг на меня напал моб, который сам на этом участке никогда не агрится. При этом в чате и над ним появилась надпись "разорву!!!". От удивления скриншоты не сделал.
09/16/2009 07:57 dj_al#429
Quote:
Originally Posted by sumikot View Post
Кто знающий подскажет - хочу сделать поиск названий всех окон, открытых elementclient.exe. Почему то получаю 3 процесса с одинаковым хендлом. Или это окна одного процесса? Кроме "Element Client" получаю "M" и "Default IME". Что это такое?
Это всё окна одного и того же процесса. Да у тебя и код по их извлечению так написан, что именно окна первого попавшегося elementclient.exe будут извлекаться.

Глянул классы данных оконо:
M: MSCTFIME UI
Default IME: IME
Судя по всему оба этих окна служебные. Default IME: IME - вобще ко многим программам цепляется. IME имеет отношение к вводу текста: IME
Так что забей на эти окна. У PW только 1 окно класса: "ElementClient Window".
09/16/2009 15:40 sumikot#430
dj_al
Спасибо за подсказку. Википедия опять рулит. Посмотрел у других программ - действительно, у всех есть Default IME. А что окна первого попавшегося - так это не окончательный скрипт. Придется еще исключать все лишнее.
09/17/2009 08:15 muzhig#431
Народ! Вот решил присоединиться к беседе вашей)))
Оч интересно по поводу инжектинга.... но эт позже

Пока что у меня есть вопрос, на который я думаю вам не составит труда ответить:
(я программист но не особо ассемблерист, и поэтому вероятно туплю во всяких сдвигах итд)

Вот я например запускаю ту самую хваленую прогу для получения базового адреса и оффсетов (MHS reciever чтоли, смотреть лень, но думаю вы и так знаете).

Открываю ini, смотрю оффсеты.

Потом запускаю CE, и тупо поиском нахожу ячейку в памяти, скажем, для ХП перса.
почему то адрес совсем не такой, какой в этом ini-шнике, который нашла прога.

Но я уверен в правильности и того и того(по файлику работает бот, а по тому адресу который я нашел- я прямо в CE вижу текущее значение ХП, вижу как оно изменяется когда моб бьет например)

Где засада, а?

Кстати, в CE написано, что AllocationBase=400000
и оффсеты там другие выходят....
09/17/2009 09:43 dj_al#432
Глянь исходник бота и всё поймёшь как правильно делать поиски по смещениям. :)

Quote:
Originally Posted by sumikot View Post
dj_al
Спасибо за подсказку. Википедия опять рулит. Посмотрел у других программ - действительно, у всех есть Default IME. А что окна первого попавшегося - так это не окончательный скрипт. Придется еще исключать все лишнее.
Лучше ищи по классу окна, если есть такая возможность на AutoIt. Название класса окна я писал выше.
09/17/2009 17:09 muzhig#433
Так самое прикольное, что я написал маленькую прожку на дельфи, и в ней я считываю из памяти процесса ячейку с адресом который нашел в CE - все работает)))))

Хотя это не удивительно))))))
09/18/2009 06:06 dj_al#434
Ну а ты с этой прожкой побегай по миру... ТП поделай. Перезайди другим чаром. Будет ли она после всех этих действий показывать всё правильно? ;)
09/18/2009 13:14 BuBucekTop#435
Если многоуровневые указатели вычисляются правильно - то всё будет прекрасно работать. Единственное, что - после ТП/захода в данжи и инстансы надо вычитывать dynamic pointer и всё, что от него зависит заново.