Запуск программы в виде процесса

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Запуск программы в виде процесса

Сообщение XairOn » 09.10.2004 (Сб) 20:04

Думаю название темы говорит само за себя, как сделать так что бы программа запускалась как процесс и светилось только в списке процессов, а не в списке пиложений (WinXP -> TaskManeger)???

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 09.10.2004 (Сб) 20:29

Так. А как запустить программу не в виде процесса?

Ладно: есть два варианта:
app.taskvisible=true

или:

ShowWindow GetWindow(hwnd,GW_OWNER),SW_HIDE
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.10.2004 (Сб) 21:16

ANDLL писал(а):Так. А как запустить программу не в виде процесса?

Как троян, прицепившись к чужому процессу ;-)
Изображение

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 09.10.2004 (Сб) 21:46

По ходу, если троян делаешь, то...

Создавай модуль

пихай в него
Код: Выделить всё
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Sub Main()
Do
'Действия
Sleep 2
Doevents
Loop
End Sub


Самое смешное - назови прогу smss.exe и например в XP она не будет выгружаться через панель задач.

Если потребуется юзать Winsock без формы, то пиши, тож расскажу как...

P.S Только вчера парился над этим 8) :D

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 10.10.2004 (Вс) 1:00

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 17:24, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 10.10.2004 (Вс) 8:02

ANDLL, спасибо большое - app.taskvisible=true работает отлично, далее следует логичный вопрос: а как мне теперь ещё сделать,
что бы пользователь не мог завершить мой процесс, ну как знаете avp'шка например и некоторые другие процессы при попытке их
завершения говорять, что процесс является критическим или в доступе отказано. Короче нужно сделать так, что бы криворукий
пользователь не лез куда попало :-)

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 10.10.2004 (Вс) 9:48

Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 10.10.2004 (Вс) 11:01

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 17:24, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 10.10.2004 (Вс) 17:11

EvilCoder писал(а):зачем сервис? Назови этот файл lsass.exe и фиг кто его завершит...
Твой совет основан на том, что логично предположить, что пользователь не станет закрывать такой процесс... но мало ли что, мне нужна твердая уверенность. Знает ли кто-нибудь, как так сделать, что бы процесс в принципе закрыть нельзя было бы???

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 10.10.2004 (Вс) 17:22

И вообще есть такое соображение: написать 2 процесса которые будут следить друг за другом и если вдруг какой-нибудь их них закрывается, второй тут же запускает его снова, вобщем-то логично, но меня малость это не устраивает, хотелось бы конечно одним процессом всё делать... хотя... что вы об этом думаете? И вообще, я всё равно не понимаю, как процесс написать, хоть я и научился форму выдавать за процесс, это всё равно не то... :-( :-)

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 10.10.2004 (Вс) 17:52

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 17:25, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 10.10.2004 (Вс) 20:07

2 EvilCoder: О. Если нуно, то рассказываю.(Winsock без формы) :)

Создаётся 2 модуля обычный и Сlass модуль.

В class модуль пишется

Код: Выделить всё
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim WithEvents Ws As Winsock
Dim Params() As String
'Стартуем winsock на 120 порт
Private Sub Class_Initialize()
On Error Resume Next
Set Ws = New Winsock
Ws.LocalPort = "120"
End Sub

Private Sub Class_Terminate()
On Error Resume Next
Set Ws = New Winsock
End Sub

Public Sub Listen()
On Error Resume Next
Do
If Ws.State <> sckConnected And Ws.State <> sckListening Then
   Ws.Close
   Ws.Listen
  End If
Sleep 2
DoEvents
Loop
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
On Error Resume Next
Ws.Close
Ws.Accept requestID
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim wData As String
Ws.GetData wData, vbString
msgbox wData
End Sub



А в обычный пишем

Код: Выделить всё
Sub main()
ws.listen
End Sub


Только не забываем ПОДКЛЮЧИТЬ DLL ВИНСОКА К ПРОЕКТУ или СОЗДАТЬ ОБЪЕКТ через CREATEOBJECT.
Set ws=CreateObject("MSWinsock.Winsock")

Вот как то так... Спрашивайте, если чё... Я даж пример вышлю, если надо :wink:

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 10.10.2004 (Вс) 20:12

