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

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

🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
Статус: Offline
Реєстрація: 22.08.2009
Повідом.: 38
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #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;
...
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #2
:рл:
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #3
Прямо дискуссия какае-то
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #4
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #5
зачем тебе нужно перехватывать CsrClientCallServer? трояна чтоли на Delphi пишешь?
Троян на Делфи ? Тышо ... нет конечно. Я хочу таким способом проинжектиться к процессу в windows 7. А это цитаты с статьи, которую я нашел.
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #6
Я хочу таким способом проинжектиться к процессу в windows 7. А это цитаты с статьи, которую я нашел.

:cranky::рл:

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

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

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

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

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

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


пока это самый лучший предложенный вариант
Мля ну почитай уже чтоли как stub dll сделать или хук. Если уж берешься чужие программы курочить так не худо бы хотябы Рихтера пробежать по диагонали.
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #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 (тут конечно нужно подшаманить с манифестом и пермиссиями).
 
Останнє редагування:
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #11
в принципе даже если не стебаться, то перевести вышеуказанный код на делфи не составит труда, просто подставить нужные типы параметров и метод вызова процедур (скорее всего cdecl или stdcall)
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #12
Вот хороший цикл статей, уже ставший класикой: w w w .wasm. r u/article.php?article=apihook_1 (за пробелы сори, это мой третий пост здесь)
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #13
спасибо, посмотрю
 
  • 🟡 15:21 Відбій тривоги в Харківський район.Зверніть увагу, тривога ще триває у:- Харківський район#Харківський_район
  • #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
 
Назад
Зверху Знизу