|
|
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Столкнулся с тем, что в x64 приложении (не моем) стало возникать загадочное AV. Предположительно моя dll (плагин к не моему приложению) является причиной. Радует то, что AV всегда возникает в одном и том же месте. Дебагер показывает, что AV происходит на строке call qword ptr [rel 0006ed57]. Предполагаю, что 0006ed57 - это какое нибудь смещение в какой нибудь таблица экспорта, а моя dll портит эту таблицу. В момент AV в стеке вызовов моей dll нет. Собственно вопрос к знатокам ассемблера - что такое rel 0006ed57, как мне рассчитать адрес в памяти, где лежит реальный адрес, который будет использоваться для вызова подпрограммы. И можно ли поставить в Delphi breakpoint на изменение памяти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 11:50 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
https://www.gunsmoker.ru/2018/05/random-crashes.html Почитай, возможно, это как раз твой случай. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 11:59 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПочитай, возможно, это как раз твой случай.Спасибо, я это читал, случай мой, но мне нужно понять, что именно я порчу, что бы искать место, где я это порчу. Собственно вопрос именно об определении того, что я порчу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 12:03 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Aniskin, рекомендую включить range check, buffer overflow для начала. также можно воспользоваться EurekaLog с включенным расширенным менеджером памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 12:25 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
makhaonрекомендуюСделал это еще до написания поста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 12:29 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Aniskinмне нужно понять, что именно я порчу, что бы искать место, где я это порчу Это в статье тоже написано. Можешь также воспользоваться DrMemory. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 12:48 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭто в статье тоже написано. (Меня несколько удивляют подобные ответы.) Статья, безусловно, очень хорошая, но метод исследования не применим к моей ситуации. Я задал лишь один вопрос - что такое rel 0006ed57, как мне рассчитать адрес в памяти, где лежит реальный адрес, который будет использоваться для вызова подпрограммы. Это все, что мне нужно знать на данном этапе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 12:58 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
AniskinЯ задал лишь один вопрос - что такое rel 0006ed57, как мне рассчитать адрес в памяти, где лежит реальный адрес, который будет использоваться для вызова подпрограммы. Это все, что мне нужно знать на данном этапе. Боже ж ты мой... Какой широтой знания надо обладать, чтобы предположить, что "rel" это сокращение от "relative" и нагуглить, что указанное смещение прибавляется к адресу инструкции, следующей за call?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 13:03 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov"rel" это сокращение от "relative"До этого я догадался, спасибо за подтверждение. Dimitry Sibiryakovнагуглить,Гуглил по запросу "call qword ptr rel", не нашел. Если ткнешь в конкретную ссылку, скажу спасибо. Dimitry Sibiryakovчто указанное смещение прибавляется к адресу инструкции, следующей за callСпасибо за пояснение, вот этого я и ждал, а не пространных комментариев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 13:09 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
AniskinГуглил по запросу "call qword ptr rel", не нашел. Чтобы естественный интеллект победил искусственный надо гуглить asm call "rel" именно так, с кавычками. Первая ссылка. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 13:21 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Мое предположение оказалось не верным, содержимое памяти rel 0006ed57 не портится. Исключение возникает в user32.dll где то внутри функции UserCallWinProcCheckWow. Стек выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Сразу после загрузки моей dll в DebugOutput есть следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Поделитесь любыми, даже самыми странными идеями, из за чего такое может быть и как такое в принципе можно победить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 16:35 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Используй уже DrMemory. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2018, 18:12 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
AniskinМое предположение оказалось не верным, содержимое памяти rel 0006ed57 не портится. Исключение возникает в user32.dll где то внутри функции UserCallWinProcCheckWow. Стек выглядит так: Код: plaintext 1. 2. 3. Поделитесь любыми, даже самыми странными идеями, из за чего такое может быть https://stackoverflow.com/questions/5138156/access-violation-exception-in-64bit-mfc-version ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2018, 15:17 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
Aniskin, у меня вылетало AV, когда я в DLL работал с ActiveX и при освобождении DLL в ней не дожидался полного завершения работы этих ActiveX объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2018, 18:14 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
авторException thrown at 0x0000000009170FD8 in explorer.exe: 0xC0000005: Access violation executing location 0x0000000009170FD8 0000000009170fd8() Unknown > user32.dll!UserCallWinProcCheckWow() Unknown Судя по данным, у вас передача управления на мусор при вызове оконной процедуры. Вероятнее всего, испорчен адрес оконной процедуры. Посмотрите, что лежит в RSP. Предположительно там будет указатель на указатель адреса возврата. Найдите этот вызов (в user32). Вероятнее всего, он будет опосредованный. Посмотрите откуда читается смещение или указатель для вызова. Посмотрите, что по этой памяти лежит. Перезапускайтесь и ставьте туды бряк на данные. Ждите, пока бряк сработает. Повторить по необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2018, 22:54 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
GunSmokerСудя по данным, у вас передача управления на мусор при вызове оконной процедуры. Вероятнее всего, испорчен адрес оконной процедуры. Посмотрите, что лежит в RSP. Предположительно там будет указатель на указатель адреса возврата. Найдите этот вызов (в user32). Вероятнее всего, он будет опосредованный. Посмотрите откуда читается смещение или указатель для вызова. Посмотрите, что по этой памяти лежит. Перезапускайтесь и ставьте туды бряк на данные. Ждите, пока бряк сработает. Повторить по необходимости. Спасибо за подробный алгоритм. Буду пробовать. Тут я чуть подробнее описал контекст проблемы - может быть еще какие нибудь идеи будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2018, 23:43 |
|
||
|
AV в команде call qword ptr [rel NNN]
|
|||
|---|---|---|---|
|
#18+
GunSmokerСудя по данным, у вас передача управления на мусор при вызове оконной процедуры. Вероятнее всего, испорчен адрес оконной процедуры.У вас, как я понимаю, очень большой опыт расследования подобных инцидентов. Скажите, будет ли вам интересно расследовать мой случай на коммерческой основе? Можно оттолкнутся от цен Microsoft - они берут $250 за инцидент. Или сами назовите стоимость вашего времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2018, 22:39 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=100&tid=2040552]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 378ms |

| 0 / 0 |
