eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Не могу пропатчить rundll32.exe -- не вижу функций для работы с реестром
Посл.ответ Сообщение

Ранг: 10.7 (новичок)
Статус: Участник

Создано: 22 мая 2014 01:10 · Поправил: b0r3d0m New!
Цитата · Личное сообщение · #1

Приветствую.

Я новичок в подобных вещах, поэтому мой вопрос, скорее всего, покажется Вам довольно глупым.

Суть такова -- необходимо пропатчить rundll32.exe таким образом, чтобы он сохранял историю ранее выполненных команд в реестре под другими именами, а также не сохранял бы значение, если команда в итоге так и не была выполнена.

Казалось бы, задача проста -- находим место в коде, где происходит сохранение значения в реестр, и добавляем свои инструкции с соответствующими действиями. На деле же всё не так просто, как кажется...

Открыл rundll32.exe в OllyDbg v2.0.1, нажал Ctrl-N и, к удивлению, не обнаружил там ни одной из WinAPI-функций, предназначенных для работы с реестром. Но ведь на самом деле история команд хранится именно в нём (обсуждалось, например, тут). Как это понять?

Исполняемый файл rundll32.exe был взят из Windows 8.

Заранее благодарю за возможные ответы.


Ранг: 147.4 (ветеран)
Статус: Участник

Создано: 22 мая 2014 01:58 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #2

b0r3d0m
вы что-то напутали

по вашей ссылке обсуждается, где сохраняются команды, исполненные через "Пуск->Выполнить", что не имеет никакого отношения к rundll32, который используется для вызова функций из библиотек, и никуда не сохраняет свою командную строку

что конкретно вас интересует? если команды из "Пуск->Выполнить" - то этот диалог находится в файле shell32.dll, и нужно копать под его создание и обработку сообщений

//добавлено позднее:

у меня, например, создание диалога висит в экспортируемой по ординалу функции shell32_61, но у меня другая ось)

если интересует именно процесс чтения из ветки "HKCU\Microsoft\Windows\Current Version\Explorer\RunMRU", тогда лучше посмотреть в функции shlwapi.SHAutoComplete и comctl32.CreateMRUListW

v00doo пишет:
Тогда патчить файл в системе нельзя или привет синий экран, в win 8 проверка цифровой подписи файла shell32.dll.

но можно прогрузить свою либу в процесс explorer.exe, и внедрить хук/поставить патч по нужному адресу

Ранг: 77.9 (постоянный)
Статус: Участник

Создано: 22 мая 2014 02:29 · Поправил: v00doo New!
Цитата · Личное сообщение · #3

b0r3d0m пишет:
необходимо пропатчить


b0r3d0m пишет:
Windows 8.


-=AkaBOSS=- пишет:
диалог находится в файле shell32.dll, и нужно копать под его создание и обработку сообщений


Тогда патчить файл в системе нельзя или привет синий экран, в win 8 проверка цифровой подписи файла shell32.dll.


Ранг: 1111.5 (!!!!)
Статус: Участник

Создано: 22 мая 2014 03:11 New!
Цитата · Личное сообщение · #4

тут до патча, как до луны - у ТС каша вместо тех.задания.

b0r3d0m пишет:
необходимо пропатчить rundll32.exe таким образом, чтобы он сохранял историю ранее выполненных команд в реестре под другими именами, а также не сохранял бы значение, если команда в итоге так и не была выполнена


по первой части можно предположить, что человеку нужно мониторить regedit. Но дальше начинается мрак. Что за другие имена, что за команды, для чего это все нужно...

Ранг: 10.7 (новичок)
Статус: Участник

Создано: 22 мая 2014 10:08 New!
Цитата · Личное сообщение · #5

-=AkaBOSS=- пишет:
что конкретно вас интересует? если команды из "Пуск->Выполнить" - то этот диалог находится в файле shell32.dll, и нужно копать под его создание и обработку сообщений

Точно. Прошу прощения, по первым ссылкам из Google'а по поводу названия исполняемого файла, который отвечает за появление диалогового окна "Run", обратил внимание лишь на run32dll.exe, но не дочитал до конца. Там было сказано "run32dll.exe shell32.dll,#61".

-=AkaBOSS=- пишет:
у меня, например, создание диалога висит в экспортируемой по ординалу функции shell32_61, но у меня другая ось)

Да, у меня тоже.

v00doo пишет:
Тогда патчить файл в системе нельзя или привет синий экран, в win 8 проверка цифровой подписи файла shell32.dll.

Спасибо большое, что предупредили, не знал. Делал, правда, итак в виртуальной машине, но всё же.

Gideon Vi пишет:
у ТС каша вместо тех.задания.

Да, извиняюсь, ошибся.

Gideon Vi пишет:
по первой части можно предположить, что человеку нужно мониторить regedit

Да, одну конкретную ветку, которая обрабатывается диалоговым окном "Run".

Gideon Vi пишет:
Что за другие имена, что за команды, для чего это все нужно...

Дальше я просто ошибся, спасибо всем большое за разъяснения.

-=AkaBOSS=- пишет:
но можно прогрузить свою либу в процесс explorer.exe, и внедрить хук/поставить патч по нужному адресу

Через что? CreateRemoteThread / LoadLibrary? Можете посоветовать какой-нибудь годный материал на тему, пожалуйста?


Ранг: 147.4 (ветеран)
Статус: Участник

Создано: 22 мая 2014 13:35 New!
Цитата · Личное сообщение · #6

b0r3d0m пишет:
Через что? CreateRemoteThread / LoadLibrary?

как вариант

b0r3d0m пишет:
Можете посоветовать какой-нибудь годный материал на тему, пожалуйста?

ВОТ ТУТ есть кое-что интересное
 eXeL@B —› Вопросы новичков —› Не могу пропатчить rundll32.exe -- не вижу функций для работы с реестром

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS