Cкрытиe прoцеccoв

Тема в разделе "СТАТЬИ И УРОКИ ПО ВЗЛОМУ И ОБХОДУ ЗАЩИТЫ", создана пользователем Magic_Mushroom, 22 фев 2015.

↑ ↓
  1. Magic_Mushroom Житель форума
    Magic_Mushroom
    Ответить в чате

    Форумчанин

    Регистрация:
    30.06.2014
    Сообщения:
    179
    Симпатии:
    89
    Репа:
    +90 / 0 / -0
    нашел интересную статья на хабре http://habrahabr.ru/post/180933/
    в статье предоставлен исходник демонстрационного приложиния на делфи для скрытия процессов из диспетчера задач Windows
    Код:
    var
    ind:integer;
    h:Thandle;
    last_c:integer;


    procedure UpdateList();
    var
    th:THandle;
    entry:PROCESSENTRY32;
    b:boolean;
    i,new_ind:integer;
    plist:TStringList;
    begin

    // Список процессов
    plist:=TStringList.Create;

    // Формируем список процессов
    th := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
    entry.dwSize:=sizeof(PROCESSENTRY32);
    b:=Process32First(th,entry);
    while(
    b) do
    begin
      plist
    .Add(entry.szExeFile);
      
    b:=Process32Next(th,entry);
    end;

    // Сортируем его, чтобы индексы элементов
    // совпадали с теми, что в диспетчере задач
    plist.Sort;
    last_c:=plist.Count;

    // Поиск индекса нашего процесса 'explorer.exe'
    for i:=1 to plist.Count-do
    if(
    LowerCase(plist[i])='explorer.exe'then new_ind:=i-1;

    // Удаление объекта из списка
    if(new_ind<>indthen ListView_DeleteItem(h,ind);
    ind:=new_ind;
    plist.Free;

    // Запускаем таймер отслеживания обновлений в списке процессов
    if(Form1.Timer2.Enabled=false)  then Form1.Timer2.Enabled:=true;

    end;


    procedure TForm1.HideProcessButton(SenderTObject);
    begin
    //  Ищем дочернее окно класса 'SysListView32'
    h:=FindWindow(nil,'Диспетчер задач Windows');
    h:=FindWindowEx(h,0,nil,'Процессы');
    h:=FindWindowEx(h,0,'SysListView32',nil);

    // Запускаем таймер переформирования списка процессов
    Timer1.Enabled:=true;
    end;

    procedure TForm1.Timer1Timer(SenderTObject);
    begin
    UpdateList
    ();
    end;

    procedure TForm1.Timer2Timer(SenderTObject);
    begin
    // Поиск изменений в списке
    if(ListView_GetItemCount(h)>last_cthen
    ListView_DeleteItem
    (h,ind);
    last_c:=ListView_GetItemCount(h);
    end;
    познаний в делфи к сожалению не имеется, буду очень признателен ,если кто-нибудь изменит скрипт, чтобы программа запускалась в скрытом режиме и скрывала нужный процесс/процессы (и себя, если это возможно) , которые в свою очередь будут прописываться в скрипте перед компиляцией blush1
     
  2. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.812
    Симпатии:
    432
    Пол:
    Мужской
    Репа:
    +966 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    Не пробовал, а программа сама работает-нет ?

    Если по логике:

    Код:
    // Поиск индекса нашего процесса 'explorer.exe ' for i:=1 to plist.Count-1 do
    if(LowerCase(plist[i])='explorer.exe'then new_ind:=i-1;
    Вместо 'explorer.exe ' вписывай свой, и посмотри может даже заработает...WinkSmile

    Как это всё сделать скрыто, т.е. убрать форму, кнопки и прочее, поищи в сети, ничего сложного быть не должно...
     

Поделиться этой страницей