Короче,решил создать такую тему!
Вновь заинтересовался этой темой(отладкой).
У меня простой вопрос-почему когда я пытаюсь исследовать какую-то функцию я попадую в случайный кусок кода?
Вот один раз пытался в игре убрать ограничение,нельзя было пройти дальше какого-то участка(стоял блок).
И я при каждом шаге(в игре),по нажатию на W я анализировал откуда идёт вызов(call),куда-ставил там бряки,убирал-добавлял нужное и так далее.
И в итоге я подумал что нашёл нужное,изменил и провалился сквозь текстуры.
Нашёл не то в итоге и расстроился,понял что так и будет и я никогда не обойду это ограничение.
Так с тех пор и не берусь за отладку игр,думаю что опять попаду в случайный кусок кода.
Это действительно так?Пытаясь отладить что-то сложное-всегда попадаешь не туда?
Рандомное тыканье брейкпоинтов наугад - дилетантский подход, который скорее съест время, чем поможет получить результат.
Нужно осмысленно реверсить и разбираться детально, что, как и для чего выполняется.
Найди свои координаты (с этим проблем быть не должно), по координатам легко будет выйти на структуру игрока. Почекай функции, которые принимают эту структуру, наиболее вероятно - это будут методы класса, принимающие эту структуру через регистр ECX (дефолтный мсвц thiscall). Посмотри, где изменяются координаты. Скорей всего, если игра написана не даунами, таких функций будет не так много. Таким образом, выйдешь на что-то вроде set_pos(), а там и проверка коллизии будет недалеко. Но, скорее всего, обработчик коллизии будет не в виде тупого сравнивания четырехуголь ников, а что-нибудь серьезней, например, с использованием хэш таблиц с объектами, удачно поколупать)))))KeksovName сказал(а):↑Хотя наверное никто кроме меня никогда не отлаживал игры,скорее всего так.
Нажмите, чтобы раскрыть...Определенно, ты первопроходец
Berglol сказал(а):↑Рандомное тыканье брейкпоинтов наугад - дилетантский подход, который скорее съест время, чем поможет получить результат.
Нужно осмысленно реверсить и разбираться детально, что, как и для чего выполняется.
Найди свои координаты (с этим проблем быть не должно), по координатам легко будет выйти на структуру игрока. Почекай функции, которые принимают эту структуру, наиболее вероятно - это будут методы класса, принимающие эту структуру через регистр ECX (дефолтный мсвц thiscall). Посмотри, где изменяются координаты. Скорей всего, если игра написана не даунами, таких функций будет не так много. Таким образом, выйдешь на что-то вроде set_pos(), а там и проверка коллизии будет недалеко. Но, скорее всего, обработчик коллизии будет не в виде тупого сравнивания четырехуголь ников, а что-нибудь серьезней, например, с использованием хэш таблиц с объектами, удачно поколупать)))))Определенно, ты первопроходец
Нажмите, чтобы раскрыть...это конечно весело всё, но не ясно зачем
тем более, что автор темы сам ничего такого не программировал в жизни, чтобы хотя бы примерно понимать чо происходит и что искать
neabama сказал(а):↑Release билд исследуешь используя Debug код?
Нажмите, чтобы раскрыть...Наверное в конечных продуктах(играх)нету debug кода.
Это была просто игра Life is Strange и я ставил бряки сразу как нажимал W(bp on move).
Ещё искал в строках всё что связанно с move и position но так ничего и не нашёл.
Подучусь и снова за это возьмусь.
aae сказал(а):↑снова этот больной
Нажмите, чтобы раскрыть...Ты вообще кто такой?
YoshkinKot сказал(а):↑это конечно весело всё, но не ясно зачем
тем более, что автор темы сам ничего такого не программировал в жизни, чтобы хотя бы примерно понимать чо происходит и что искать
Нажмите, чтобы раскрыть...Да не программировал,у меня есть опыт исследования небольших программ и утилит
.
Я пытаюсь зацепиться(как меня учили)за какое-то событие(нажатие на кнопку W) а потом исследовать что его вызывает.
А потом что вызывает выше и выше,по Call stack и reference command.
Не знаю как это на русском звучит,вот.
Буду делать это на стриме,когда закончу смотреть видеокурс-через пару недель.
YoshkinKot сказал(а):↑философ, ученый муж
для человека свободного лучше то занятие, что наиболее бесполезно
Нажмите, чтобы раскрыть...Если я смогу показать секретную локацию в игре(а она там есть)то это будет очень интересно!
KeksovName сказал(а):↑Да не программировал,у меня есть опыт исследования небольших программ и утилит
.
Я пытаюсь зацепиться(как меня учили)за какое-то событие(нажатие на кнопку W) а потом исследовать что его вызывает.
А потом что вызывает выше и выше,по Call stack и reference command.
Не знаю как это на русском звучит,вот.
Буду делать это на стриме,когда закончу смотреть видеокурс-через пару недель.
Если я смогу показать секретную локацию в игре(а она там есть)то это будет очень интересно!
Нажмите, чтобы раскрыть...хз чувак, ты же оч много времени уже в это влил, а результатов чот никаких
зачем их исследовать?
их писали люди, следовательно если хочешь понять, что происходит и осмысленно реверсить — пиши подобное сам, хотя бы примерно понимай что там происходит и может происходить
а ты программировать до сих пор не умеешь особо, еще и выбираешь the hard way при отсутствии интуиции к этому делу — так не должно быть
я бы просто пошел искать, что лучше получается
ну условно мне была интересна электроника, но почему-то в отличие от математики и программирования она оч плохо у меня шла, прям со скрипом — ну я и не стал себя ей утруждать: ну нет, так нет, хоть я и книжку прочитал
в доте я не стал себя мучать условным мипо, лон друидами и варденами — очень мне сложно контролить кучу юнитов
the hard way я выбрал в деле, в котором и так какая-то интуиция есть и была — рисование
я практически всему, что умею, научился сам
никого особо не смотря
смотрел бы — было бы еще лучше
похоже на то, как нейронки обучались — ну я сожрал кучу картин и сам рисовал дофига
YoshkinKot сказал(а):↑хз чувак, ты же оч много времени уже в это влил, а результатов чот никаких
зачем их исследовать?
их писали люди, следовательно если хочешь понять, что происходит — пиши подобное сам
Нажмите, чтобы раскрыть...так там какая-то боязнь делать самому + вера в то что если посмотреть еще какой-нибудь курс™ - то все, теперь точно дела пойдут в гору
так что хз о каких результатах ты говоришь
haHAA сказал(а):↑Ты лентяй, чел, который делает видимость работы
Иди на настоящую работу устройся куда-тоНажмите, чтобы раскрыть...ему тут чел предлагал
он отказался
какая работа
ы у меня маленькая пенсия
задонатьте денег сестре на сижки
Renderhauer сказал(а):↑так там какая-то боязнь делать самому + вера в то что если посмотреть еще какой-нибудь курс™ - то все, теперь точно дела пойдут в гору
так что хз о каких результатах ты говоришь
ему тут чел предлагал
он отказался
какая работа
ы у меня маленькая пенсия
задонатьте денег сестре на сижки
Нажмите, чтобы раскрыть...да напоминает мне немного спятивших моих бабушку и дедушку
дед был нормальным мужиком, но чот жизнь его потаскала и так он ничего особо интересного и не сделал, лучше бы курить бросил, глядишь прожил дольше бы
бабка с ума сошла слегка к 40 годам и как ребенок короче сейчас — маня мир полный, не поддающийся корректировке, по сей день занимается ерундой вроде того, что барахло в свой дом тащит, у соседей бесплатно забирает, типа «пригодится» — в итоге это периодически со скандалами приходится выбрасывать на свалку, потому что к ней в гости даже не придешь, всё завалено предметами, коробками и тряпками
а у этого маня мир и курсы, которые «пригодятся» и ноль реальных действий, как у моей бабки с её гнилыми досками в гвоздях во дворе
KeksovName сказал(а):↑Короче,решил создать такую тему!
Вновь заинтересовался этой темой(отладкой).
У меня простой вопрос-почему когда я пытаюсь исследовать какую-то функцию я попадую в случайный кусок кода?
Вот один раз пытался в игре убрать ограничение,нельзя было пройти дальше какого-то участка(стоял блок).
И я при каждом шаге(в игре),по нажатию на W я анализировал откуда идёт вызов(call),куда-ставил там бряки,убирал-добавлял нужное и так далее.
И в итоге я подумал что нашёл нужное,изменил и провалился сквозь текстуры.
Нашёл не то в итоге и расстроился,понял что так и будет и я никогда не обойду это ограничение.
Так с тех пор и не берусь за отладку игр,думаю что опять попаду в случайный кусок кода.
Это действительно так?Пытаясь отладить что-то сложное-всегда попадаешь не туда?
Нажмите, чтобы раскрыть...Ты пробывал программировать на C/C++? Писать игровые движки? Писать игры?
YoshkinKot сказал(а):↑да напоминает мне немного спятивших моих бабушку и дедушку
дед был нормальным мужиком, но чот жизнь его потаскала и так он ничего особо интересного и не сделал, лучше бы курить бросил, глядишь прожил дольше бы
бабка с ума сошла слегка к 40 годам и как ребенок короче сейчас — маня мир полный, не поддающийся корректировке, по сей день занимается ерундой вроде того, что барахло в свой дом тащит, у соседей бесплатно забирает, типа «пригодится» — в итоге это периодически со скандалами приходится выбрасывать на свалку, потому что к ней в гости даже не придешь, всё завалено предметами, коробками и тряпками
а у этого маня мир и курсы, которые «пригодятся» и ноль реальных действий, как у моей бабки с её гнилыми досками в гвоздях во дворе
Нажмите, чтобы раскрыть...Ну если уже углубляться в психологию, то ты графоман, которому не важно что и не важно где главное написать. Будешь оспаривать? Вот тебе пример. Тема где чел попросил помоч с версткой ты даже не зная ничего просто отписываешься потомучто тебе НУЖНО
https://dota2.ru/forum/threads/raspolozhenie-po-centru.1541859/
Meepka сказал(а):↑Ну если уже углубляться в психологию, то ты графоман, которому не важно что и не важно где главное написать. Будешь оспаривать? Вот тебе пример. Тема где чел попросил помоч с версткой ты даже не зная ничего просто отписываешься потомучто тебе НУЖНО
https://dota2.ru/forum/threads/raspolozhenie-po-centru.1541859/Нажмите, чтобы раскрыть...сейчас или вообще?
ну есть немного, да
я стараюсь всё же так не делать
а ваще я забыл, что настоящая тема не в таверне
очень важная информация (нет)у меня наверное ADHD или что-то такое
ну в общем, я шиз наверное
мне всё интересно, я всему пытаюсь найти решение и дать объяснение, и совершенно не чураюсь публично обосраться: мне новая информация нравится больше, да и вообще это делает меня только сильнее
это мне помогало и помогает в условной математике — нерешенная задача это зуд, это вызов, чтобы его преодолеть я постоянно убиваюсь в стену и иногда проламываю её
плюс там клевое слегка токсичное комьюнити, которое просто так ошибку не оставит и обязательно тебя разгромит
а ты такую же услугу оказываешь другим
и у вас есть формальные методы выяснить кто прав
но вместе с тем, я жутко растерянный и рассеяный
мне например оч сложно дается вовремя прийти куда-то
ты даже не представляешь как это тяжело вовремя прийти
я каждый день, всю свою жизнь опаздываю
если мне надо прийти вовремя и никак иначе, то обычно я трачу весь свой волевой ресурс на это — не более 1 такого события в день, а лучше в неделю
я всё время что-то теряю или сам теряюсь на местности — например выйду раньше на несколько километров от нужной остановки или в трех улицах потеряюсь
я никогда не могу собрать необходимые вещи в рюкзак перед перелетом на самолете — всегда что-то забуду
я дедлайны и планы все просираю, если никто меня в плечо не тыкает
в доме у меня тоже вечно бардак
Тема закрыта
-
ЗаголовокРазделОтветов ПросмотровПоследнее сообщение
-
marleh 30 Aug 2025 в 10:14Сообщений: 2 30 Aug 2025 в 10:14
Сообщений:2
Просмотров:2
-
Сообщений:7
Просмотров:23
-
Инок 30 Aug 2025 в 08:39Сообщений: 14 30 Aug 2025 в 08:39
Сообщений:14
Просмотров:38
-
Сообщений:19
Просмотров:46
-
cntrx 30 Aug 2025 в 06:48Сообщений: 3 30 Aug 2025 в 06:48
Сообщений:3
Просмотров:22
