Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых) |
![]() |
eXeL@B —› Программирование —› странный результат |
Посл.ответ | Сообщение |
|
Создано: 18 января 2007 21:51 · Личное сообщение · #1 до выполнения команды retn 8 ecx был равен 21h после выполнения в отладчике по возвращении в высшую функцию мы имеем в ecx уже 20h .Трейсил этот цикл несколько раз он стоит на месте т.к. ecx постоянно спрыгивал на 1 вниз. потом поставил условный бряк чтоб ecx>21h и через несколько секунд!! ecx вдруг спрыгнул на 22h отлаживал IDA 5.0 под win98 w32dasm вообще в этом магическом цикле брякает токма когда счетчик достигает примерно 30000 хотя за цикл он овеличивается на один это какаято известная ошибка или чтото новое ? такто тупо думать что виновата команда retn 8 (сколко раз она повторяется в коде! не может же она каждый раз уменьшать счетчик!) ![]() |
|
Создано: 18 января 2007 23:08 · Личное сообщение · #2 |
|
Создано: 18 января 2007 23:13 · Личное сообщение · #3 |
|
Создано: 19 января 2007 01:06 · Личное сообщение · #4 |
|
Создано: 19 января 2007 02:12 · Личное сообщение · #5 StarPer пишет: о выполнения команды retn 8 ecx был равен 21h после выполнения в отладчике по возвращении в высшую функцию мы имеем в ecx уже 20h Это как? retn изменяет содержимое регистров EIP и ESP, но не общих! Либо ты что-то сильно перепутал, либо юзается SEH - при обработке исключения в Context потока меняется этот регистр, а отладчик игнорирует этот SEH. Второй способ видел довольно редко. ![]() |
|
Создано: 21 января 2007 19:01 · Личное сообщение · #6 |
![]() |
eXeL@B —› Программирование —› странный результат |
Эта тема закрыта. Ответы больше не принимаются. |