Задать вопрос
Ответы пользователя по тегу Компьютеры
  • Как узнать, хранятся числа в компьютере в прямом, дополнительном или обратном коде?

    moderatorh
    @moderatorh
    В IT с 1987-го года.
    Не, там не много не так.
    Как хранятся числа в памяти компьютера зависит от конкретного компилятора или или интерпретатора языка, ну и типа числа само собой или типа переменной (числа иногда специально сохраняют и как сроки).
    Если все храниться по умолчанию, то найти просто.
    1. Если программа не большая, целиком дизасемблируете ее и смотрите.
    2. Если большая да модульная, с библиотеками и т.д, то так сделать будет очень тяжело, придется искать онлайн. Нужен специальный софт. Какой он сейчас, я не знаю, реинжинерингом под x86/64 не занимался уже больше 20 лет, так что много воды утекло, софт изменился, но принципы остались точно.
    Суть в том, что расставляются брекпоинты, ну например по потери жизни.
    Или наоборот по началу новой жизни. Далее берется пару переменных, например число здоровья и снарядов или еще чего нибудь и в снипете памяти ищутся эти данные...
    Дальше контролируете, что правильно наши еще парой попыток другими значениями.
    Это классика. но очень многие игроделы, ну очень хитровы...(кованные) и под их нетрадиционную дупу потребуется еще какой хитрый болт подобрать. А все дело в том, что они не хранят данные так, как это предполагает язык по умолчанию, придумывают свои алгоритмы.
    Если по началу в конце восьмидесятых на играх для спектрумов ограничивались ксором или подобными, затрудняющими жизнь алгоритмами, то уже к серине девяностых на пентиумах, начали извращаться по полной, кто во что горазд.
    Вплоть до того, что наиболее хитросделанные вообще хранят не данные, а их хеши, да еще и с соллью!... ;-)

    И все для того, что бы правильным пацанам, которые их хитрокод расковыривать будут, жизнь осложнить.
    Ответ написан