На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
  
> Перехват и подмена зеачений реестра в чужом приложении
Нужно в одной программе перехватывать обращения к реестру и подменять данные на свои.
По сути это касается серийного номера диска, т.е. ветки HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Ищу примеры или либы, само собой free.
Есть чё?
Кто рано встает, тому целый день спать хочется
Krid Гуглом я тоже пользоваться умею и все кийворды по данной теме тоже знаю, но от этого пользы никакой.
Тонны исходников по теме внедрения в чужой процесс и перехвата с подменой не работают в новых форточках.
Как я пониманию данная тема под Delphi табуированна, видимо расчитывать можно только на то что кто-то поделится.
Цитата Jiro @
данная тема под Delphi

Данная тема под Delphi ничем не отличается от данной темы под что угодно. Поэтому не обязательно искать прям готовую реализацию.
Цитата Jiro @
Тонны исходников по теме внедрения в чужой процесс и перехвата с подменой не работают в новых форточках.

А вот это надо было сказать сразу, чтобы все понимали, что ты уже сделал для поиска решения и в чем конкретно затруднение
Codero ergo sum
// Программирую — значит, существую
Fr0sT
Ну если конкретно то не работает injection, то-ли он в новых версиях Win 10 x64 реализуется только через драйвер, то ли ещё что-то там.
Есть всякие платные решения, типа madshi (очень дорого), smalldonkey (закрылся), SwiPE($200-$450 как бы тоже не особо дёшего). Других не нашёл.

Вобще если есть у кого контакт с аffтором smalldonkey я бы ему черканул, помню он обещал дать свою игрушку если понадобится, правда без исходников.
Цитата Jiro @
Ну если конкретно то не работает injection, то-ли он в новых версиях Win 10 x64 реализуется только через драйвер, то ли ещё что-то там.

У меня сейчас нет win10 никакой.
Давай я дам тебе приложение (dllinjector) + dll (x86/x64) для примера, попробуем - будет работать или нет ?
----
Так, я нашёл комп с установленной WIN10 x64.
Инжекция и перехват устойчиво работают.
Для варианта x86, и для варианта x64 под системой x64.
Никаких отличий от win7,8 не обнаружено.
Административные привилегии не требуются.
----
Есть только одно ограничение - некоторые антивирусы (DrWeb) считают такие
действия "опасными" и препятствуют таким мероприятиям.
В этом случае надо крутить настройки антивируса.
Сообщение отредактировано: ЫукпШ -
Подпись была выключена в связи с наложенным заземлением.
ЫукпШ
Только сегодня зашёл. А где посмотреть ? на антивирусы пофиг.
Странно, невозможно приаттачить файл 450К. Это у всех так ? :huh:
Всё-таки сейчас не 1995 год, когда 450К считались значительным размером.

Вот ссылка, попробуй работает или нет ?
dllInjector.7z
Сообщение отредактировано: ЫукпШ -
Подпись была выключена в связи с наложенным заземлением.
ЫукпШ
Пока не тестил, просто хочу прояснить один момент.
А сорсы то есть или предполагается то что я буду каждый раз запускать чужой dllinjector.exe?
Цитата Jiro @
А сорсы то есть или предполагается то что я буду каждый раз запускать чужой dllinjector.exe?

1. Jiro, это всё написал я сам, исходники все есть. Всё на С++,
я начал писать в тему только после упоминания о драйверах..
2. Перехват winapi выполнен почти точно по Рихтеру, исходники
имеются прямо в тексте его книги и на прилагающемся к книге CD.
Эта тема у Рихтера подробно разобрана.
Однако я не стал тупо использовать чужие исходники, а пользовался книгой
как руководством. Писал сам из своих представлений, как лучше.
Скрытый текст

Насколько я понимаю, перехват WinApi заменой адреса в таблице импорта - штатное
средство отладки Виндус. Для этих мероприятий используется Виндусовая dll "dbghelp.dll".

3. Не понятно, что именно тебе нужно.
Если надо исследовать и отладить множество приложений, удобнее dllInjector.
Однако, не всегда возможно его использовать.
Наприер, прицепиться к службе, вероятно, так не удасться никак.
Как я понял, тебе нужно изменить работу одного чужого приложения,
изменяя результат чтения реестра. Для этого DllInjector не удобен
и не нужен.

Делаем так:
- пишем dll перехвата по-Рихтеру. Или как хочешь по другому.
- Ищем и качаем утилиту "IIDKing". Эта утилита добавляет
ссылку на твою dll в любой указанный исполнимый модуль (в таблицу импорта).
- Всё. Твоя dll законный участник подсудимого процесса.
- Из DLL_PROCESS_ATTACH делаем перехват.
Сообщение отредактировано: ЫукпШ -
Подпись была выключена в связи с наложенным заземлением.
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,1116 ]   [ 20 queries used ]   [ Generated: 11.12.17, 03:55 GMT ]