Показать сообщение отдельно
Старый 28.12.2024, 14:34   #6
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 223
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

Delphi Код:
procedure TForm1.Button3Click(Sender: TObject); var ProcPID: Cardinal; hProc: THandle; hRemoteThread: THandle; pRemoteThread: Cardinal; begin {пробуем запустить нужную нам функцию удаленным потоком внутри жертвы} ProcPID := GetRemotePID('calc1.exe'); memo1.Lines.Add('PID=' + inttostr(cardinal(ProcPID))); //вот мы какбы тут еще один хэндл делаем на жертву. хотя он открыт в кнопке2. ну пофиг. открыли закрыли. хуже не будет. hProc := OpenProcess(PROCESS_ALL_ACCESS, false, ProcPID); hRemoteThread  := CreateRemoteThread(hProc, nil, 0, pAdrFunc2, nil, 0, pRemoteThread); //если функция в чужом процессе отработала(Func2 мы тестим) то создастся лог файл c:\Log\Func2.txt CloseHandle(hProc); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin CloseHandle(g_DllHandle); end; function GetRemotePID(ProcName:string):Cardinal; var hSnapshoot: THandle;//дескриптор объекта- созданного снимка всех процессов. ProcSnapshot:TProcessEntry32;//структура описывает один процесс. сюда записывается описание одного процесса из снимка для анализа tempBOOL:Boolean; begin {Ищем ProcessID (PID) интересующего нас процесса, для этого делается снимок всех процессов в системе, он перебирается и сравнивается имя процесса с заданным как тока путем перебора нашли нужный нам процесс (по имени) мы запомним его PID. входной аргумент функции с именем процесса чувствителен к регистру Calc1.exe или calc1.exe} Result:=0; hSnapshoot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if hSnapshoot = INVALID_HANDLE_VALUE then Exit; if hSnapshoot <> INVALID_HANDLE_VALUE then   begin     try     ProcSnapshot.dwSize := SizeOf(ProcSnapshot);     tempBOOL := Process32First(hSnapshoot, ProcSnapshot);//получаем первый процесс в снимке     if tempBOOL = false then Exit;     while tempBOOL do       begin       if (ProcSnapshot.szExeFile = ProcName) then Result:=ProcSnapshot.th32ProcessID;       tempBOOL := Process32Next(hSnapshoot, ProcSnapshot);//получаем следующий процесс       end;     finally     CloseHandle(hSnapshoot);//я думаю что это выгружает обьект с указанным ИД     end;   end; end; function SetDebugPrivilege(boolOnOff:boolean):Boolean; var hToken:THandle;//Хэндл токена безопасности. szPrivilege: PChar;//название уровня безопасности. в системе уже существуют                    //имена мы будем использовать szPrivilege:='SeDebugPrivilege' luid: TLargeInteger; NewState: TTokenPrivileges; ReturnLength: DWord; begin {Устанавливаем отладочные привилегии для своего(этого) процесса, т.к. без данных привилегий код внедрения работать не будет} szPrivilege:='SeDebugPrivilege'; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken); LookupPrivilegeValue(nil, szPrivilege, luid); NewState.PrivilegeCount := 1; NewState.Privileges[0].Luid := luid; if (boolOnOff) then   begin     NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED   end   else   begin     NewState.Privileges[0].Attributes := 0;   end; result:=AdjustTokenPrivileges(hToken, False, NewState, SizeOf(NewState), nil, ReturnLength); CloseHandle(hToken); end; end.

Добавлено через 59 секунд
это было САР (control application)

теперь код ДЛЛ...
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами

Последний раз редактировалось VORON, 29.01.2025 в 15:15. Причина: Добавлено сообщение
VORON вне форума   Ответить с цитированием