Полезнейшие модули для делфи!!!
|
Android
|
Дата: Воскресенье, 05.02.2012, 10:58 | Сообщение # 1
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
Товарищи!!!!
Очень интересные модули для работы с процессами, памятью чужих процессов. Например, скрытие из списка процессов, разработанные ms-rem'ом.
Вот только почему-то не хочет работать у меня... Все компилится, но почему-то не работает ожидаемым образом. В частности, не вижу эффекта от скрытия процесса...
В модуле Ring0.pas - есть функция для скрытия процесса (HideProcess)/ Вот ее никак не получается у меня заюзать нормально... А кроме того, там еще куча полезного. Например, подгрузка длл в чужой процесс, подгрузка образа своей проги целиком в чужой процесс и т.п. ДАвайте дружно разберемся.
Потестите у себя, товарищи. Помогите разобраться.
з.ы. Почему-то архив с ринг0.пас переобозвался в цифры после загрузки на сайт...
|
|
|
|
|
Волк-1024
|
Дата: Воскресенье, 05.02.2012, 12:19 | Сообщение # 2
|
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
|
Может из-за того, что под Вынь 7 не актуально?
Pascal, C\C++, Assembler, Python
|
|
|
|
|
Android
|
Дата: Воскресенье, 05.02.2012, 12:39 | Сообщение # 3
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
я под ХР пытался. |
|
|
|
|
dolphin
|
Дата: Понедельник, 06.02.2012, 00:22 | Сообщение # 4
|
Администратор
Сообщений: 904
Статус: Offline
|
advapihook работает у меня (win7). А ранг 0 разбираться нужно, а там где ты их брал нет примеров?
Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle
Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
|
|
|
|
|
Android
|
Дата: Понедельник, 06.02.2012, 10:53 | Сообщение # 5
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
так в том и дело, что пример не отрабатывает... подвисает и все... могу их выложить если кому надо.
dolphin, а какие именно функции тестил под семеркой??? |
|
|
|
|
XSPY
|
Дата: Понедельник, 06.02.2012, 21:21 | Сообщение # 6
|
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
|
Про ring 0 достаточно литературы.Честно говоря,я думал что у меня в универе про это не расскажут,но когда на Операционных Системах изучали уровни,то их дофига r0,1,2,3... И что интересно,с r0 работать не сложнее,чем с r3-тут дело только в практике и хорошем справочнике(справочник нужен,чтобы не написать вечный бсод или убийцу компа).
Я не крекер,а программист!
Я не преступник-я свободный человек!
Лучше один раз накодить,чем сто раз качать билды!
|
|
|
|
|
Android
|
Дата: Вторник, 07.02.2012, 18:06 | Сообщение # 7
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
Товарищи, посмотрите внимательно - в модуле advapihook есть функции, подгружающие свою длл в чужой процесс. Может у кого-то есть идеи, как потом заставить выполниться определенные функции из библиотеки в контексте другого процесса??? или уж на карйняк своего (но тут вроде понятней - динамически подгрузил библиотеку и норм), но так, чтоб можно было параметры передавать как-нибудь... |
|
|
|
|
Android
|
Дата: Вторник, 07.02.2012, 22:56 | Сообщение # 8
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
Товарищи, сам нашел ответ на свой вопрос, каким же образом передлавать параетры в функцию из длл
Если нужная библиотека еще не загружена, то
Доступно только для пользователей
если библиотека уже загружена, то
Доступно только для пользователей
А вот пара примеров, как это работать должно
Code
(* --------- Sample (GetSystemDirectory) --------- *)
var
parameters: array of Pointer;
returned: Cardinal;
Dir: String;
begin
SetLength(parameters, 2);
SetLength(Dir, MAX_PATH); // Set Buffer size
parameters[0] := Pointer(@Dir[1]); // 1st parameter, buffer for path string
parameters[1] := Pointer(MAX_PATH); // 2nd parameter, length of buffer
if not DynamicDllCallName(kernel32, 'GetSystemDirectoryA', true, returned, parameters) then begin
ShowMessage('Function could not be found!');
end else begin
SetLength(Dir, returned); // Cut String
ShowMessage('GetSystemDirectoryA:'#13#10'Path: ' + Dir + #13#10'Length: ' + IntToStr(returned));
end;
end;
(* --------- Sample (TextOut) --------- *)
const
SampleText = 'test';
var
parameters: array of Pointer;
returned: Cardinal;
begin
SetLength(parameters, 5);
parameters[0] := Pointer(Canvas.Handle); // 1st parameter, handle to the form's canvas
parameters[1] := Pointer(10); // 2nd parameter, left margin
parameters[2] := Pointer(30); // 3rd parameter, top margin
parameters[3] := @SampleText[1]; // 4th parameter, pointer to the sample string
parameters[4] := Pointer(Length(SampleText)); // 5th parameter, length of the sample string
if not DynamicDllCallName(gdi32, 'TextOutA', true, returned, parameters) then begin
ShowMessage('Function could not be found!');
end else begin
if not BOOL(returned) then begin // function's result = false
ShowMessage('TextOut() failed!');
end;
end;
end;
(* --------- Sample (LockWorkStation) --------- *)
var
parameters: array of Pointer;
returned: Cardinal;
begin
// We don't have parameters, so we don't touch parameters
if not DynamicDllCallName(user32, 'LockWorkStation', true, returned, parameters) then begin
ShowMessage('Function could not be found!');
end else begin
if not BOOL(returned) then begin
ShowMessage('LockWorkStation() failed!');
end;
end;
end;
Давайте поразмыслим, как можно еще применять функции, описанные в модулях, прикрепленных в начале темы...
з.ы. Хотел скрыть код функций тэгом хайд - че-то он не заработал...
Сообщение отредактировал Android - Вторник, 07.02.2012, 22:58
|
|
|
|
|
Android
|
Дата: Вторник, 07.02.2012, 23:02 | Сообщение # 9
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
Товарищи, помогите разобраться, если я хочу получать строковый результат из функции подгруженной из длл, то как в этом случае надо интерпретировать результат , возвращаемый функцией? Тип результата: pchar. |
|
|
|
|