udostępnianie

0

jak napisac program który odkoduje haslo zalorzone na udostepniony folder w sieci

z góry dzięki {brawo}

0

enzo napisał:
jak napisac program który odkoduje haslo zalorzone na udostepniony folder w sieci

Jakiś rok temu napisałem taki prog (jeszcze w Delphi :( ). Umożliwia on tworzenie/edycję parametrów/kasowanie udostępnianych katalogów. Oczywiście pokazuje hasła :-)
Nie znalazłem zależności w postaci funkcji, ale utworzyłem sobie listę wszystkich znaków dostępnych z klawiatury. Myślę, że gdzieś w Windowsie siedzi osiem (max liczba znaków w haśle) tablic, na podstawie których owe hasła są kodowane. Po kilku godzinach pracy otrzymałem tablicę podobną do tej:

   1  2  3  4  5  6  7  8
a x  g  H  6  #  d  g  j
b f  i  j  7  $  f  h  k
c itd

czyli jeśli w rejestrze mamy: xi to jest to hasło ab, bo na pozycji 1 znak x odpowiada a, a na pozycji 2 znak i odpowiada b.

Nie mam przy sobie tej tablicy, ale jak jesteś wytrwały to sobie ją sam stworzysz, zanim ja ponownie pojawię się na forum :-)

Jeśli chcesz oblukać ten prog, oto adres:
http://marooned.prv.pl/programy/hasla_zasobow.exe
Pochodzi on z czasów, gdy dopiero zaczynałem pisać pod Win, więc nie jest on rewelacyjny.

--
"Imagination is more important than knowledge." - A. Einstein

0

Oto przykład udziału:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Network\LanMan\NAZWA_UDZIALU]
"Flags"=dword:00000102
"Type"=dword:00000000
"Path"="C:\"
"Parm1enc"=hex:7d,db,1e,3b,1c
"Parm2enc"=hex:
"Remark"="Komentarz"

Opis wartości:
Flags:
bity 1-0 odpowiadają za tryb udostępnienia
xxxxxx01 tylko do odczytu
xxxxxx10 pełny
xxxxxx11 zależny od hasła
o pozostałych 30 bitach nic nie wiem - jeśli ktoś wie, to byłbym wdzięczny za informacje

Type:
0 katalog
1 drukarka

Path:
Ścieżka do udostępnionego katalogu lub nazwa drukarki (ta, którą widać w katalogu Drukarki).

Parm1enc:
Zakodowane hasło pełnego dostępu

Parm2enc:
Zakodowane hasło tylko do odczytu

Remark:
Komentarz

Są jeszcze specjalne nazwy udziałów, które Windows interpretuje w szczególny sposób, np.:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Network\LanMan\ADMIN$]
"Flags"=dword:00000302
"Type"=dword:00000000
"Path"="C:\WINDOWS"
"Parm2enc"=hex:
"Parm1enc"=hex:7d,db,1e,3b,1c
"Remark"="Zezwolenie na zdalne administrowanie tym serwerem"
Komentarz mówi sam za siebie.

A poniżej przedstawiam opracowaną przeze mnie tablicę znaków dostępnych z klawiatury:

Jeśli chcemy np. zakodować hasło "ola" to odszukujemy w zerowej kolumnie literę o i widzimy, że odpowiada jej wartość 7a z kolumny pierwszej (jest to litera z). Kolejną literę l również wyszukujemy w zerowej kolumnie, ale jej odpowiednik pobieramy już z drugiej kolumny - jest to d6, itd.
ola -> 7a,d6,7d

Jeśli natomiast chcemy zdekodować powyższe hasło, to w pierwszej kolumnie znajdujemy pierwszą wartość 7a i widzimy w kolumnie zerowej literę o, itd.
7a,d6,7d -> ola

A oto tablica:

