PDA

Просмотр полной версии : [Программа] Поисковик офсетов


Jok3r666
24.01.2012, 08:09
Делал для себя ибо иногда приходится ковыряться в CE и ручками перебирать офсеты.
Вот решил написать для себя программку.

Источник: MMO3.RU/FORUM ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

Программка проверяет цепочку офсетов с 2 циклами и выводит результаты.

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Инструкция к применению:
1. Тыкаем подкл.
2. Вводим Base adr
3. Заполняем I=0 to количествоим итераций цикла I
4. Аналогично заполняем J=0 to если нужно
5. I\J * заполняем циферкой на которую будет умножаться I и J ...+(i*4)+...
6. Заполняем цепочку офсетов.
ВАЖНО!!! сначало должен идти I цикл и только потом если нужно J в цепочку писать ЗАГЛАВНЫЕ I\J
Цепочка должна начинаться со знака +
Количество офсетов неограничено, вроде как. хд
Между I и J могут присутствовать офсеты Пример:...+I+$34+$0+J+$638...
7.Тыкаем сканировать
8. Вывелись результаты в string и int
9. Вводим в графу искать то что нужно: "Бриджи Дух Льва" или "123" без ковычек.
10. Если ищем циферки в колоне int убераем галку, ищет по подстроке.
11. Тыкаем "Искать"
12. Нижний блок заполнился найдеными значениями строки в таблице и значением офсетов I и J
13. Чтобы глянуть в таблице вводим в поле номер строки и жмем "Перейти к строке"

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

Прога в аттаче с исходниками.

(С) Все права принадлежат Joker.

krukovis
24.01.2012, 09:50
А я сел такую прогу писать как раз прямо 5 минут назад. Даже назвал так же )).

Жаль на Delphi, а то можно было бы допилить. А Delphi я только читать могу и то не охотно )))

Добавлено через 31 минуту
Вопрос про перебор I = 0 to 300 .
Чтобы 300 было в HEX нужно дописывать $ или прога сама понимает что верхняя граница в HEX?

Jok3r666
24.01.2012, 10:24
А я сел такую прогу писать как раз прямо 5 минут назад. Даже назвал так же )).

Жаль на Delphi, а то можно было бы допилить. А Delphi я только читать могу и то не охотно )))

Добавлено через 31 минуту
Вопрос про перебор I = 0 to 300 .
Чтобы 300 было в HEX нужно дописывать $ или прога сама понимает что верхняя граница в HEX?

Я со второго раза только допер как это все провернуть что бы универсально было. В общем около 5 часов ушло на прогу /dgs тупил долго

Ты на чем пишешь?

krukovis
24.01.2012, 10:35
Ты на чем пишешь?

С#, VB.NET

Jok3r666
24.01.2012, 19:09
Чтобы 300 было в HEX нужно дописывать $ или прога сама понимает что верхняя граница в HEX?
дописывать $

Choochoo
12.02.2012, 13:22
Автору зачет, программка нужная, удобная.
По возможности добавь отображение результата типа single

Jok3r666
12.02.2012, 19:24
Автору зачет, программка нужная, удобная.
По возможности добавь отображение результата типа single
Исхоники ж есть)))
НУ ок как будет время сделаю:forward:

lcd1232
12.02.2012, 22:13
Jok3r666, наверно тупой вопрос, но все таки не втыкаю как ею пользоваться. К примеру я возьму структуры членов группы(GA+$34+$06D8+$14+[i*4], i=1 to 5). Как с этим работать в программе? Пробовал ввести данные в программу ничего не вывелось.

Jok3r666
13.02.2012, 10:55
Jok3r666, наверно тупой вопрос, но все таки не втыкаю как ею пользоваться. К примеру я возьму структуры членов группы(GA+$34+$06D8+$14+[i*4], i=1 to 5). Как с этим работать в программе? Пробовал ввести данные в программу ничего не вывелось.
Я её использовал в основном для поиска офсетов названий предметов, еще вот недавно надо было пинг найти который при наведении на шетеренку показывается.

Пользоваться так
на примере поиска офсетов имени предмета:
BA+$1c+$34+$CAC+$C+ [тут офсет ячейки, допустим предмет в первой ячейке, тогда 0] + [тут я незнаю какой офсет] + [тут тоже должен быть офсет]
Делаю такую цепочку в проге
+$1c+$34+$CAC+$C+0+I+J
I=0 to [100]
J=0 to [100]
I\J* [4]
Тыкаю сканить
как просканил в поиск забиваю название предмета к примеру "Ожерелья Ололошника"
тык на искать
Оп снизу появилось
в строке 10 i = ..., j = ....
в строке 20 i = ..., j = ....
в строке 33 i = ..., j = ....
в строке 34 i = ..., j = ....
Смотрю в таблице что там в этих строках
в строке 10,20 полная инфа(мне это не надо)
в строке 33 полное название (то что нужно)
в строке 34 кусок от названия (забить)

Смотрю офсеты в строке 33 - допустим I = 68, J = 12
Проверяю в СЕ
БА+$1c+$34+$CAC+$C+0+68+12 оп название моего предмета именно то что искал
офсеты найдены

Добавлено через 31 минуту
К примеру я возьму структуры членов группы(GA+$34+$06D8+$14+[i*4], i=1 to 5).
Если ты хочешь посмотреть что там вообще лежит то делай так GA+$34+$06D8+$14+[возьмем 1]*4+I
i=0 to [так как мы не знаем размер этой структуры, мы возьмем на вскидку $300]
тыкаешь скан и листаешь всю таблицу
А если знаешь что искать то забиваешь в поиск

scitelz
17.01.2014, 14:52
кто-то пользуется? в текущих реалиях корректно ищет оффсеты?

Smertig
17.01.2014, 21:49
кто-то пользуется? в текущих реалиях корректно ищет оффсеты?
Пользовался раньше. Прекрасно ищет оффсеты, почему бы и нет?

Ginrey
17.01.2014, 23:51
Полезная вещь, давно думал сделать, да руки не доходили

Sirioga
18.01.2014, 10:24
Полезная вещь, давно думал сделать, да руки не доходили
Давно думал, а через 2 года тему нашел?)

Ginrey
18.01.2014, 13:58
Давно думал, а через 2 года тему нашел?)

ну так XDD
кто то поднял вот ее и увидел

scitelz
19.01.2014, 18:51
почему на 7ке хэ 64 вместо содержания в таблице появляются иероглифы непонятной инопланетной расы, в простонародье кракозябры((
я правильно понимаю? что для ползания, к примеру, в структурах игроков в округе мне надо вбить сюда что-то типа:
+$1C+$1C+$20+$94+I+J
где I/J умножается на 4 и от 0 д 299, либо:
для первого игрока в массиве окружающих +$1C+$1C+$20+$94+$4+J

Добавлено через 20 часов 12 минут
я так и не воткнул куды бечь....китайская абракадабра выводится по адресу
+$1C+$1C+$20+$94+I+$688
I увеличиваю на $4, теоретически там имена персов, в коде ищет грамотно, а тут из серии "китайский городовой", какую же ему кодировку нужно... а так при корректном выводе упростит жизнь в разы

scitelz
22.01.2014, 14:39
такс ну в моем косяке было 2 причины, если кому-то это поможет конечно.

Так как, благодаря автору, есть исходники (за что ему спасибо большое, как и за саму программу) заполз и изменил типы string на widestring, хотя для RAD XE5 насколько знаю string=widestring, так что сие странно - однако, без этого не работало. И, во-вторых, моя природная глупость сформировала немного не ту строку, имена персов искать нужно в данной версии клиента по строке
+$1C+$1C+$20+$94+I+$688+$0

mad0
06.04.2014, 17:35
Парни, натолкните на мысль, как можно с помощью этой программы(ну или иной путь) найти оффсет флага соски(нужного в темах на жуке нету). Я уже даже в ручную значения перебирал.

Smertig
06.04.2014, 22:06
Парни, натолкните на мысль, как можно с помощью этой программы(ну или иной путь) найти оффсет флага соски(нужного в темах на жуке нету). Я уже даже в ручную значения перебирал.
Флаг соски хранится в структуре персонажа (если не 1.3.6 - там флаг соски вообще на сервере). Значит в цепочку пишешь +$1C+$34(или $2C, зависит от версии)+I
Юзаешь соску - вбиваешь 1. Потом аналогично с нулём. Хотя я давно юзал эту программу и не помню точно
Проще с помощью СЕ найти адрес начала структуры персонажа (вбив цепочку BA+1C+34(2C)+0), вбить сюда ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) этот адрес и ниже - этот адрес плюс 2000 и сканить обычными Change/Unchange value

mad0
06.04.2014, 23:52
Флаг соски хранится в структуре персонажа (если не 1.3.6 - там флаг соски вообще на сервере). Значит в цепочку пишешь +$1C+$34(или $2C, зависит от версии)+I
Юзаешь соску - вбиваешь 1. Потом аналогично с нулём.
Сегодня все утро провозился ища смещение подобным образом. Ни одно не подошло. Я уж грешным делом подумал что может не так искал чего. Метод с читэнжиной плох тем, что стоит античит. Если других вариантов нет, то и на этом большое спасибо :) Будем дальше ковырять.