• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

про сервисы и формы

  • Автор темы darkcoder
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

darkcoder

привет
написал сервис
работает.
понадобилось сделать форму на нем c webbrowserom
переписал сервис из program в unit

но вот проблема, как мне вызвать процедуру запуска webbrowsera?

кусок кода запуска сервиса
Код:
procedure ServiceProc(Argc: DWORD; var Argv: array of PChar); stdcall;
var
t:integer;
begin
ServiceStatus.dwServiceType := SERVICE_WIN32;
....
SetServiceStatus(ServiceStatusHandle, ServiceStatus);
TEST(); - тут нужно запустить webbrowser который лежит на форме
end;

что я не пытался сделать, и sender tobject, и без, и так и сяк, вобщем неполучается
запустить TEST


примерно как выглядит функция TEST:

Код:
procedure test(Sender: TObject);
begin
EmbeddedWB1.Navigate('http://localhost/test.php');
end;

получается что из "консольного" кода нельзя обратиться к компоненту на форме?
если можно то как правильно написать??
 
D

darkcoder

я читал, на английском правда
там тоже сказано что не нужно

но как тогда мне использовать webbrowser на сервисе? как его можно подключить кроме как кинув на форму которую в данном случае нельзя использовать?
 
D

darkcoder

В справку вестимо. Смотреть что надо, чтобы TWebBrowser работал без формы и т.д. Кстати а зачем вам он в сервисе, чисто пробы?
Да, и тот код, который вы показываете на др. форумах - нерабочий, по нему видно, что он не совсем ваш. :blink:

PS: Я бы вам посоветовал идти от малого к сложному, и по дороге все прояснится.
код рабочий.
вместо wb я ставил функцию для записи в файл test('строка которую записать')
в каждой функции в коде и после каждого условия я ставил дамп в лог, с описанием что происходит
ставится он нормально и запускается сразу же
после перезагрузки в логе отписываются старты тестовой функции
так что все нормально
код не мой, мне нужно оживить этот и потом уже писать свой нормальный
ну а как идти, я работаю с утра до ночи последние три года, сейчас серваки куплены все настроено осталось дело за малым этот код написать
код мне этот для накрутки
 
D

darkcoder

Тот что показали - нерабочий. Кстати есть еще компоненты от Indy, тоже можно на них посмотреть.
ну да, тот не запускается
а с дампом в текстовый файл пашет
сейчас попробую через длл сделать

незнаю насчет indy, я саму идею подсмотрел у одной малвары, отреверсил ее, там примерно так сделано только не через сервис а через автозагрузку. через сервис имхо лучше если еще добавить блокировку файла и ф-цию p2p червя чтоб пробывал сам себя копировать в папки обмена под разными именами так вообще отлично выйдет
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!