Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Dinmaite, Подскажи, пожалуйста, может, вопрос немного не в тему, но как найти оффсет ника? и как его считывать с помощью ReadProcessMemory (пишу в С++, но делфи тож пойму)? хочу здесь и в jade dynasty сделать небольшой калькулятор для клана со сбором инфы. всё работает, а вот ник никак найти не могу)) в СЕ я пробовал найти, но как-то мне выдало значений эдак 150 и все с моим ником (правда, один из них зелёный) но как узнать, что это именно оно?
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Все предельно просто.
1. Вырубаешь клиент и снова включаешь.
2. Ищешь ник (их будет десяток думаю).
3. Меняешь ник (в СЕ естественно).
4. Тот адрес, в котором будет записан ник, указанный под НР - есть требуемый тебе.
Если адресов с ником будет слишком много сделай так, смени у половины из них значение, если под НР значение изменилось - ищи в этой половине. Тоесть опять выдели половину и меняй значения. И так по кругу.
Ну а как найти смещение найденного адреса я думаю тебе понятно?
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
JD: Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Статьи: Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Я пробовал поменять все ники, но не сменился ни над головой, ни в статах. Я так понимаю, ник надо искать в Unicode? Если да, то как его правильно считывать? Пробовал считать первый попавшийся, у меня получается вот такая лабуда:
CCCC041C
CCCC0443
CCCC0440
CCCC0430
CCCC043C
CCCC0430
CCCC0441
CCCC0430
CCCC0000
выводил в файл по 1 букве на строчку. По идее, тут должно быть написано Мурамаса
Добавлено через 59 минут
Всё, разобрался, спасибо. Только абвгд отображается как *ЎўЈ¤
Но это я лучше в форуме С++ вопрос задам)
Последний раз редактировалось alegr; 13.04.2012 в 11:23.
Причина: Добавлено сообщение
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
скажите пожалуйста что требует PWGTM 1.91? я использовал генератор и бессполезно. Искал ba через СЕ сделал до 17-ый пункт и ввел address ( в случай Dinmaite 09c1514) то же не получается. Помогите очень надо и как искать?
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
а подскажите, как находить смещения адреса. например нашли адрес хп и перезашли в игру, он естественно изменился. и прога уже не сможет считать и вывести его в нужное поле.
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Цитата:
Сообщение от skew222
а подскажите, как находить смещения адреса. например нашли адрес хп и перезашли в игру, он естественно изменился. и прога уже не сможет считать и вывести его в нужное поле.
Пример в первом посте. При поиске БА мы движемся от конечного значения к началу, и здесь же на каждом шаге фигурируют нужные смещения, например mov [esi+0000046C],ecx. То-есть при поиске БА мы находим ещё и нужные смещения.
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Цитата:
Сообщение от dwa83
Пример в первом посте. При поиске БА мы движемся от конечного значения к началу, и здесь же на каждом шаге фигурируют нужные смещения, например mov [esi+0000046C],ecx. То-есть при поиске БА мы находим ещё и нужные смещения.
а после того как узнал смещения например от твоего примера 46C.
baseadress=$0017CEA8;
WriteProcessMemory(hProcess,ptr(baseadress+46C),@v alue,s);
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Цитата:
Сообщение от skew222
так будет вставляться? или подругому
Сначала нужно прочитать из base_adress без сложений офсетов, а потом к полученному значению прибавить первый оффсет(в примере темы последний оффсет, так как мы от последнего к первому двигаемся) и так далее. То есть если взять по теме все строчки типа mov [esi+0000046C],ecx то при поиске от значения HP до BaseAdress мы их находим в следующем порядке:
Сначала находим адрес самого HP, затем находим строчку(пункт 9) затем
После чего найден постоянный адрес(BA).
Итак, чтобы нам получить значение ХП, мы читаем сначала по адресу BA затем к полученному значению прибавляем 1C, опять читаем по получившемуся адресу, прибавляем 20, читаем, прибавляем 46C, читаем и получаем значение HP.
И не WriteProcessMemory а Read, мы ведь не записывать собрались а считывать)
Добавлено через 39 минут
Вот пояснения.
Допустим мы решили написать игру PerfectWorld, написали и решили в ней покапаться
Например в своей программе мы обьявили глобальную переменную-указатель на структуру. Затем динамически эту структуру в ходе выполнения проги создали. Адрес её расположения всегда разный, но указатель у нас показывает на её начало, и сам указатель всегда лежит по конкретному адресу от начала нашей проги. Этот адрес и есть BA. Считав из него значение, мы получим адрес начала нашей динамически созданной структуры. Эта структура в свою очередь состаит например из указателей на другие динамические структуры, например структуру локации(это к примеру) или ещё чего. Эти структуры тоже создаются динамически и адрес их начала мы можем узнать прочитав значение одного из полей нашей первой структуры. А адрес начала её мы знаем где лежит. Допустим вторым по счёту в нашей первой структуре хранится указатель на структуру перса, тоесть к адресу начала структуры мы прибавляем оффсет 04 и читаем значение, получаем адрес структуры перса. Итак все структуры динамически созданы, BA мы знаем, считываем оттуда адрес нашей структуры, к нему прибавляем 04 получаем уже адрес не начала структуры а адрес её второго поля, которое является указателем на структуру перса, теперь к адресу структуры перса прибавим нужный оффсет к примеру 46C и получим уже не адрес начала структуры перса, а адрес её поля, в котором лежит значение хп. Вроде повторяюсь уже..
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
Последний раз редактировалось dwa83; 22.05.2012 в 17:47.
Причина: Добавлено сообщение
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
все даже очень просто и понятно оказывается. щас решил попробовать создать програмку которая тупо считывает статы и выводит в текстовое поле. но наткнулся на проблему, параметры хп и мп он считал на ура, но все остальное СЕ уже не ищет а быть точнее смещения от основного адреса. чт делать подскажите
Re: Ищем базовый адрес Perfect World при помощи Cheat Engine.
Спасибо. Очень полезная информация, которую я долго искал, но никак немог найти. Но я так и непонял почему в некоторых местах написано что именно первый аддрес.
Например в п.12 и п.15
Ответе пожалуйста.