XairOn писал(а):
EvilCoder писал(а):зачем сервис? Назови этот файл lsass.exe и фиг кто его завершит...
Твой совет основан на том, что логично предположить, что пользователь не станет закрывать такой процесс... но мало ли что, мне нужна твердая уверенность. Знает ли кто-нибудь, как так сделать, что бы процесс в принципе закрыть нельзя было бы???


ТоварисЧ... Тут вы малость не поняли. Пользователь не не будет, а не сможет завершить этот процесс, даже через командную строку с параметром /F

На счёт lsass.exe не уверен, а вот второй SMSS.exe через диспетчер задач в XP никак не убить. На счёт 2000 и 98 не знаю, но на счёт XP PRO гарантирую

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 20:35

Про винсок без формы - где-то в инете видел аналогичный ему по функциональности класс; с ним можно делать всё то же самое, что с винсоком, только формы ему не нужно, и OCX за собой таскать не нужно.
Изображение

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 10.10.2004 (Вс) 20:44

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 17:26, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 11.10.2004 (Пн) 1:35

EvilCoder писал(а):2 ALX_2002 : Спасибо большое! :D
Буду знать! :)

tyomitch писал(а):Про винсок без формы - где-то в инете видел аналогичный ему по функциональности класс; с ним можно делать всё то же самое, что с винсоком, только формы ему не нужно, и OCX за собой таскать не нужно.


У меня есть. Классная штука!! могу скинуть :)
EvilCoder да уж скинть пожалуйста! Если не трудно, вот сюда - unix@macbox.ru

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 11.10.2004 (Пн) 14:40

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 17:26, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 11.10.2004 (Пн) 17:50

Да, спасибо большое :-)

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 12.10.2004 (Вт) 14:49

ALX_2002>

Только не забываем ПОДКЛЮЧИТЬ DLL ВИНСОКА К ПРОЕКТУ или СОЗДАТЬ ОБЪЕКТ через CREATEOBJECT.
Set ws=CreateObject("MSWinsock.Winsock")

А какой именно DLL и как это сделать? И скажи куда вот это вставлять - Set ws=CreateObject("MSWinsock.Winsock")

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 12.10.2004 (Вт) 16:28

:arrow: :arrow: <DELETE> :twisted: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 17:31, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 12.10.2004 (Вт) 16:48

EvilCoder писал(а):XairOn - ты по книгам учишься программировать, или так - сам?

Ты извини, но с теорией у тебя не сильно.
Есть у меня одна книга... там пишут как мышкой правильно водить по visual basic'у.... так что приходится самому. Всё таки ты можешь дать ответ на мой вопрос предыдущий?

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 12.10.2004 (Вт) 18:02

ALX_2002 писал(а):...
ТоварисЧ... Тут вы малость не поняли. Пользователь не не будет, а не сможет завершить этот процесс, даже через командную строку с параметром /F

На счёт lsass.exe не уверен, а вот второй SMSS.exe через диспетчер задач в XP никак не убить. На счёт 2000 и 98 не знаю, но на счёт XP PRO гарантирую

Н-да, на любого самонадеянного программера найдется хитрый и злой админ :)

Во-первых, в ХР (в 2003 Server еще не проверял) действительно таск менеждер не позволяет убивать процессы с такими именами. Большое упущение Microsoft, имхо. Однако, вы таки забываете про одну замечательную утилиту, появившуюся как раз начиная с ХР:
Код: Выделить всё
TASKKILL /PID xxxx /F /T

Киляет как отдай :) А если вспомнить про замечательный комплект PsTools от SysInternals, так вообще все отдыхают, в том числе и настоящие сервисы, кстати :) .

Во-вторых, винтукей/NT4 на имена процессов не смотрят, так что в них все тоже прибивается на раз.

Ну а если вы хотите, чтобы прога даже в списке процессов не светилась... DLL injection, ройте, хе-хе :)

neprden
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 04.10.2003 (Сб) 19:37

Сообщение neprden » 13.10.2004 (Ср) 13:34

В третьих возьмите себе привилегии отладки и долбите че хотите
к стати если в нужной последовательности долбить даже краха
системы не произойдет
По всему нету воляются исходники руткитов на всех языках
можно прятать че угодно


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList  
cron