Змінюй хід війни! Допомагай ЗСУ!

Из С+ в Delphi, Требуется небольшая помощь

🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Статус: Offline
Реєстрація: 22.08.2009
Повідом.: 38
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #1
Из С+ в Delphi, Требуется небольшая помощь

Есть кусок программы, написанный на С++. Помогите написать такой же на Delphi.

Нам нужно найти в памяти kernelbase.dll, просканировать таблицу импорта, найти адрес импортируемой функции CsrClientCallServer и подменить его новым указателем на заранее подготовленную функцию CsrClientCallServer, которая всегда будет возвращать «успех».

Код:
ULONG NewCsrClientCallServer(PVOID Arg1, PVOID Arg2, ULONG Arg3, ULONG Arg4)
{
       *( DWORD *)(( BYTE *)Arg1 + 0x20 ) = 0;
       return 0; 
}

...
DWORD ImportAddress, OriginalCsrClientCallServer, OldProtect;
  ImportAddress = GetImportAddressFromIat(GetModuleHandle("kernelbase.dll"), "CsrClientCallServer");
  VirtualProtect(( VOID *) ImportAddress, sizeof(DWORD), PAGE_EXECUTE_READWRITE, &OldProtect);
  OriginalCsrClientCallServer = *(DWORD*)ImportAddress;
  *(DWORD*)ImportAddress=(DWORD)NewCsrClientCallServer;
...
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #2
:рл:
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #3
Прямо дискуссия какае-то
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #4
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #5
зачем тебе нужно перехватывать CsrClientCallServer? трояна чтоли на Delphi пишешь?
Троян на Делфи ? Тышо ... нет конечно. Я хочу таким способом проинжектиться к процессу в windows 7. А это цитаты с статьи, которую я нашел.
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #6
Я хочу таким способом проинжектиться к процессу в windows 7. А это цитаты с статьи, которую я нашел.

:cranky::рл:

Это как лечить зуб через задницу, с помощью отбойного молотка.

Для указанной задачи есть OpenProcess/VirtualAllocEx/WriteProcessMemory/CreateRemoteThread, есть хуки, и еще дохуя разных способов. Но такого извращенного я еще не встречал :D

Ты в курсе что параметры функции которую ты пытаешься перехватить зависят даже от билда операционной системы?
 
Останнє редагування:
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #7
тогда уж cbuilder бери - как минимум родной для таких штук С++
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #8
Это как лечить зуб через задницу, с помощью отбойного молотка.

Для указанной задачи есть OpenProcess/VirtualAllocEx/WriteProcessMemory/CreateRemoteThread, есть хуки, и еще дохуя разных способов. Но такого извращенного я еще не встречал

Ты в курсе что параметры функции которую ты пытаешься перехватить зависят даже от билда операционной системы?
К сожалению те функции, которые были описаны не подходят для решения данной задачи, т.к. они не работают в висте и семерке (точнее работают, но функция "CsrClientCallServer" проверяет процесс чужой или свой. и если процесс чужой - то инжекта не происходит. можно инжектиться только в свой процесс с помощью этих функций). А про параметры функции - это уже отдельный разговор, который не представляет никакой проблемы.

тогда уж cbuilder бери - как минимум родной для таких штук С++
пока это самый лучший предложенный вариант
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #9
К сожалению те функции, которые были описаны не подходят для решения данной задачи, т.к. они не работают в висте и семерке (точнее работают, но функция "CsrClientCallServer" проверяет процесс чужой или свой. и если процесс чужой - то инжекта не происходит. можно инжектиться только в свой процесс с помощью этих функций). А про параметры функции - это уже отдельный разговор, который не представляет никакой проблемы.


пока это самый лучший предложенный вариант
Мля ну почитай уже чтоли как stub dll сделать или хук. Если уж берешься чужие программы курочить так не худо бы хотябы Рихтера пробежать по диагонали.
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #10
К сожалению те функции, которые были описаны не подходят для решения данной задачи, т.к. они не работают в висте и семерке

прекрасно работают. Я тебе привел функции которые реально используются в моей программе. Программа протестирована и отлично работает на следующих системах:
- Win XP SP3 x86
- Win 7 x86
- Win 7+SP1 x86
- Win 7 x64
- Win 7+SP1 x64

Эту программу я уже с год под семеркой пользую - все ОК.

Прекрасно работает в обоих режимах - 32 и 64 битном (достаточно просто переключить target platform на x64 при комплияции). Работает в том числе и с включенным UAC (тут конечно нужно подшаманить с манифестом и пермиссиями).
 
Останнє редагування:
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #11
в принципе даже если не стебаться, то перевести вышеуказанный код на делфи не составит труда, просто подставить нужные типы параметров и метод вызова процедур (скорее всего cdecl или stdcall)
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #12
Вот хороший цикл статей, уже ставший класикой: w w w .wasm. r u/article.php?article=apihook_1 (за пробелы сори, это мой третий пост здесь)
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #13
спасибо, посмотрю
 
  • 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #14
спасибо, посмотрю

%D1%81%D0%BB%D0%BE%D1%83%D0%BF%D0%BE%D0%BA-%D0%BF%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0-%D1%83%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B5-140901.jpeg
 
Назад
Зверху Знизу