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

Оффсет для SkillCall в переменной

-

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

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

Ответ
 
Опции темы
Старый 07.07.2013, 18:43   #31
 Разведчик
Аватар для 304433657
 
304433657 неизвестен в этих краях
Регистрация: 07.10.2009
Сообщений: 19
Популярность: -74
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Оффсет для SkillCall в переменной

Оо ув. мастера как найти SkillCall на сервер ExPW.net Phoenix 1.4.6 или выложите найденый
  Ответить с цитированием
Старый 07.07.2013, 20:50   #32
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Оффсет для SkillCall в переменной

Zo_Om4eG, тебе нужно эти переменный с оффсетами передавать в функцию-инжект как параметры. Не увидел, что уже так и сделано
Сам посуди, переменная-оффсет у тебя не константа. Так? А переменные - это что? Это по сути адрес, где хранится значение. Правильно? Следовательно, пока функция хранится в твоей проге, строчка
mov eax, HPS1FI
подразумевает обращение к значению переменной в твоей проге.
То есть по сути после компиляции в этом месте проги будет уже определённый адрес переменной в твоей проге.
А что будет, если этот кусок кода заинжектить? Он вместе с этим адресом и "перепишется" в другое адресное пространство, в котором по данному адресу лежит совсем не значение твоего оффсета а какая-то фигня в клиенте. Это если не ошибаюсь.
Если ошибаюсь, и тут пишется глобальный адрес во всей памяти, то тогда после инжекта клиент пытается считать значение оффсета с твоей проги(переменная то у тебя в проге, а не в инжекте), следовательно ошибка доступа(клиент ведь не открывал процесс твоего бота для доступа к его данным)
Выход - передавать в инжект оффсеты и адреса вместе с другими параметрами, либо как говорил krukovis инжектить готовый байткод с уже прописанными в нем параметрами и оффсетами(а прописывать в своей проге до инжекта)

И вот если не понятно немного пожевать..
обьявим в нашей проге переменную:
int A=3;
Всё, с этого момента наша переменная имеет адрес. Допустим он равен 1234. По этому адресу расположено значение 3. Компилятор видит имя переменной не как набор букав, а как адрес значения. И запись mov eax, A будет аналогична mov eax, [1234]. Но при перемещении такой строчки в другую прогу уже нельзя считывать с адреса 1234, потому и краш.
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 07.07.2013 в 21:39.
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] SkillCall accordb4 Общение и обсуждение Perfect World 0 16.09.2012 06:35
[Помогите!] оффсет инвентаря altiger Общение разработчиков 6 21.01.2012 09:10
Путь к файлу в виду переменной Некто_Я C# 2 20.07.2011 00:02
Переход по переменной ссылке reraider С/С++ 1 04.04.2011 11:50
[Помогите!] Потоки с переменной zaparca Общение разработчиков 3 28.01.2011 14:17

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

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

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