Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Скрыть программу...


Автор: Black_Star 9.9.2003, 22:52
Вопрос такой: как скрыть прогу в вынь 2000??? baaa.gif

Автор: cardinal 10.9.2003, 12:24
Цитата
Shell "MyApp.exe", vbHide

Black_Star, ты же сам написал как скрыть программу или это в win 2000 не работает?

Автор: Mephisto 10.9.2003, 17:30
В ХР`ях не работает!!!

Автор: Black_Star 10.9.2003, 19:25
Shell vbHide это не то. Это приложение запускается в свернутом виде!
Мне же надо, чтобы его ваще не было видно!!! Имеется ввиду диспетчер задач smile.gif, можно и в процессах... но хотя бы 1е.

Автор: Mephisto 11.9.2003, 16:52
У меня есть прикольное соображение.
Ищи в процессах диспетчер задач и убивай процесс tounge.gif tounge.gif tounge.gif

Автор: Black_Star 11.9.2003, 22:38
confused.gif И что толку от проги, если ее убить?
Идея верная, но убивать надо не процесс...
Надо перехватывать команду NT.dll , EnumThread и как только попадется моя прога, перепрыгивать через нее...
Но вот как это сделать?

Автор: Unregistered 18.9.2003, 18:25
Может это подойдет:
Код
Option Explicit
Private Declare Function RegisterServiceProcess Lib "kernel32.dll"  _
                         (ByVal dwProcessId As Long, ByVal dwType As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long

Private Sub Visibler()
     Call RegisterServiceProcess(GetCurrentProcessId, 0)
End Sub

Private Sub Invisibler()
     Call RegisterServiceProcess(GetCurrentProcessId, 1)
End Sub

Автор: Mephisto 18.9.2003, 18:28
Может это подойдет:
Код
Option Explicit
Private Declare Function RegisterServiceProcess Lib "kernel32.dll"  _
                        (ByVal dwProcessId As Long, ByVal dwType As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long

Private Sub Visibler()
    Call RegisterServiceProcess(GetCurrentProcessId, 0)
End Sub

Private Sub Invisibler()
    Call RegisterServiceProcess(GetCurrentProcessId, 1)
End Sub


sorry не подписался notify.gif

Автор: Baa 18.9.2003, 18:35
Black_Star, можно записать себя в поток другого приложения т.е. создать у чужого приложения поток и вписать свой код туда, а кто помнит, сколько нитей у explorer.exe? wink.gif
другой способ - это перехват функции NtQuerySystemInformation и там прыжок через наш процесс... как реализовать оба способа могу на объяснить, если это кого-нить интересует, и если cardinal будет не против, потому как енто скользкая тема smile.gif

Автор: cardinal 18.9.2003, 19:19
Ты имеешь в виду, что меня посадят потому, что вы тут незаконные вещи обсуждать будете? smile.gif

Автор: Black_Star 18.9.2003, 22:30
Цитата
как реализовать оба способа могу на объяснить

Был бы весьма признателен smile.gif А если еще и с примером, то просто обалдел бы от счастья smile.gif smile.gif smile.gif
Если не в прямом эфире, то можно на мыло smile.gif

Цитата
RegisterServiceProcess

Спасибо, но эта фишка под NT не работает smile.gif

Автор: Mephisto 22.9.2003, 16:37
Цитата
можно записать себя в поток другого приложения т.е. создать у чужого приложения поток и вписать свой код туда, а кто помнит, сколько нитей у explorer.exe?

Baa буд очень признатеоен если оастолкуешь smile.gif
и
Цитата
если cardinal будет не против

Автор: Baa 2.10.2003, 12:51
Я вернулся... инета не было... там словечко выпало в моем постинге...
Цитата
реализовать оба способа могу на Си объяснить, если это кого-нить интересует

Просто я с ВБ не так хорошо знаком... но можно будет попробовать совместно перевести код...
з.ы. Cardinal, вообще, работа модератора - закрывать подобные топики wink.gif вдруг мы тут вирь новый пишем wink.gif, который без рантаймов не пашет biggrin.gif biggrin.gif

Автор: Mephisto 2.10.2003, 16:25
Цитата
реализовать оба способа могу на Си объяснить, если это кого-нить интересует

Интересует! Если не сложно, то кинь исходник smile.gif

Автор: cardinal 2.10.2003, 17:43
Цитата
з.ы. Cardinal, вообще, работа модератора - закрывать подобные топики  вдруг мы тут вирь новый пишем , который без рантаймов не пашет

Штирлиц закрыл тему, а она опять открылась... Вирус подумал штирлиц smile.gif
Цитата
реализовать оба способа могу на Си объяснить, если это кого-нить интересует

Ты имеешь в виду Си++, а это будет посложнее переписывать confused.gif

Автор: Black_Star 2.10.2003, 19:20
Где же ответ sad.gif

Автор: Alles 3.10.2003, 01:43
Исходник в студию !!! smile.gif) Не хорошо !... заинтриговал и исчез smile.gif

Автор: Black_Star 3.10.2003, 17:48
Да уж...
Я-то нашел кой чего... но хочется посмотреть еще версии...

Автор: Baa 4.10.2003, 12:51
Вот ссылочка, кажется еще где-то видел, делается на основе перехвата функций, кажется ту статью, что надо дал, я постараюсь помочь с переводом, если че будет не понятно - спрашивайте, просто у меня ща времени очень мало sad.gif с учебой зашиваюсь, может сделаем даже по-другому, я вам длл сваяю, в который надо будет ID процесса передать, и она ваш процесс скроет, но это посморим, в идеале, конечно, лучше перевести код.
http://bugtraq.ru/library/programming/invisible.html

Автор: Mephisto 8.10.2003, 17:33
Спасибо тебе Baa за приольную ссылку. У меня правда сейчас не так много времени, но я попробую перевести это на VB для настоящих VB'манов.
Цитата
Я-то нашел кой чего... но хочется посмотреть еще версии...

Я тоже, давай свою smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)