0  1  2  3  4  5  6  7  8
0 05 aa 7d 96 63 99 e4 5a
1 04 ab 7c 97 62 98 e5 5b
2 07 a8 7f 94 61 9b e6 58
3 06 a9 7e 95 60 9a e7 59
4 01 ae 79 92 67 9d e0 5e
5 00 af 78 93 66 9c e1 5f
6 03 ac 7b 90 65 9f e2 5c
7 02 ad 7a 91 64 9e e3 5d
8 0d a2 75 9e 6b 91 ec 52
9 0c a3 74 9f 6a 90 ed 53
a 74 db 0c e7 12 e8 95 2b
ą 91 3e e9 02 f7 0d 70 ce
b 77 d8 0f e4 11 eb 96 28
c 76 d9 0e e5 10 ea 97 29
ć ba 15 c2 29 dc 26 5b e5
d 71 de 09 e2 17 ed 90 2e
e 90 df 08 e3 16 ec 91 2f
ę 9d 32 e5 0e fb 01 7c c2
f 73 dc 0b e0 15 ef 92 2c
g 72 dd 0a e1 14 ee 93 2d
h 7d d2 05 ee 1b e1 9c 22
i 7c d3 04 ef 1a e0 9d 23
j 7f d0 07 ec 19 e3 9e 20
k 7e d1 06 ed 18 e2 9f 21
l 79 d6 01 ea 1f e5 98 26
ł a8 07 d0 3b ce 34 49 f7
m 78 d7 00 eb 1e e4 99 27
n 7b d4 03 e8 1d e7 9a 24
ń d6 79 ae 45 b0 4a 37 89
o 7a d5 02 e9 1c e6 9b 25
ó d5 7a ad 46 b3 49 34 8a
p 65 ca 1d f6 03 f9 84 3a
q 64 cb 1c f7 02 f8 85 3b
r 67 c8 1f f4 01 fb 86 38
s 66 c9 1e f5 00 fa 87 39
ś a2 0d da 31 c4 3e 43 fd
t 61 ce 19 f2 07 fd 80 3e
u 60 cf 18 f3 06 fc 81 3f
v 63 cc 1b f0 05 ff 82 3c
w 62 cd 1a f1 04 fe 83 3d
x 6d c2 15 fe 0b f1 8c 32
y 6c c3 14 ff 0a f0 8d 33
z 6f c0 17 fc 09 f3 8e 30
ź b8 17 c0 2b de 24 59 e7
ż 88 27 f0 1b ee 14 69 d7
! 14 bb 6c 87 72 88 f5 4b
@ 75 da 0d e6 13 e9 94 2a
# 16 b9 6e 85 70 8a f7 49
$ 11 be 69 82 77 8d f0 4e
% 10 bf 68 83 76 8c f1 4f
^ 6b c4 13 f8 0d f7 8a 34
& 13 bc 6b 80 75 8f f2 4c
* 1f b0 67 8c 79 83 fe 40
( 1d b2 65 8e 7b 81 fc 42
) 1c b3 64 8f 7a 80 fd 43
- 18 b7 60 8b 7e 84 f9 47
_ 6a c5 12 f9 0c f6 8b 35
= 08 a7 70 9b 6e 94 e9 57
+ 1e b1 66 8d 78 82 ff 41
\ 69 c6 11 fa 0f f5 88 36
| 49 e6 31 da 2f d5 a8 16
[ 6e c1 16 fd 08 f2 8f 31
] 68 c7 10 fb 0e f4 89 37
{ 4e e1 36 dd 28 d2 af 11
} 48 e7 30 db 2e d4 a9 17
; 0e a1 76 9d 68 92 ef 51
: 0f a0 77 9c 69 93 ee 50
' 12 bd 6a 81 74 8e f3 4d
" 17 b8 6f 84 71 8b f6 48
, 19 b6 61 8a 7f 85 f8 46
. 1b b4 63 88 7d 87 fa 44
< 09 a6 71 9a 6f 95 e8 56
> 0b a4 73 98 6d 97 ea 54
/ 1a b5 62 89 7c 86 fb 45
? 0a a5 72 99 6c 96 eb 55
~ 4b e4 33 d8 2d d7 aa 14
` 55 fa 2d c6 33 c9 b4 0a

Jeśli ktoś zna jakąś zależność na powyższe wartości, to proszę o informacje. Wtedy można by zaimplementować całą tablicę ASCII, a nie tylko powyższe znaki. Jakbym miał ręcznie wklepać jeszcze te pozostałe 1068 znaków, to bym padł.
Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0