|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#31
|
||||
|
||||
Нельзя вот так просто брать и на рандоме значения тыкать. Скорее всего, то, что работает от EBX - просто совпадение. Может ebx был адресом локальной переменной, может совпало с засейвенными регистрами.
Если уж изучать - надо взять нормальный дизассемблер (а не ATnT-шное поделие; например, IDA Pro до какой-то версии как дизассемблер бесплатна) и изучать код функции. Тогда все станет ясно. jmp $ ; Happy End! The Cake Is A Lie. |
#32
|
||||
|
||||
OllyDbg всегда был бесплатным, и на мой взгляд удобнее IDA-ы.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#33
|
||||
|
||||
Цитата:
Наверно да, для того что-бы разбираться - нужен дизасссемблер (которого у меня нет. Вообще-то можно скачать из инета, но не суть... Да, я им ещё и пользоваться не умею. Разбираться надо, а это время.) Я вообще-то поступил хитрее. Обращаюсь к передаваемым данным по имени (не через EBX). Но заметил что как только mov al, byte ptr [buf] или mov EAX, len. Но заметил что если изменить EBX, то "связь пропадает". Из чего и сделал вывод что EBX это указатель не данные в стэке. Ну не может быть, что если обращаешься по имени, то компилятор понимает неверно. Или я не прав? Последний раз редактировалось vvvch, 12.03.2013 в 22:11. |
#34
|
|||
|
|||
Если сравнить скорость Modbus'а и скорость процессора компьютера, то станет ясно, что паскаля достаточно и не нужен никакой ассемблер.
|