Сейчас на форуме: (+8 невидимых) |
eXeL@B —› Вопросы новичков —› Нахождение(создание) свободной области |
Посл.ответ | Сообщение |
|
Создано: 21 октября 2013 17:01 · Личное сообщение · #1 Добрый день. Подскажите, как в OllyDbg можно создать пустую область или найти ее программным методом? Есть программа и нужно сделать переход в пустую область, дам выполнить нужный мне код и вернуться обратно. Места на мой код не хватает в исходном расположении нужного мне участка и надо создать где то в отдельном месте, не повредив при этом программу. Надеюсь вы поймете то, что я настрочил)) Спасибо |
|
Создано: 21 октября 2013 17:05 · Личное сообщение · #2 skew, создай секцию. Делается это легко: обнуляешь в LordPE Bound Imports, создаешь заголовок секции, назначаешь ей нужные атрибуты, затем расширяешь при помощи хекс-редактора файлик на размер секции. Всё, осталось только исправить EntryPoint (тем же LordPE). ----- Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей. |
|
Создано: 21 октября 2013 17:53 · Личное сообщение · #3 Crawler К чему столько много непонятных телодвижений? CFF Explorer -> Section Headers -> Add Section (Empty Space) | Сообщение посчитали полезным: Dr0p |
|
Создано: 21 октября 2013 20:42 · Личное сообщение · #4 |
|
Создано: 21 октября 2013 21:17 · Личное сообщение · #5 |
|
Создано: 21 октября 2013 21:56 · Личное сообщение · #6 |
|
Создано: 21 октября 2013 22:52 · Личное сообщение · #7 |
|
Создано: 21 октября 2013 23:03 · Личное сообщение · #8 |
|
Создано: 11 ноября 2013 13:18 · Личное сообщение · #9 |
|
Создано: 11 ноября 2013 14:36 · Личное сообщение · #10 |
|
Создано: 11 ноября 2013 15:10 · Поправил: Crawler · Личное сообщение · #11 JKornev, а ты подумай. Структуру PE представляешь? Если заявлена bound-таблица, загрузчик будет ее использовать. А если ты затрешь ее при добавлении секции, но не обнулишь поле BoundImports, то получится полное говно. Либо пересчитывай и двигай таблички, либо, что наиболее легко и логично, просто обнуляй. ----- Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей. | Сообщение посчитали полезным: JKornev |
|
Создано: 11 ноября 2013 17:46 · Поправил: JKornev · Личное сообщение · #12 |
|
Создано: 12 ноября 2013 13:36 · Поправил: Dr0p · Личное сообщение · #13 > как в OllyDbg можно создать пустую область или найти ее программным методом? Пустую область где и с какими атрибутами ? RWE ? Обычно W и E не совместимы. Абсолютно не понятный вопрос. Ваш код как то где то откуда то выполянется, значит это лодер, не иначе. В таком случае нет смысла искать пустое место в секциях. Имхо бред полнейший. |
|
Создано: 12 ноября 2013 18:41 · Поправил: ajax · Личное сообщение · #14 Dr0p пишет: Обычно W и E не совместимы почему? в старые-старые времена, кодя всякие мемпатчеры на XP, тупо не задумывался о восстановлении аттрибутов. все пахало. сейчас, естественно, возвращаю взад. на вин7-8 началось огребание проблем? ps: стоп. а тот же upx? hiew: UPX0 xxx xxx xxx xxx E0000080 Crawler пишет: Ок, создай секцию и запусти файл. Посмотрим, отработает ли он))) пистелли где-то накосячил? у меня работало. но, не уверен, что руками до ума не доводил что-нибудь ----- От многой мудрости много скорби, и умножающий знание умножает печаль |
|
Создано: 12 ноября 2013 22:14 · Поправил: dosprog · Личное сообщение · #15 |
|
Создано: 14 ноября 2013 13:04 · Поправил: Dr0p · Личное сообщение · #16 ajax У меня уже давно идея(на руткитсах обсуждалось) созрела по выпиливанью патчей на x86. Заокнчу текущие прожекты, займусь вплотную этим. Вся малварь будет даже в самом принципе выпилена. Конечно и легал софт тоже. Но нормальный софт не должен кодосекции писать, если он пишет, значит он малварь. Если бы я был авером, то любую попытку изменения даных в RE секциях сразу блочил, даже попытку открыть запись. Можно чучуть поправить мап секций(даже в юзермоде, зачем лишний раз в ядро лазать, типо как EMET; я это в крякме капче заюзал), чтобы далее нельзя было из юзермода в них писать. Хотя признаюсь - у меня в опциях линкера установлен RWE для кода, но это сугубо в целях упрощения дебага. |
|
Создано: 14 ноября 2013 14:19 · Личное сообщение · #17 |
|
Создано: 14 ноября 2013 14:23 · Поправил: Dr0p · Личное сообщение · #18 TryAga1n Пусть выделяют буфер и там исполняют код. Или виртуализируют. Стопицот есть способов. На стеке например код исполняться не должен. Так же и переменных в RE памяти быть не должно. А школота, которая крипторы пищет даже общих концептов защиты не понимает. Они и в ядре до сих пор Cr3.WP сбрасывают. А за это нужно руки отрезать. Да и вообще, RWE память это потенциальная дырка. Если переменные исполняемые, их можно изменить и выполнить. Вот свежак http://yadi.sk/d/X5i3wXE3CXtFu но на старших версиях системы не заведётся и всё благодаря RE -> R памяти. | Сообщение посчитали полезным: TryAga1n |
eXeL@B —› Вопросы новичков —› Нахождение(создание) свободной области |