нашел через CE оффсет, и изменил значение, все робитлибо ищи через CE адрес, либоПожалуйста, авторизуйтесь для просмотра ссылки.
оффсеты ломаются при апдейте, юзай сигскан.нашел через CE оффсет, и изменил значение, все робит
там суть в другом, мой говнокодик на путоне 100% не умеет то, что ты описал выше, и по этому мне легче менять оффсеты после каждого апдейта, чем пытаться как то вытаскивать значения из твоего способаоффсеты ломаются при апдейте, юзай сигскан.
находишь квар(с хрефа на название квара ты находишь функцию которая вызывает конструктор, в rcx прямо перед вызовом самого конструктора будет засунут квар ибо конструктор это __thiscall)
Посмотреть вложение 212596
прибавляешь к квару 0x58(это оффсет на значение квара. тип инт вроде, не помню)
ставишь хвбп(ака Find out what reads from this address блаблабла) и заходишь в демку(тем самым провоцируешь игру проверить значение квара чтобы хвбп сработал)
Посмотреть вложение 212597
видишь вот такую картину. rax+58 это значение квара. квар лежит в rax. смотришь откуда rax. rax из [7FFB4A77A758]. значит по адресу 7FFB4A77A758 лежит указатель на квар. делаешь сигу на хреф на этот адрес(7FFB4A77A758).
(например 48 8b 05 ?? ?? ?? ?? 83 78 58 ?? 48 8b 05 ?? ?? ?? ?? 0f 95 05)
Лучше научись нормально делатьтам суть в другом, мой говнокодик на путоне 100% не умеет то, что ты описал выше, и по этому мне легче менять оффсеты после каждого апдейта, чем пытаться как то вытаскивать значения из твоего способа
нормально делать что? я не знаю c# и c++ и пишу на том, что знаю, вопрос тут только в оптимизацииЛучше научись нормально делать
В данный момент у меня реализовано такоффсеты ломаются при апдейте, юзай сигскан.
находишь квар(с хрефа на название квара ты находишь функцию которая вызывает конструктор, в rcx прямо перед вызовом самого конструктора будет засунут квар ибо конструктор это __thiscall)
Посмотреть вложение 212596
прибавляешь к квару 0x58(это оффсет на значение квара. тип инт вроде, не помню)
ставишь хвбп(ака Find out what reads from this address блаблабла) и заходишь в демку(тем самым провоцируешь игру проверить значение квара чтобы хвбп сработал)
Посмотреть вложение 212597
видишь вот такую картину. rax+58 это значение квара. квар лежит в rax. смотришь откуда rax. rax из [7FFB4A77A758]. значит по адресу 7FFB4A77A758 лежит указатель на квар. делаешь сигу на хреф на этот адрес(7FFB4A77A758).
(например 48 8b 05 ?? ?? ?? ?? 83 78 58 ?? 48 8b 05 ?? ?? ?? ?? 0f 95 05)
import pymem
pm = pymem.Pymem('dota2.exe')
client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll
iParticle = client + 0x38A1A38 #int
pm.write_int(iParticle, 0)
Искать адресс через сигнатурунормально делать что? я не знаю c# и c++ и пишу на том, что знаю, вопрос тут только в оптимизации
В данный момент у меня реализовано так
1.py:import pymem pm = pymem.Pymem('dota2.exe') client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll iParticle = client + 0x38A1A38 #int pm.write_int(iParticle, 0)
сигскан это называется.нормально делать что? я не знаю c# и c++ и пишу на том, что знаю, вопрос тут только в оптимизации
В данный момент у меня реализовано так
1.py:import pymem pm = pymem.Pymem('dota2.exe') client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll iParticle = client + 0x38A1A38 #int pm.write_int(iParticle, 0)
мне просто нужен был адресс по которому надо изменить значение для включениясигскан это называется.
поиск места в файле(в дллке) по байтам инструкций(они редко меняются при апдейте игры, там только некоторые байты меняются которые помечаются ?? вопросиками и которые при поиске просто скипает).
если питон умеет читать память процесса значит он умеет сигсканить(= читать память и искать в ней нужные байты). погугли. тебе это энивей пригодится в будущем. сидеть RVA обновлять каждый патч так уж себе идея.
типо у одного чела реализовано таксигскан это называется.
поиск места в файле(в дллке) по байтам инструкций(они редко меняются при апдейте игры, там только некоторые байты меняются которые помечаются ?? вопросиками и которые при поиске просто скипает).
если питон умеет читать память процесса значит он умеет сигсканить(= читать память и искать в ней нужные байты). погугли. тебе это энивей пригодится в будущем. сидеть RVA обновлять каждый патч так уж себе идея.
dota.read_string(ui(ui(ui(self.addr) + 0x10) + 0x18))
я тебе предлагаю автоматически находить адрес а не сидеть каждый апдейт его заново искать в чит енджине. я не понимаю почему ты не хочешь попробовать освоить новую технику.мне просто нужен был адресс по которому надо изменить значение для включения
dota_use_particle_fow "0"
а ты предлагаешь сканировать файл по байтам, но зачем, если мне просто нужен был адресс для включения dota_use_particle_fow без использования sv_cheats 1, я нашел этот адресс в СЕ и теперь могу включать dota_use_particle_fow в обычной игре без читов
я бы освоил новую технику, если бы понимал что нужно делатья тебе предлагаю автоматически находить адрес а не сидеть каждый апдейт его заново искать в чит енджине. я не понимаю почему ты не хочешь попробовать освоить новую технику.
я хочу C++ изучить для того что бы что-то нормальное написать, но в душе не ебу с чего начинать и как вообще компилировать эту залупуя тебе предлагаю автоматически находить адрес а не сидеть каждый апдейт его заново искать в чит енджине. я не понимаю почему ты не хочешь попробовать освоить новую технику.
Ну тут только можно развести ручками. Всё необходимое описали выше. Собрать проект в мвс с 0 предлагает сама мвс с готовым hello world. Остальное простейшие функции сканирования процессов, openprocess и read-writeprocessmemoryя бы освоил новую технику, если бы понимал что нужно делать
я хочу C++ изучить для того что бы что-то нормальное написать, но в душе не ебу с чего начинать и как вообще компилировать эту залупу
1) дота на с++, с++ собирается из человекочитаемого формата в родной машинный формат(в "инструкции" - это указания для процессора что ему делать). эти инструкции представляются байтами. последовательности из нескольких инструкций зачастую уникальные. в инструкциях есть абсолютные байты, а есть относительные. например представь условно инструкции:я бы освоил новую технику, если бы понимал что нужно делать
я хочу C++ изучить для того что бы что-то нормальное написать, но в душе не ебу с чего начинать и как вообще компилировать эту залупу
VS у меня уже есть, написал Hello World, сумел скомпилировать, работает1) дота на с++, с++ собирается из человекочитаемого формата в родной машинный формат(в "инструкции" - это указания для процессора что ему делать). эти инструкции представляются байтами. последовательности из нескольких инструкций зачастую уникальные. в инструкциях есть абсолютные байты, а есть относительные. например представь условно инструкции:
прибавить 4
умножить на 10
разделить на 5
здесь абсолютные байты это байты для "прибавить", "умножить", "разделить", а сами числа 4 10 и 5 могут меняться между апдейтами доты(условно)
ты делаешь сигу(последовательность байт): "прибавить ?? умножить на ?? разделить на ??". если правильно всё сделать то сига будет уникальной(всего одна на весь файл dota2.exe условно), и ты берешь просто ищешь в памяти(файлы с диска в оперативку выгружаются при запуске приложух) эту сигу(последовательность байт). ищешь абсолютные байты а относительные(вопросики ??) пропускаешь(они могут быть любыми).
погугли(signature scanning, pattern scanning(синонимы) эта тема называется)
Пожалуйста, авторизуйтесь для просмотра ссылки.2) для начала visual studio качаешь там в установщике выбираешь
Посмотреть вложение 212615
и хелло ворлд компилишь дабы проверить что все нормально
ну можешь с винапи ознакомиться(апи винды чтобы взаимодействовать с процессами файлами да и ваще всем что есть на твоем виндовс компуктере) почитав и посмотрев туториалы и сурсы читов.VS у меня уже есть, написал Hello World, сумел скомпилировать, работает
ну крч года через 4 вернусьну можешь с винапи ознакомиться(апи винды чтобы взаимодействовать с процессами файлами да и ваще всем что есть на твоем виндовс компуктере) почитав и посмотрев туториалы и сурсы читов.
Пожалуйста, авторизуйтесь для просмотра ссылки.например, по теме сигскана(тебе экстернал я так понимаю нужен)
ну и С для начала выучить(базовую хуиту типа указатели и тд), а потом и С++ уже можно
мне с 0 нужно все изучать, исходников читов 0, исходники из гайдов тоже никто не выкладывает, все тупо куски кода вставляют, ну вот примерно года 4 на изучение и выйдетну можешь с винапи ознакомиться(апи винды чтобы взаимодействовать с процессами файлами да и ваще всем что есть на твоем виндовс компуктере) почитав и посмотрев туториалы и сурсы читов.
Пожалуйста, авторизуйтесь для просмотра ссылки.например, по теме сигскана(тебе экстернал я так понимаю нужен)
ну и С для начала выучить(базовую хуиту типа указатели и тд), а потом и С++ уже можно
забыл еще про челов, которые кидают исходник, но в нем ошибок больше чем в коде человека который впервые пишет прогуну можешь с винапи ознакомиться(апи винды чтобы взаимодействовать с процессами файлами да и ваще всем что есть на твоем виндовс компуктере) почитав и посмотрев туториалы и сурсы читов.
Пожалуйста, авторизуйтесь для просмотра ссылки.например, по теме сигскана(тебе экстернал я так понимаю нужен)
ну и С для начала выучить(базовую хуиту типа указатели и тд), а потом и С++ уже можно
Дота не кс. Тут тебе готовое не сольют. Читов на пальцах пересчитать остальные кто знают делают для себя.мне с 0 нужно все изучать, исходников читов 0, исходники из гайдов тоже никто не выкладывает, все тупо куски кода вставляют, ну вот примерно года 4 на изучение и выйдет
забыл еще про челов, которые кидают исходник, но в нем ошибок больше чем в коде человека который впервые пишет прогу
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz