Вопрос Как можно использовать свои луа скрипты в дока ту?

Пользователь
Статус
Оффлайн
Регистрация
20 Янв 2022
Сообщения
182
Реакции[?]
40
Поинты[?]
25K
Так ты в чите же всё равно сканить будешь определенную dll, а не весь процесс доты.
В читенжине тоже можешь только клиент выбрать. Ну и вообще, юзай плагин Sigmaker для иды.
я сиги делаю в x64dbg там сразу можно и чекнуть в определенном модуле
 
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
а если например я сделал большую сигнатуру и находит только по одной в клиент и в сервер
Так ты же только client.dll сканируешь, откуда там адреса в сервере возьмутся
Сокращать нужно, так скажем, инкрементально — убрал пару байт, просканил, если получилось, то повторяешь процедуру, нет — откатываешься и останавливаешься. Находить должно только нужное
 
Пользователь
Статус
Оффлайн
Регистрация
20 Янв 2022
Сообщения
182
Реакции[?]
40
Поинты[?]
25K
Так ты в чите же всё равно сканить будешь определенную dll, а не весь процесс доты.
В читенжине тоже можешь только клиент выбрать. Ну и вообще, юзай плагин Sigmaker для иды.
при сокращении сигнатура находиться и в определенном модуле более 5
Так ты же только client.dll сканируешь, откуда там адреса в сервере возьмутся
Сокращать нужно, так скажем, инкрементально — убрал пару байт, просканил, если получилось, то повторяешь процедуру, нет — откатываешься и останавливаешься. Находить должно только нужное
я нашел то что мне нужно
"48 8B ? ? ? ? ? 44 0F B6 C3 48 8B D7 48 89 AC 24 ? ? ? ? 4C 8B 09" правда мне кажется тут что то не то
 
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
при сокращении сигнатура находиться и в определенном модуле более 5

я нашел то что мне нужно
"48 8B ? ? ? ? ? 44 0F B6 C3 48 8B D7 48 89 AC 24 ? ? ? ? 4C 8B 09" правда мне кажется тут что то не то
Это таки оно. Вот тебе сига получше.
"48 8B ? ? ? ? ? 44 0F ? ? 48 8B ? 48 89"

1677236083491.png
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
781
Реакции[?]
331
Поинты[?]
63K
1. если не ошибаюсь - VScript это серверсайд скриптинг(для кастомок модов плагинов и тд) - то есть если ты какимто чудом и загрузишь свои скрипты(а ты их наверно не загрузишь) - ты нихуя не сможешь полезного сделать потому что апи(ну то есть функционал движка который доступен из луа) то там серверная
ну тип если это клиентская апи то нахуй нам всякие вбе и тд пагнали всех ForceKill'ить!111
1677241276921.png
(C_DOTA_BaseNPC - клиентский класс, CDOTA_BaseNPC - серверный класс. заметь C_ и C)
так что кр4 на клиенте ты мало что полезного сделаешь с этой апи(и скорее всего даже тупо и не загрузишь свои скрипты в не-локалхост матче)
но опять таки хуй знает я могу ошибаться - тем более с учетом того что тебе "для общего развития" то не вижу причин почему бы тебе не попробовать.
2. сиги ищут в пределах одного модуля(и в частности как правило в пределах .text сегмента - именно там лежат инструкции для процессора) так что если твою сигу находит в двух разных модулях - поебать - вопрос почему ты вообще ищешь сигу среди всех модулей - ищи сигу в пределах конкретного модуля(там где ты ее делал) - в х64дбг это: заходишь во вкладке CPU в нужный модуль(например из вкладки Symbols или Memory map или в ctrl+g во вкладке CPU прописываешь <module>.base например client.dll.base) -> ПКМ -> Search For -> Current Module(или если ты уже в .text сегменте то Current Region) -> Pattern
1677241993602.png
3. сигу делают настолько большой, насколько надо чтобы ее нашло только одну, но при этом ее делают минимального нужного размера(то есть укорачивают если возможно - при этом она все еще должна быть уникальной(один результат находит)).
то есть если у тебя есть сига(условно)
12 34 56 78
и у тебя уже по сиге 12 34 находит единственный нужный результат - тогда какой смысл от 56 78? поэтому 12 34 56 78 укорачивают до 12 34
при этом сиги не должны быть супер-огромными(в теории больше шанс что сломается - ведь даже если инструкции частично поменяют а не целиком, то т.к. у тебя в сиге этих инструкций дохуя то твоя сига может сломаться. чем меньше инструкций в сиге тем меньше шанс что если инструкции поменяются то это будут именно те что в твоей сиге) - если у тебя получается супер-огромная сига - попробуй подойти с другого ракурса - например если у тебя сига на функцию - сделай сигу на то место где эта функция вызывается и достань оттуда адрес функции из хрефа
4. советую делать сиги с двумя вопросиками - например 12 ?? 56 ?? а не 12 ? 56 ?
чисто ради совместимости с софтом(х64дбг ида чит енджин и тд) - ида понимает сиги как ? так и ??, х64дбг онли ??, чит енджин ?? точно поддерживает, насчёт одного вопросика не знаю
то есть делая сигу с двумя вопросиками ее спокойно найдет и в иде, и в х64дбг, и в чит енджине, а делая сигу с одним вопросиком ее как минимум в том же х64дбг уже не найдет
если твой сигскан рассчитывает на только один вопросик в сиге, то это легко фиксится тем что ты просто добавляешь "обертку" на свой сигскан и делаешь внутри обертки новую строку из исходной и заменяешь все ?? на ?, то есть код самого сигскана трогать не обязательно.
 
Пользователь
Статус
Оффлайн
Регистрация
20 Янв 2022
Сообщения
182
Реакции[?]
40
Поинты[?]
25K
вопрос почему ты вообще ищешь сигу среди всех модулей
я искал сигнатуру в чит энжине для проверки уникальности и там находило куча всякого мусора в одном модуле(я шарю из ксго читов что сиги ищутся в определенном модуле)
в х64дбг это: заходишь во вкладке CPU в нужный модуль(например из вкладки Symbols или Memory map или в ctrl+g во вкладке CPU прописываешь <module>.base например client.dll.base) -> ПКМ -> Search For -> Current Module(или если ты уже в .text сегменте то Current Region) -> Pattern
про это я тоже знаю как перемещаться по модулям из гайдов по реверсу
советую делать сиги с двумя вопросиками
у меня паттерн сканнер для одного вопроса
а делая сигу с одним вопросиком ее как минимум в том же х64дбг уже не найдет
я ищу через плагин
(C_DOTA_BaseNPC - клиентский класс, CDOTA_BaseNPC - серверный класс. заметь C_ и C)
так что кр4 на клиенте ты мало что полезного сделаешь с этой апи(и скорее всего даже тупо и не загрузишь свои скрипты в не-локалхост матче)
я так понял что в мелонити и других софтах с луа они используют свое апи для взамодействия с дотай?
1. если не ошибаюсь - VScript это серверсайд скриптинг(для кастомок модов плагинов и тд) - то есть если ты какимто чудом и загрузишь свои скрипты(а ты их наверно не загрузишь) - ты нихуя не сможешь полезного сделать потому что апи(ну то есть функционал движка который доступен из луа) то там серверная
ну тип если это клиентская апи то нахуй нам всякие вбе и тд пагнали всех ForceKill'ить!111
Посмотреть вложение 239735
(C_DOTA_BaseNPC - клиентский класс, CDOTA_BaseNPC - серверный класс. заметь C_ и C)
так что кр4 на клиенте ты мало что полезного сделаешь с этой апи(и скорее всего даже тупо и не загрузишь свои скрипты в не-локалхост матче)
но опять таки хуй знает я могу ошибаться - тем более с учетом того что тебе "для общего развития" то не вижу причин почему бы тебе не попробовать.
2. сиги ищут в пределах одного модуля(и в частности как правило в пределах .text сегмента - именно там лежат инструкции для процессора) так что если твою сигу находит в двух разных модулях - поебать - вопрос почему ты вообще ищешь сигу среди всех модулей - ищи сигу в пределах конкретного модуля(там где ты ее делал) - в х64дбг это: заходишь во вкладке CPU в нужный модуль(например из вкладки Symbols или Memory map или в ctrl+g во вкладке CPU прописываешь <module>.base например client.dll.base) -> ПКМ -> Search For -> Current Module(или если ты уже в .text сегменте то Current Region) -> Pattern
Посмотреть вложение 239737
3. сигу делают настолько большой, насколько надо чтобы ее нашло только одну, но при этом ее делают минимального нужного размера(то есть укорачивают если возможно - при этом она все еще должна быть уникальной(один результат находит)).
то есть если у тебя есть сига(условно)
12 34 56 78
и у тебя уже по сиге 12 34 находит единственный нужный результат - тогда какой смысл от 56 78? поэтому 12 34 56 78 укорачивают до 12 34
при этом сиги не должны быть супер-огромными(в теории больше шанс что сломается - ведь даже если инструкции частично поменяют а не целиком, то т.к. у тебя в сиге этих инструкций дохуя то твоя сига может сломаться. чем меньше инструкций в сиге тем меньше шанс что если инструкции поменяются то это будут именно те что в твоей сиге) - если у тебя получается супер-огромная сига - попробуй подойти с другого ракурса - например если у тебя сига на функцию - сделай сигу на то место где эта функция вызывается и достань оттуда адрес функции из хрефа
4. советую делать сиги с двумя вопросиками - например 12 ?? 56 ?? а не 12 ? 56 ?
чисто ради совместимости с софтом(х64дбг ида чит енджин и тд) - ида понимает сиги как ? так и ??, х64дбг онли ??, чит енджин ?? точно поддерживает, насчёт одного вопросика не знаю
то есть делая сигу с двумя вопросиками ее спокойно найдет и в иде, и в х64дбг, и в чит енджине, а делая сигу с одним вопросиком ее как минимум в том же х64дбг уже не найдет
если твой сигскан рассчитывает на только один вопросик в сиге, то это легко фиксится тем что ты просто добавляешь "обертку" на свой сигскан и делаешь внутри обертки новую строку из исходной и заменяешь все ?? на ?, то есть код самого сигскана трогать не обязательно.
и еще вопрос, для чего служит функа "DoIncludeScript", и можно ли с помощью её юзать луа не на локалхосте?
 
