Гость Arpeks Опубликовано 24 июня, 2019 Поделиться Опубликовано 24 июня, 2019 (изменено) Вот проходил туториал CE x86, все супер с первого раза все шаги прошел, но при прохождении Туториала x64 возникли проблемы на этапе с указателями(кто го прошел прошу скиньте видео) И нав последнем 9 этапе. Его я решил методом ТЫКА))) Так как смещения в структуре почему то было по 8, а не 4 байта, из-за чего я не мог найти номер команды) Вот моё прохождение 9 этапа Объясните мне, как мог я найти этот номер команды, если я бы не знал, что оно находится под 14 смещением? Плиз, запишите видео своего прохождения и скиньте сюда. Важно: Туториал x64 ( Tutorial-x86_64.exe ) Изменено 24 июня, 2019 пользователем Arpeks Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 24 июня, 2019 Поделиться Опубликовано 24 июня, 2019 4 часа назад, Arpeks сказал: смещения в структуре почему то было по 8 4 часа назад, Arpeks сказал: при прохождении Туториала x64 Паззл все еще не сложился? Если нет, то раздели 64 на количество бит в байте (8). Ссылка на комментарий Поделиться на другие сайты Поделиться
roma912 Опубликовано 24 июня, 2019 Поделиться Опубликовано 24 июня, 2019 Насколько я видел, то ты применяешь cmp [reg+14], 1 Нужно строго указать какой размер сравнивать по типу cmp byte ptr [reg+14], (byte)1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Arpeks Опубликовано 24 июня, 2019 Поделиться Опубликовано 24 июня, 2019 Мне больше интересно, а как бы я должен был догадаться, что номер команды находится в смещении 14? В x86 туториале, там сразу видно это было, а тут-то(туториал х64) как я должен к этому прийти? Тут я взял смещение из туториала х86 и оно подошло и под х64, а как я должен был его найти сам, я так и не понял) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 25 июня, 2019 Поделиться Опубликовано 25 июня, 2019 6 часов назад, Arpeks сказал: Мне больше интересно, а как бы я должен был догадаться, что номер команды находится в смещении 14? Это косяк СЕ - иногда не правильно определяет типы. Поэтому только голова и руки. Видишь, что поинтер в Анализе структур не раскрывается - поиграй с типами. Хотя в структуре видно, что нужно брать по 4 байта. Второй вариант брать значения регистров. К примеру у наших rdx равно 2 у врагов 1. Чем не фильтр? 9 часов назад, roma91212 сказал: Насколько я видел, то ты применяешь cmp [reg+14], 1 Нужно строго указать какой размер сравнивать по типу cmp byte ptr [reg+14], (byte)1 не нужно - СЕ по умолчанию [4 байта]. А в туториале как раз 4 байта. Поэтому лично я никогда не объявляю флаг в 1 байт, чтобы не было лишней писанины. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения