Перейти к содержанию
Arpeks

Недопонимание в анализе структур CE

Рекомендуемые сообщения

Вот проходил туториал CE x86, все супер с первого раза все шаги прошел, но при прохождении Туториала x64 возникли проблемы на этапе с указателями(кто го прошел прошу скиньте видео)

И нав последнем 9 этапе.

Его я решил методом ТЫКА)))

Так как смещения в структуре почему то было по 8, а не 4 байта, из-за чего я не мог найти номер команды)

Вот моё прохождение 9 этапа

Объясните мне, как мог я найти этот номер команды, если я бы не знал, что оно находится под 14 смещением?

Плиз, запишите видео своего прохождения и скиньте сюда.

Важно: Туториал x64 ( Tutorial-x86_64.exe )

Изменено пользователем Arpeks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, Arpeks сказал:

смещения в структуре почему то было по 8

 

4 часа назад, Arpeks сказал:

при прохождении Туториала x64

 

Паззл все еще не сложился? Если нет, то раздели 64 на количество бит в байте (8).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я видел, то ты применяешь cmp [reg+14], 1
Нужно строго указать какой размер сравнивать по типу cmp byte ptr [reg+14], (byte)1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне больше интересно, а как бы я должен был догадаться, что номер команды находится в смещении 14?

В x86 туториале, там сразу видно это было, а тут-то(туториал х64) как я должен к этому прийти?

 

Тут я взял смещение из туториала х86 и оно подошло и под х64, а как я должен был его найти сам, я так и не понял)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, Arpeks сказал:

Мне больше интересно, а как бы я должен был догадаться, что номер команды находится в смещении 14?

Это косяк СЕ - иногда не правильно определяет типы.
Поэтому только голова и руки. 
Видишь, что поинтер в Анализе структур не раскрывается - поиграй с типами.

Хотя в структуре видно, что нужно брать по 4 байта.

 

Второй вариант брать значения регистров. К примеру у наших rdx равно 2 у врагов 1. Чем не фильтр?
 

9 часов назад, roma91212 сказал:

Насколько я видел, то ты применяешь cmp [reg+14], 1
Нужно строго указать какой размер сравнивать по типу cmp byte ptr [reg+14], (byte)1

не нужно - СЕ по умолчанию [4 байта]. А в туториале как раз 4 байта. Поэтому лично я никогда не объявляю флаг в 1 байт, чтобы не было лишней писанины.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.