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дбг уже не найдет
если твой сигскан рассчитывает на только один вопросик в сиге, то это легко фиксится тем что ты просто добавляешь "обертку" на свой сигскан и делаешь внутри обертки новую строку из исходной и заменяешь все ?? на ?, то есть код самого сигскана трогать не обязательно.