![]() |
eXeL@B —› Вопросы новичков —› ошибка вывода, OllyDbg |
Посл.ответ | Сообщение |
|
Создано: 28 августа 2011 18:11 · Личное сообщение · #1 Подскажите как это решить, поставил бряк bpx MessageBoxA через плагин cmdbar310109c и ольга не показывает функцию в стеке и адресс возврата а токо её параметры. вот скрин ![]() ![]() |
|
Создано: 28 августа 2011 19:34 · Личное сообщение · #2 |
|
Создано: 28 августа 2011 19:42 · Поправил: opcodes · Личное сообщение · #3 |
|
Создано: 28 августа 2011 19:59 · Поправил: daFix · Личное сообщение · #4 |
|
Создано: 28 августа 2011 20:07 · Поправил: Kiev78 · Личное сообщение · #5 |
|
Создано: 28 августа 2011 20:11 · Поправил: DenCoder · Личное сообщение · #6 |
|
Создано: 28 августа 2011 20:27 · Поправил: daFix · Личное сообщение · #7 Kiev78 ![]() DenCoder пишет: В общем случае адрес возврата ничего не даст, нужно искать строку в памяти и хард бряк на акцесс. Если не работает - NtSetThreadContext перехватить, например ;) Вспомнилась фраза из нуждиков - Дорогой, ты где был? - Стрелял по лягушкам в Германии лазером из космоса со спутника! - Странно, но травой не пахнет. - Дура, я под lsd. У чувака какой-то простой крякми и он явно по тутору для новичков его решает ----- Research For Food ![]() |
|
Создано: 28 августа 2011 21:18 · Поправил: bowrouco · Личное сообщение · #8 |
|
Создано: 28 августа 2011 21:19 · Личное сообщение · #9 |
|
Создано: 28 августа 2011 21:55 · Поправил: daFix · Личное сообщение · #10 bowrouco пишет: [12fe58] это адрес возврата(до ветвления на апи) Не путайте людей. EIP чувака стоит на комманде call MessageBoxA, поэтому анализ параметров прошёл, но адреса возврата в стеке ещё нету bowrouco пишет: О чём это вы ? NtSetThreadContext - распространённый метод затирания хардварных бряков, через которые Ден предлагает ставить бряк на память ----- Research For Food ![]() |
|
Создано: 28 августа 2011 21:58 · Личное сообщение · #11 |
|
Создано: 28 августа 2011 22:01 · Личное сообщение · #12 daFix > EIP чувака стоит на комманде call MessageBoxA.. Я про то и говорю. Брейк сработал до ветвления(колл это процедурное ветвление). > NtSetThreadContext - распространённый метод затирания хардварных вряков.. И что с того. Ну есть есчо NtContinue, NtRaiseException и NtCallbackReturn. Причём тут загрузка Dr-контекста ? ![]() |
|
Создано: 28 августа 2011 22:11 · Личное сообщение · #13 bowrouco daFix пишет: через которые Ден предлагает ставить бряк на память Вчитайтесь в эту фразу bowrouco пишет: [12fe58] это адрес возврата(до ветвления на апи) Ни какого ветвления на API тут ещё не произошло. Тут произошёл call на функцию, КОТОРАЯ уже в свою очередь, вызвала API. Хватит офтопить ----- Research For Food ![]() |
|
Создано: 28 августа 2011 22:24 · Поправил: bowrouco · Личное сообщение · #14 daFix offtop: Стыдно товарищи, очень стыдно http://exelab.ru/faq/SFC Оказывается вы не знаете что такое ветвление. Jmp - безусловное, Call - процедурное, Jcc - условное, Call [] - косвенное процедурное условное, Jmp [] - косвенное условное ветвления. Условие не только кстати определяется значением флагов, просто к сведению, так как это мало кто нонимает. ![]() |
|
Создано: 28 августа 2011 23:07 · Личное сообщение · #15 |
|
Создано: 28 августа 2011 23:15 · Личное сообщение · #16 bowrouco в стеке лежат 4 параметра для надвигающегося вызова. О каком стыде вы говорите - понять не удалось ни мне, ни daFix. [12fe58] тут лежит (в предположении, что олька не ошиблась с анализом вызовов) адрес возврата из текущей функции. А сейчас eip указывает примерно на такое место: push xxx push yyy push zzz push aaa call bbb где xxx, yyy, zzz, aaa это те параметры, которые уже лежат в стеке (на самой верхушке), а bbb это функция, которой эти параметры предназначаются. Судя по всему eip сейчас указывает в код приложения (не в системную dll). opcodes Чтобы не возникало подобных споров и можно было сразу тыкать ![]() |
|
Создано: 28 августа 2011 23:24 · Личное сообщение · #17 |
|
Создано: 28 августа 2011 23:44 · Поправил: bowrouco · Личное сообщение · #18 |
|
Создано: 29 августа 2011 00:02 · Поправил: daFix · Личное сообщение · #19 bowrouco Может быть стоит остановиться? http://www.wasm.ru/pub/23/pic/ollydbg09/25.png На момент создания первого поста, EIP у ТС было 4013BC. Ни какого ветвления в функцию, о котором вы так усердно тут глаголите, небыло. Учите мат.часть перед началом спора. А по адресу 12FE6C скорее всего лежит мусор, который получился изза выделения стекового места под функцию, так как стек задирается и в него попадает мусор не отчищенный после его использования другими частями кода Клерк, ты что-ли?? Модерам - согласен на бан ![]() ----- Research For Food ![]() |
|
Создано: 29 августа 2011 00:07 · Личное сообщение · #20 |
|
Создано: 29 августа 2011 00:21 · Личное сообщение · #21 проблема была решена уже на 4,5 посте от начала темы, и думаю эта проблема не заслуживала перековыривания всей программы.. ответ был прост: Точка останова встала на call'e MessageBoxA но не выполнила его. А в стек попали только 4 процедуры API функции.. а если бы выполнила то вылезло бы сообщение MessageBoxA'a а это как вы понимаете было бы нерентабельно. ![]() нужно было мне просто выложить полный скрин в проблемном месте. ![]() |
|
Создано: 29 августа 2011 10:47 · Личное сообщение · #22 |
![]() |
eXeL@B —› Вопросы новичков —› ошибка вывода, OllyDbg |