Первое, что я делаю в таких случаях -- дизассемблирую код ф-ии "вокруг" eip на момент падения. Обычно все сразу встает на свои места.
diamond О, спасибо. Очень полезно почитать.
Для гибкости, как я понимаю. Т.е. чтобы можно было экспортировать первую ф-ию под номером 200, например.
Rel Насчет Ordinal и прочего: http://msdn.microsoft.com/en-us/library/ms809762.aspx Ordinal нужен лишь для того, чтобы скрыть имя...
Ну и кроме того, если нужно по номеру импортировать, то не забываем BaseOfOrdinals прибавить.
Не обратил сразу внимания: return (PVOID)((DWORD)hModule + FuncAdr[FuncOrd[t]]); Зачем FuncOrd? Должно же быть return (PVOID)((DWORD)hModule +...
((DWORD)hModule + pExport->AddressOfNames); Вероятно, имелось в виду: ((PBYTE)hModule + pExport->AddressOfNames); ?
Я не очень понял ситуацию и сильно не уверен, что изменение байтов в программе может помочь, но как поменять байты скажу: 1. Берем виртуальный...
Так, ну там, конечно, в коде должно быть 'do_something0, do_something1'. Редактирование бы вернуть...
Когда значения switch/case идут подряд, компилятор может использовать таблицу переходов. Например, для такого кода: switch(var) { case 0:...
Sol_Ksacap Поздновато, конечно, но все же интересно: что я сделал не так? Прочитал статью, все верно, кроме утверждения, что 32 байта отводятся...
IDT находится в загруженном сегменте? Есть ли страничное преобразование и если есть, то есть ли отображение для IDT? Что говорит Bochs?
Имена находятся в таблице символов (.symtab). Находим секцию с типом SHT_SYMTAB, разбираем ее и получаем символы. Секция .symtab состоит из...
Serg50 gcc так любит делать.
Не использую потому, что в *nix этих ф-ий нет, а дизассемблер должен работать как в Win, так и в *nix. Вообще, у меня Unicode зависит только от...
Ну так резервировать надо больше, скажем, на 16 байт. В чем проблема-то?
Зачем callback? Я проверяю длину инструкции всякий раз после считывания ее части, чтобы длина не превышала 15 байт. Можно сделать эту проверку до...
Clerk Как ты это себе представляешь (в общем)? x64 Завтра вечером. luckysundog Да. В разделе "Немного мыслей о дизассемблировании" немного...
Мое почтение всем. Довольно давно пишу дизассемблер, наконец-то есть что показать. Т.к. справка слишком большая для одного поста, подробнее...
Это зависит от того, в чьем адресном пространстве происходит перехват. Если dll внедрена в адресное пространство целевого процесса, то поиск будет...
Имена участников (разделяйте запятой).