download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

VBScript Script keylogger

<1 2 3 4 5 6 >

Автор
Съобщение
phrozencrew
Нед, 25.07.10, 18:27
dreven, не се съмнявам, че имаш нещо наум, но би ли дал скромен пример за разпознаване поне на 2-3 кирилски символа, посредством VBScript. И аз отначало си помислих като теб, но в последствие осъзнах, че задачата е доста сложна. За това ми се ще да коментираме конкретен код.
dreven
Пон, 26.07.10, 10:58

RE: VBScript Script keylogger

Няма да дам пример с VBS, защото това би било основа на вирус. Мисля, че всички знаят моето отношение към такъв тип програмиране. API функции в комбинация на VBS е нещо страшно и не трябва дори да се коментира, камо ли да се демонстрира. Ще дам примерче с VB6.0, защото това наистина е полезно и може да влезе в работа на някого. Примерчето е елементарно от няколко реда само с три API функции, но е показателно за мощта на този вид програмиране. Дори и това примерче, че опасно за широката публика, но разчитам на премиума, който ще ограничи до максимум разпространението му.

Компилирано файлче:
Klavih.rar

Проект:
Frozencrew.rar

Ето и целия използван сорс за прихващане на натиснати клавиши и вида на клавиатурата:
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const KL_NAMELENGTH As Long = 9
Dim OriginalLayoutId As Long
Dim OriginalLayoutName As String
 
 
 
Private Sub Timer1_Timer()
  OriginalLayoutId = GetKeyboardLayout(0)
  OriginalLayoutName = String(KL_NAMELENGTH - 1, 0)
  GetKeyboardLayoutName OriginalLayoutName
  If OriginalLayoutName = "00020402" Then klaviatura = "Кирилица"
  If OriginalLayoutName = "00000409" Then klaviatura = "Латиница"
 
For iKey = 0 To 255
If GetAsyncKeyState(iKey) Then Label1.Caption = iKey & " на " & klaviatura
Next
 
End Sub

anonymous
Пон, 26.07.10, 11:34
dreven искаш да кажеш че знаеш начин да се направи keylogger на VBScript без да се добави някаква допълнителна библиотеки... ocx... ?
редактиран от anonymous на 26.07.10 11:34
dreven
Пон, 26.07.10, 12:13

RE: VBScript Script keylogger

dreven искаш да кажеш че знаеш начин да се направи keylogger на VBScript без да се добави някаква допълнителна библиотеки... ocx... ? „
Защо трябва да добавяш, ако има вече добавени такива. Само офис пакета инсталира чудеса. Помисли, може ли да се стартира примерно Word, чрез VBS и да го манипулираш. За да се вържат нещата трябва не само VBS, но и малко VBA. Но май пак се отплеснахме в област, която не обичам да коментирам. Иначе отговора на твоя въпрос се състои в първия закон на програмирането - всичко което ти е хрумнало е възможно! Но моя съвет е спри да се интересуваш от тези щуротии. Едва ли има нещо градивно в следяща програма, освен ако не се използва в някое полезно приложение. VBS е полезен, когато го вграждаш в сорса на VB, за да постигнеш определена конкретна цел, но за разработване на приложения е твърде слаб и беден. За вируси става, но това не е любимата ми тема.
dreven
Вто, 27.07.10, 12:24
Горното ми мнение може да изглежда неубедително и затова ще го подкрепя с едно примерче.
Вземете долния сорс, поставете го в notepad, запишето го с разширение .vbs и го стартирайте. Тази програмка от 3 реда вече е снимала вашия Desktop, като е сработила клавиша PrintScreen. Може да го проверите като Пейстнете съдържанието на вашия Clipboard примерно в Paint. Сега погледнете в сорса и вижте метода SendKeys на кой обект е.
Dim WB 
Set WB = CreateObject("Word.Basic") 
WB.SendKeys "{prtsc}"

С други думи, за да може да прави човек всичко което му хрумне трябва да се позанимава с Visual Basic в всичките му варианти: VB6.0, VBScript, VBA ( за конкретните приложения ). Visual Basic е инструмент за сбъдване на желания. Изключвам обаче Visual Basic.net, защото той е крачка назад и повече прилича на бозата C++.

редактиран от dreven на 27.07.10 12:33
anonymous
Вто, 27.07.10, 12:44
Ами аз съм си играл с тези SendKeys, гледах ги от официалната страница на Microsoft, там ги има всичките(кое какво праща). Обаче може ли обратното да се направи(т.е. да приема копчета)
редактиран от anonymous на 27.07.10 12:44
anonymous
Вто, 27.07.10, 12:53
dreven едно е прихващане на клавиш/бутон друго е да изпратиш заявка за натиснат бутон както е SendKeys
dreven
Вто, 27.07.10, 13:03

RE: VBScript Script keylogger

” Ами аз съм си играл с тези SendKeys, гледах ги от официалната страница на Microsoft, там ги има всичките(кое какво праща). Обаче може ли обратното да се направи(т.е. да приема копчета) „

В стандартният VB6.0 можеш да използваш метода SendKeys, почти за всички клавиши. Казвам почти, защото клавиша PrintScreen е забранен (от съображения за сигурност, защото мераклийте да правят вируси винаги са били болшинство). Това имах в предвид в по-горните си постове, че вграждайки сорс на VBScript в програма на VB6.0 могат да се постигнат лесно конкретни неща. Разбира се ако се ползва тежката артилерия на API функциите такова вграждане вече не е необходимо. А относно конкретният ти въпрос отговорът е може. В програмирането въпросът " Може ли?" винаги има един отговор - Може. Правилният въпрос е Как може?

anonymous
Вто, 27.07.10, 13:21
Значи в случая не може, защото си трябва библиотекаа...
С чист VBS няма да стане..
редактиран от anonymous на 27.07.10 13:21
dreven
Вто, 27.07.10, 13:38

RE: VBScript Script keylogger

” Значи в случая не може, защото си трябва библиотекаа...
С чист VBS няма да стане.. „
Така е трябва библиотека и то регистрирана такава. Но понеже има такава библиотека на всяка windows машина, отговорът вече не е не може.

<1 2 3 4 5 6 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.