Сейчас на форуме: (+7 невидимых)

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

Ранг: 10.7 (новичок), 2thx
Активность: 0.060
Статус: Участник

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

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

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

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

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

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

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

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




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 22 мая 2014 01:58 · Поправил: -=AkaBOSS=-
· Личное сообщение · #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, и внедрить хук/поставить патч по нужному адресу



Ранг: 80.6 (постоянный), 194thx
Активность: 0.10.04
Статус: Участник

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

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


b0r3d0m пишет:
Windows 8.


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


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




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

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

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

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


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



Ранг: 10.7 (новичок), 2thx
Активность: 0.060
Статус: Участник

Создано: 22 мая 2014 10:08
· Личное сообщение · #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? Можете посоветовать какой-нибудь годный материал на тему, пожалуйста?




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

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

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

как вариант

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

ВОТ ТУТ есть кое-что интересное


 eXeL@B —› Вопросы новичков —› Не могу пропатчить rundll32.exe -- не вижу функций для работы с реестром
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати