|
You last visited: Today at 17:26
Advertisement
Rus. server
Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.
06/03/2009, 14:25
|
#301
|
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
|
Quote:
Originally Posted by dwar
Учитель, спасибо за разъяснения!
|
Всегда пожалста.
Quote:
Originally Posted by dwar
Но, например, для записи значения в память, такой то код использовать можно?
|
Нельзя, потому что это разрушит текущий ход выполнения кода игры и вызовет AV. Запись в память игры только через WriteProcessMemory.
Quote:
Originally Posted by dwar
А поиском адреса call я сейчас и займусь 
|
Давай. Ибо это очень и очень просто.
P.S.
С именем чара ты не угадал. Вернее возможно там оно и есть, но есть путь куда короче и быстрее :
[[[[BASE +1C] +20] +5F4] + 0]
|
|
|
06/03/2009, 17:10
|
#302
|
elite*gold: 0
Join Date: Apr 2009
Posts: 49
Received Thanks: 1
|
Quote:
Originally Posted by BuBucekTop
P.S. Не забываем голосовать за Russian в теме и тогда у нас будет свой, русский раздел.
|
Спасибо, что показал  Тыцкнул
|
|
|
06/03/2009, 17:17
|
#303
|
elite*gold: 0
Join Date: Apr 2009
Posts: 49
Received Thanks: 1
|
Quote:
Originally Posted by dwar
А на счет передвижения, я тоже сейчас над этим работаю, но пока нет результата. Пытался искать float значения, но они ни к чему не привели. Самый лучший вариант – поиск Unknown initial value, с последующим отсеиванием changed/unchanged, - долго, трудоемко, но вероятность получить требуемый результат выше.
|
Координаты перса и точку перемещения я нашел именно с помощью float (встроенная в клиент консоль помогла), но только в теме несколько страниц назад написано, что чара еще пнуть надо. А для этого надо знать несколько смещений. Мне пока удалось найти только общее смещение относительно объекта перса ($BASE_ADD+$20): $BD6010. Однако для версии 1,4 тут уже писали, что этот адрес имеет вид Base($0095BAA4)+$20+$BF4+$30+$4+$20. То есть не известны как минимум 4 конечных смещения. Логично предположить, что последние 3 с версией клиента не поменялись, а вот $BF4 скорее всего да. Как его найти, я пока не вдуплил - это первый мой опыт в отладке, так что ковыряние идет очень медленно...
|
|
|
06/03/2009, 18:01
|
#304
|
elite*gold: 0
Join Date: Jun 2008
Posts: 9
Received Thanks: 0
|
раньше для поиска оффсетов хп пета работала эта схема
а сейчас почему-то оно при первом же отсеивании ничего не находит... кто может объяснить на пальцах как искать этот адрес? остальные нткидом находятся нормально.
ps
я не программер, поэтому для меня строки вроде Base($0095BAA4)+$20+$BF4+$30+$4+$20 ничего не говорят.
|
|
|
06/03/2009, 18:05
|
#305
|
elite*gold: 0
Join Date: Apr 2009
Posts: 49
Received Thanks: 1
|
Оффсет пета для текущего билда офсервера - C24
|
|
|
06/03/2009, 18:18
|
#306
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Quote:
Originally Posted by yorishi
раньше для поиска оффсетов хп пета работала эта схема

а сейчас почему-то оно при первом же отсеивании ничего не находит... кто может объяснить на пальцах как искать этот адрес? остальные нткидом находятся нормально.
ps
я не программер, поэтому для меня строки вроде Base($0095BAA4)+$20+$BF4+$30+$4+$20 ничего не говорят.
|
Все ведь просто. Туториал для Cheat Engine:  . Там все написано, как пользоваться, как искать. Задал первый поиск по значению хп у пета, изменилось значение – ищешь снова, и т.п. Через 10 минут непринужденной работы, у тебя будут все смещения.
|
|
|
06/03/2009, 18:23
|
#307
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Quote:
Originally Posted by Orion33
чара еще пнуть надо. А для этого надо знать несколько смещений. .. этот адрес имеет вид Base($0095BAA4)+$20+$BF4+$30+$4+$20.
|
Не это ли ищешь?
движение к цели
$009771BC +$20+$c10+$30+$08+$20
и идентификатор движения
$009771BC +$20+$c10+$30+$04+$08 (0 – стоим, 1 – идем)
|
|
|
06/03/2009, 18:30
|
#308
|
elite*gold: 0
Join Date: Apr 2009
Posts: 49
Received Thanks: 1
|
Вроде как это  В первой строчке нет опечатки? Мне кажется, предпоследнее $04 должно быть. И, если не трудно, поделись алгоритмом, как это сделать. Лучше в аську: 200905259
|
|
|
06/03/2009, 18:32
|
#309
|
elite*gold: 0
Join Date: Apr 2009
Posts: 1,322
Received Thanks: 140
|
WTF?
|
|
|
06/03/2009, 20:01
|
#310
|
elite*gold: 0
Join Date: Jun 2008
Posts: 142
Received Thanks: 13
|
Quote:
Originally Posted by BuBucekTop
Нельзя, потому что это разрушит текущий ход выполнения кода игры и вызовет AV. Запись в память игры только через WriteProcessMemory.
|
Давайте уж сказавши А, скажем и Б и не будем пудрить мозги людям.
Во-первых, WriteProcessMemory целесообразно использовать при записи из чужого процесса. В контексте собстенного процесса WriteProcessMemory имеет ровно такой же эффект как и прямая запись в память.
Во-вторых, вызывая из отдельного потока свой инжектируемый код, который дергает непонятные функции, легко можно напороться на различного рода эффекты гонок между потокм клиента и вашим новосозданным потоком. Хотя и большинство обьектов в клиенте защищаются критическими секциями, в общем случае вам этого никто не гарантирует.
|
|
|
06/03/2009, 20:49
|
#311
|
elite*gold: 0
Join Date: Jun 2008
Posts: 9
Received Thanks: 0
|
Quote:
Originally Posted by dwar
Все ведь просто. Туториал для Cheat Engine:  . Там все написано, как пользоваться, как искать. Задал первый поиск по значению хп у пета, изменилось значение – ищешь снова, и т.п. Через 10 минут непринужденной работы, у тебя будут все смещения.
|
еще раз - оно ничего не находит при изменении. до этого в течении нескольких патчей я вызывал разных петов, искал хп, находил оффсет. так как показано на картинке в туториале. сейчас СЕ на втором поиске тупо ничего не находит. но ладно, уже не актуально. индусы оказались добрее. кроме советов они еще и програмку сделали, которая показывает все нужные для читера-любителя оффсеты.
|
|
|
06/03/2009, 22:20
|
#312
|
elite*gold: 0
Join Date: Apr 2009
Posts: 49
Received Thanks: 1
|
yorishi
СЕ все находит. Просто надо быть внимательным и не ошибаться. Я вчера ночью тоже много ошибок делал, сегодня почти все нашел.
|
|
|
06/04/2009, 00:16
|
#313
|
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
|
Quote:
|
Однако, ничего это так и не работало
|
Странно, мой пример абсолютно рабойчий. Сам использую именно то, что тут выложил.
|
|
|
06/04/2009, 00:27
|
#314
|
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
|
Quote:
Originally Posted by silkytail
Давайте уж сказавши А, скажем и Б и не будем пудрить мозги людям.
Во-первых, WriteProcessMemory целесообразно использовать при записи из чужого процесса. В контексте собстенного процесса WriteProcessMemory имеет ровно такой же эффект как и прямая запись в память.
|
А как ты думаешь, процесс из которого идёт инжект - свой ??  Естественно, нет. Поэтому из него мы и юзаем WriteProcessMemory, а не извращаемся с инжектом кода, кторый что-то подставляет в память.
Quote:
Originally Posted by silkytail
Во-вторых, вызывая из отдельного потока свой инжектируемый код, который дергает непонятные функции, легко можно напороться на различного рода эффекты гонок между потокм клиента и вашим новосозданным потоком. Хотя и большинство обьектов в клиенте защищаются критическими секциями, в общем случае вам этого никто не гарантирует.
|
А вот не надо дёргать "непонятные функции" и всё будет хорошо. Делая инжект надо максимально похоже воспроизводить поведение клиента - дестроить объекты, которые создал, юзать его критические секции и всё будет замечательно.
В клиенте дофигища преинтереснейшего кода, которым мржно с лёгкостью рулить, если делать это правильно.
Указанный пример с таргетом показателен свой простотой и гарантированно заработает без падения клиента, поэтому я его тут и рассмотрел. Вещи типа перемещения к заданным координатам или вызов автопилота по квестовому неписю гораздо сложнее.
Так что не стоит теоретизировать впустую. Есть что сказать по делу - вэлкам, а так лучше оттачивайте умение пользоваться отладчиком.
|
|
|
06/04/2009, 01:04
|
#315
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Quote:
Originally Posted by BuBucekTop
Странно, мой пример абсолютно рабойчий. Сам использую именно то, что тут выложил.
|
Сомнений нет, код рабочий. Возможно все дело в компиляторе дельфи 2009, в дельфи 7 подобных трудностей не замечал, а тут… Но, как бы там не было, теперь все функционирует
|
|
|
All times are GMT +1. The time now is 17:27.
|
|