Гость Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 Доброго всем Наткнулся на такую инструкцию: mov [ecx+ebp*8],edxСобственно, ищу указатель на адрес, и напоролся на этого "зверя". Как узнать, какой именно здесь указатель?8 или нужно сложить ecx и ebp и умножить на 8? Или как?P.S.Да, знаю что можно через АА скрипт сделать, и не париться. Но не хочется, так сказать, терять "сноровки" в других методах взлома, и хочется узнать что-то новое Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 1. Я уже в какой-то из тем писал, что такие инструкции чаще всего встречаются при переборе элементов массива. Но это, конечно, не факт, что в данном случае оно так.2. По правилам математики, умножение обладает более высоким приоритетом, следовательно, в данном случае в ecx лежит "база", а ebp*8 - это смещение. То есть, получается, что в ecx - адрес первого элемента массива, в ebp - индекс текущего элемента массива, а 8 - это размер одного элемента массива.3. Что нужно сделать? Нужно отследить состояние регистра ebp в момент выполнения и затем умножить его содержимое на 8. Тогда и получится "база" (ecx) + смещение (ebp*8).Надеюсь, понятно объяснил. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 16 февраля, 2014 Поделиться Опубликовано 16 февраля, 2014 Да, все совпало. Спасибо большое Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения