1)
я так понял ты свбп и хвбп путаешь.
свбп(software breakpoint) это байтпатч инструкций на int3(винда кидает исключение когда выполняется эта инструкция, дебаггер ловит это исключение и паузит тебе приложуху и ты делаешь что надо). проц выполняет инструкцию, у тебя паузится приложуха
хвбп(hardware breakpoint) это дебагер в Dr регистры записывает адреса и свойства брейкпоинтов. инструкции mov и тд учитывают эти др регистры и у тебя паузится приложуха если надо. в чит енджине этот функционал называется "Find out what accesses/writes to this address" или както так
я так понял ты свбп ставишь, и он у тебя естественно не срабатывает - т.к. процессор не запускает эти данные(там где св читс лежит. эти данные(ну например значения 0 и 1) не для выполнения предназначены)
ставь хвбп и будет тебе паузить после исполнения mov инструкции которая модифицирует этот адрес
2)
ну вообще сомнительная идея св читс 1. вальвам труда не составляет квары чекнуть твои если захотеть(в ксго вроде они это делают
, в доте хз). ты можешь либо нужные тебе квары которые требуют св читс 1 напрямую менять(опять таки их тоже могут вальвы чекнуть), либо пропатчить проверку на св читс(.text модификации как и модификации любой ридонли секции детектятся легко(т.к. они не должны модифицироваться и должны совпадать с оригиналом(за исключением релоцированных данных)) - берется оригинал, релоцируется и сравнивается с тем что в памяти. хз делают вальвы это или нет но ничто им этого не мешает делать если они захотят), либо менять какието связанные но не кварные переменные(ну т.е. которые глубоко гдето живут(в модифицируемых секциях) и габен не станет их чекать). ну тут вопрос в общем сводится к тому что габен хочет. если ему похуй то можно что угодно делать, а если захочет то всё увидит
3)
класс это описание членов и методов. есть "человек" у него есть руки ноги может ходить бегать.
объект это конкретные уже значения членов и имплементации методов(у одного класса может быть дохуя объектов). есть "вася" он "человек" у него короткие ноги и длинные руки он может быстро ходить и бегать челночным бегом и тд. "петя" тоже "человек" но он инвалид без рук без ног не может ни бегать ни ходить. есть класс "сторублёвая купюра", есть объекты - мятая купюра, идеальная купюра, порванная купюра и тд(ну или можно сказать что есть просто "купюра", а есть объекты - мятая купюра номиналом 100, идеальная купюра номиналом 1000, и тд и тп это уже как программист захочет)
классы иногда имеют иерархию(цепочку наследования. например мужчина это человек, человек это животное, животное это многоклеточное блаблабла)
C_BaseEntity в сурс движке это основа иерархии живых существ(и всякой вспомогательной фигни. но не всей). это что-то вроде "животного". есть птички рыбки обезьянки всё это животные и у них есть всякие общие какието параметры но они все разные
есть допустим класс C_DOTA_Unit_Hero_PhantomAssassin, он наследует от C_DOTA_BaseNPC_Hero, он наследует от C_DOTA_BaseNPC_Additive, он от C_DOTA_BaseNPC, он от C_NextBotCombatCharacter, он от C_BaseCombatCharacter, он от C_BaseFlex, он от C_BaseAnimatingOverlay, он от CBaseAnimatingActivity, он от C_BaseModelEntity, он от C_BaseEntity, он от CEntityInstance, он от IHandleEntity
и таких инстанций C_DOTA_Unit_Hero_PhantomAssassin у тебя может быть несколько. например в демке наспавнишь кучу фантомок, они все будут "фантомками", но у них у всех могут быть разные хп мана левел вкаченные абилки и тд