Генератор паролей

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Генератор паролей

Сообщение _Мика_ » 02.01.2005 (Вс) 21:03

Допустим нам известен пароль, предположим это "basic". Как нам этот пароль сгенирировать, т.е подобрать :)
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 02.01.2005 (Вс) 21:06

Записывайся в общество хакеров :)

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 02.01.2005 (Вс) 21:35

Тема открыта :wink:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 02.01.2005 (Вс) 21:38

Подбирать можно по разному...
по словарю или просто так
1. По словарю:
slovar.txt:
Код: Выделить всё
arbuz
barsik
bazik
basic
maso


Код:
Код: Выделить всё
Public Sub SolvPass(NetUser as string)
dim tmp as string
dim tmp2 as string
shell "net logoff"
MsgBox "Solving Started!"
open "slovar.txt" fo input as #1
do
line input #1, tmp
shell "net logon " + NetUser + " " + tmp + " > out.dat"
open "out.dat" for input as #2
line input #2, tmp2
if tmp="логгед сусефули :)" then
msgbox "Password solved!!!"+vbnewline+"Password: "+tmp
goto nxt
end if
loop while not eof(1)
msgbox "Password not solved"
nxt:
close


2. Перебор букв.
Код: Выделить всё
const Alfavit = "абвгд....АБВГД.....123456...._+/-=\*"
const PassLen = 6

dim bkvs() as byte
redim bkvs(6)
shell "net logoff"
do
doevents
tmpwd$ = ""
for i=1 to PassLen
tmpwd$ = tmpwd$ + chr$(bkvs(i))
next
shell "net logon " + NetUser +" "+ tmpwd$+" > out.dat"
open "out.dat" for input as #2
line input #2, tmp2
if tmp="логгед сусефули :)" then
msgbox "Password solved!!!"+vbnewline+"Password: "+tmp
goto nxt
end if
dim ns as integer
ns=passlen
do
doevents
bkvs(ns)=bkvs(ns)+1
if bkvs(ns)=len(alfav)+1 then
if ns=1 and bkvs(ns)= len(alfav)+1 then goto nsolv
bkvs(ns)=0: ns=ns-1
else
goto nxt2
end if
loop
nxt2:
loop
nsolv:
msgbox "Password not solved"
nxt:
close
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 02.01.2005 (Вс) 21:46

Мозет это чем-то помозет:
Код: Выделить всё
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function IsCharAlpha Lib "user32.dll" Alias "IsCharAlphaW" (ByVal cChar As Byte) As Long
Private Declare Function IsCharAlphaNumeric Lib "user32.dll" Alias "IsCharAlphaNumericW" (ByVal cChar As Byte) As Long



Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const ES_NUMBER As Long = &H2000&
Private Const GWL_STYLE As Long = -16



Function GenerateKeyPhrase(Optional ByVal PhraseLength As Long) As String
Dim res As String, i As Long, C As Byte, S As String, N As Long

Randomize
S = Choose(1 + Fix(Rnd * 3), Text4.Text, Text4.Text, Text4.Text)
For i = 1 To Text2.Text
  C = 1 + Fix(Rnd * Len(S))
  N = N + 1
  If N >= Rnd * 10 And N > 1 Then

    N = 0
    Randomize
    S = IIf(Rnd > 0.5, Text4.Text, Text4.Text) & IIf(Rnd < 0.25, Text4.Text, vbNullString)
  End If

    If N = 1 Then
      res = res & UCase$(Mid$(S, C, 1))
    Else
      res = res & LCase$(Mid$(S, C, 1))
    End If

Next i
GenerateKeyPhrase = res
End Function

Собственно это функция для генерирования случайных паролей
Text2.Text - ето длина
Text4.Text - ето какие символы генирировать

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 02.01.2005 (Вс) 22:12

О, а вот это уже ближе к делу, ща буду разбираться, пасибо!!
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 02.01.2005 (Вс) 22:25

Ну со вторым способом (пребор букв) я че-то не разобрался (что такое Shell "net logoff" etc)
А третий способ это фигня, он модет в жизни не подобрать трех значный пароль. Я вот подумал и придумал

Предположем
AAA
AAB
AAC
AAD
...
AAZ
ABA
ABB
ABC
ABD
...
BAA
BAB
BAC
...
...
...

Я настрочил код но он очень тупой по скольку нельзя задать сколько символов на до генирировать. Какие есть еще предложения?
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 03.01.2005 (Пн) 0:22

_Мика_, ты затронул тему, которая к разряду VB не относится. Правильно Dex сказал, в хакеры записыватся.:pirat: А для этого как говорил товарищ Ленин нужно учиться и еще раз учиться.:study:
Допустим нам известен пароль, предположим это "basic". Как нам этот пароль сгенирировать, т.е подобрать

Суть вопроса мне не ясна. Если нам пароль известен, то зачем же нам его генерировать?
Или ты имел ввиду, что допустим есть программа к которой тебе известен ключик и ты хочешь найти еще ключи, чтобы потом создать Кейген? Советую тебе полазить по Хацкерским сайтам и поискать статьи о паролях. Пароли - сложная вещь. Тут очень сильно мозг напрягать надо.

Допустим для того чтобы подобрать новый valid key тебе обязательно необходимо знать как минимум пять valid'ных ключей. А потом сравнивать их, искать определенную закономерность (маску пароля). А вот когда поймешь маску, вот тогда только можешь садиться за генератор.
Если тебя интересует эта тема, мой тебе совет - сначала посети сайты с инфой о паролях. На этом все!:shaking:
No comments ...

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 03.01.2005 (Пн) 1:40

Я вообще не пойму, что вы тут обсуждаете ;)
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 14

    TopList