Последнее редактирование:
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
свое апи для взамодействия с дотай
Именно, в подразделе с исходниками дампили мелонити скрипты, они на V8 в стиле самих вальвов кодят это(то что это именно их можно понять да хотя бы по таким прекрасным названиям, как Otrezok() и FixValveGovnoCod())
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
781
Реакции[?]
331
Поинты[?]
63K
я искал сигнатуру в чит энжине для проверки уникальности и там находило куча всякого мусора в одном модуле(я шарю из ксго читов что сиги ищутся в определенном модуле)

про это я тоже знаю как перемещаться по модулям из гайдов по реверсу

у меня паттерн сканнер для одного вопроса

я ищу через плагин

я так понял что в мелонити и других софтах с луа они используют свое апи для взамодействия с дотай?

и еще вопрос, для чего служит функа "DoIncludeScript", и можно ли с помощью её юзать луа не на локалхосте?
Пожалуйста, авторизуйтесь для просмотра ссылки.
DoIncludeScript это тоже часть VScript'а(запускает скрипт внутри VScript) поэтому нет нельзя(VScript это серверная куита. мало того что не на локалхосте просто работать скорее всего не будет так еще и апи бесполезная)
да в читах там свою апи(ну там взаимодействие с сущностями и тд, набор базового функционала кароче) люди делают для взаимодействия с самой дотой, делают ее доступной для скриптового движка/интерпретатора(что угодно - джаваскрипт, луа, питон, да хоть виртуалка джавы. все эти языки способны вызывать Сшный код в той или иной мере)(который они либо сами инициализируют либо существующий в игре используют например).
 
Сверху Снизу