sapphire dev
-
Автор темы
- #1
Предположим, что мы криворукие пастеры(но вообще так оно и есть) и мы не умеем пользоваться идой и получать древние модули игры, по этому обновлять мы сможем только по этим инструкциям:
1. Индексы функций:
Т.к. мы криворукие пастеры без знаний хотя бы с++ мы будем просто искать в сурсах слитых на этом замечательном форуме индексы, самый маленький который валидный и невалидный и просто смещать все остальные на столько же едениц. Пример: Старый индекс UpdateClientSideAnimations = 223, новый = 225, => ко всем индексам выше этого + 2. Этот метод может быть вронг, т.к. не факт, что все индексы сместились равномерно, индекс - порядковый номер функции в каком либо классе(ну логично тип), валв могли сразу убрать пару функций в середине и добавить 1 в начало, так шо такое может не сработать. Ну а хули нам еще остается, если мы не умеем пользоваться хотя бы сурсами кс и идой, чтобы найти нужные функции и посмотреть где они вызываются, чтобы получить значение индекса из иды и разделить его на 4.
2. Оффсеты:
Ну, оффсеты мы тоже пожалуй спастим, или высчитаем на разнице из обновлений, если есть оффсет старый и новый одной и той же функции или чота там еще, хотя высчитывать мы не будем, ибо это 16ти ричная система, а там цифр 9, а букв 6, еще запутаетесь с разрядами. Лучше юзать нетвары, которые уже можно спастить давно себе в свой п100 чит. Если оффсет не регламентирован в виртуальных таблицах или не дай бог складывается где-то в ебенях из регистров - пиши пропало, тут даже intermediate value в иде не поможет.
3. Паттерны:
Спасти. Ты не поймешь как пользоваться find sequency of bytes и плагином sigmaker в иде. Да еще и не дай бог высчитывать опкоды и прочие сложности, если попробуешь разобраться - словишь инфаркт. Можно было бы найти инструкции в старом модуле игры на актуальный по времени паттерн и выделив те же инструкции сигмейкнуть, но мы не умеем получать древние модули игры, пользоваться сигмейкером и вообще не знаем, что такое инструкции, по этому - пастим. Если нужный паттерн невозможно откуда либо спастить, ибо его тупо нет - не лезь в пастинг и не покупай сурсы, лучше купи мои услуги(не реклама).
4. Структуры и чисто виртуальные классы:
Точно спасти. Это еще сложнее чем все что изложено выше, нужен class informer хотя бы, а в идеале reclass аттачить, а к нему нужно смещение на класс и там реверсить, тож самое шо в небо тыкать пальцем, да еще и знания в с++ и asm нужны, которых у нас нет и не будет.
Если этот гайд был полезен - ставим клоунов, если гайд был не полезен - ставим раздражжение, если вам показалось, что я клоун, даун или псих - так оно и есть.
W/Love f33nRy ?
1. Индексы функций:
Т.к. мы криворукие пастеры без знаний хотя бы с++ мы будем просто искать в сурсах слитых на этом замечательном форуме индексы, самый маленький который валидный и невалидный и просто смещать все остальные на столько же едениц. Пример: Старый индекс UpdateClientSideAnimations = 223, новый = 225, => ко всем индексам выше этого + 2. Этот метод может быть вронг, т.к. не факт, что все индексы сместились равномерно, индекс - порядковый номер функции в каком либо классе(ну логично тип), валв могли сразу убрать пару функций в середине и добавить 1 в начало, так шо такое может не сработать. Ну а хули нам еще остается, если мы не умеем пользоваться хотя бы сурсами кс и идой, чтобы найти нужные функции и посмотреть где они вызываются, чтобы получить значение индекса из иды и разделить его на 4.
2. Оффсеты:
Ну, оффсеты мы тоже пожалуй спастим, или высчитаем на разнице из обновлений, если есть оффсет старый и новый одной и той же функции или чота там еще, хотя высчитывать мы не будем, ибо это 16ти ричная система, а там цифр 9, а букв 6, еще запутаетесь с разрядами. Лучше юзать нетвары, которые уже можно спастить давно себе в свой п100 чит. Если оффсет не регламентирован в виртуальных таблицах или не дай бог складывается где-то в ебенях из регистров - пиши пропало, тут даже intermediate value в иде не поможет.
3. Паттерны:
Спасти. Ты не поймешь как пользоваться find sequency of bytes и плагином sigmaker в иде. Да еще и не дай бог высчитывать опкоды и прочие сложности, если попробуешь разобраться - словишь инфаркт. Можно было бы найти инструкции в старом модуле игры на актуальный по времени паттерн и выделив те же инструкции сигмейкнуть, но мы не умеем получать древние модули игры, пользоваться сигмейкером и вообще не знаем, что такое инструкции, по этому - пастим. Если нужный паттерн невозможно откуда либо спастить, ибо его тупо нет - не лезь в пастинг и не покупай сурсы, лучше купи мои услуги(не реклама).
4. Структуры и чисто виртуальные классы:
Точно спасти. Это еще сложнее чем все что изложено выше, нужен class informer хотя бы, а в идеале reclass аттачить, а к нему нужно смещение на класс и там реверсить, тож самое шо в небо тыкать пальцем, да еще и знания в с++ и asm нужны, которых у нас нет и не будет.
Если этот гайд был полезен - ставим клоунов, если гайд был не полезен - ставим раздражжение, если вам показалось, что я клоун, даун или псих - так оно и есть.
W/Love f33nRy ?
Последнее редактирование: