Results 1 to 6 of 6
  1. #1
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    Поиск базового адреса, смещения. Jade Dynasty

    Пошаговое руководство по определению базового адреса и смещений для игровых величин (HP, MP и т.д.).

    В целом, процедура абсолютно одинакова для большинства программ, посему, раз прочитав подобное руководство для другой игры, которых хватает на нашем ресурсе, читать уже для Jade Dynasty особого смысла нет. Хотя, здесь я приведу несколько дополнительных вещей и пояснений.

    Note:
    - здесь не дается определения базовому адресу, смещениям и т.п.
    - здесь нет детального описания функций и окон CE
    - здесь нет детального описания ассемблерных команд
    - данное руководство на 90% применимо и для Perfect World’а, т.к. движки у этих двух игр одинаковые.
    - перед многими значениями стоит символ «$». Используется для идентификации шестнадцатеричных величин

    Приступим.
    Загружаем клиент Jade Dynasty, запускаем Cheat Engine (CE) и присоединяем последний к процессу игры «elementclient.exe». Объектом поиска будет самая доступная величина – количество жизней (HP), в моем случае, равная 779 единиц.
    В поле «Value» CE вводим значение 779, выбираем тип сканирования «Exact value» и тип величины «4 bytes», и начинаем сканирование «first scan»

    По завершению первого сканирования, CE отобразит список адресов (если он не очень велик), значения которых в момент поиска равнялись 779. Таких адресов может быть 10, может быть и сотни тысяч. Поэтому, нам требуется точно определить нужный адрес. Возвращаемся в игру и любым способом меняем значение HP, например, снимем с чара какую-либо вещь, дающую прирост HP:

    Как только значение изменится, продолжаем поиск в CE, при этом тип сканирования оставляя «Exact value»

    Найдено 4 адреса. Можно еще раз изменить значение HP и посмотреть, как будут меняться значения у этих адресов.

    Через несколько секунд становится ясно: два первых адреса не имеют отношения к искомой величине, а два последних – текущее значение HP и максимальное.

    Добавляем оба адреса в список и, выбрав «HP max», вызываем контекстное меню.

    Нам требуется отыскать участок кода, который записывает значения в выбранный адрес $1265F098: «Find out what writes to this address»

    Выполнив указанную команду, CE отобразит окно со списком опкодов (operation code, код операции)
    Код операции, операционный код, опкод — часть машинного языка, называемой инструкцией, определяющей операцию, которая должна быть выполнена.
    Убедимся, что отображаются все опкоды, для чего требуется вернуться в клиент и изменить значение HP

    Посмотрим дополнительную информацию для инструкции по адресу «$0046b5ca»:

    CE отобразит окно, где будут указаны значения регистров и дизассемблированный участок кода клиента; инструкция mov [esi + $288], ecx как раз и отвечает за запись величины HP по адресу $1265F098, а значение указателя равно $1265EE10.
    Смещение: +288.
    $1265EE10 – следующая величина для поиска.

    Note: если не будет найдено ни одного значения, значит требуется повторить процедуру по определению значения указателя (просмотр списка опкодов)

    Берем первый из найденных адресов (совсем не обязательно, что данный адрес даст какой-либо результат), добавляем его в список (название +$288 для более легкой идентификации смещений) и теперь начнем поиск того, что обращается к данному адресу

    Список опкодов достаточно велик, что, по большей части, свидетельствует о правильности поиска.

    Рассмотрим две инструкции.
    первая по адресу: $004c2ad2

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

    вторая по адресу: $004d11c8

    Человек, знакомый с ассемблером, сразу видит результат… К этому результату вернемся чуть позже, т.к. завершим процедуру поиска базового адреса по выработанному алгоритму.
    $039F6E20 – следующая величина для поиска.

    Осуществив сканирование, CE выдаст список и выделит первый адрес зеленым цветом, что означает «статический адрес»
    Это и есть «почти» базовый адрес, которым пользуются большинство ботоделов. Используя его, и указанные ранее смещения, можем записать:
    [$00B06B5C] + $28 + $288 – Максимальное значение HP
    Однако (возвращаясь к ассемблеру), хоть мы и нашли статический адрес, но этот адрес является адресом «структуры игрока», в то время как истинный базовый адрес - $00B03064
    mov eax, [00B03064]
    mov eax, [eax+1c]
    mov eax, [ecx+28]


    Итог:
    [Базовый адрес] = $00B03064
    [BA] + $1C + $28 + $288 – Максимальное значение HP

    Note: Текущее значение HP искать нет уже необходимости, т.к. адрес был найден на первых шагах и он отличается от HP max на 18 байт, т.е.:
    [BA] + $1C + $28 + $270 - Текущее значение HP


    (c) Dwar
    копирование материала разрешено только с указанием автора и адреса источника
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  2. The Following 2 Users Say Thank You to Dwar For This Useful Post:


  3. #2
    XaoTuK
    XaoTuK is offline
    Guest XaoTuK's Avatar
    Join Date
    2010 Jul
    Posts
    1
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0

    re: Поиск базового адреса, смещения. Jade Dynasty

    Quote Originally Posted by Dwar
    Note: Текущее значение HP искать нет уже необходимости, т.к. адрес был найден на первых шагах и он отличается от HP max на 8 байт, т.е.:
    [BA] + $1C + $28 + $280 - Текущее значение HP
    отличается не на 8 а на 18 байт
    [BA] + $1C + $28 + $270 - Текущее значение HP
    За гайд спс

  4. #3
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    re: Поиск базового адреса, смещения. Jade Dynasty

    не на 8 а на 18 байт
    точно . подправил
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  5. #4
    lirikmel
    lirikmel is offline
    New member
    Join Date
    2010 Jul
    Location
    tver
    Posts
    41
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    67
    Thanked in
    2 Posts
    Rep Power
    0

    re: Поиск базового адреса, смещения. Jade Dynasty

    спасибо кое что новое узнал....если же у кого то знание ассемблера и команд на уровне табуретки (вопщем как у меня)я думаю вам поначалу будет проще использовать Artmoney (качаете последнюю версию ,открываете хелп и переходите к пункту 10 все подробно описано )

  6. #5
    godie1
    godie1 is offline
    Guest
    Join Date
    2012 Jan
    Posts
    3
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    Катит только для jd на forsaken world не идет .

  7. #6
    FullSilence
    FullSilence is offline
    Guest
    Join Date
    2011 Sep
    Posts
    3
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    А как быть если "js EXECryptor_RegConst_7+927C4"?
    Попробовал "Unpacker ExeCryptor" говорит не упакован.

    Это не из Jade, но всё же.

Similar Threads

  1. [Bot] Jade Dynasty Ascension Bot
    By Dwar in forum Jade Dynasty
    Replies: 6
    Last Post: 2013-03-27, 04:18 PM
  2. Jade Dynasty Legacy expansion
    By Grooguz in forum Games Lounge
    Replies: 0
    Last Post: 2011-12-07, 05:43 AM
  3. [Bot] Jade Dynasty AutoIt bot
    By Dwar in forum Jade Dynasty
    Replies: 18
    Last Post: 2011-06-03, 07:35 AM
  4. Jade Dynasty Memory Struct
    By no0ob91 in forum Jade Dynasty
    Replies: 1
    Last Post: 2011-02-26, 02:46 AM
  5. Replies: 1
    Last Post: 2011-02-23, 04:21 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •