下沙论坛
标题:
网通拨号软件Onewave Clinet注册表密码解密算法
[打印本页]
作者:
煎饼
时间:
2003-6-29 18:42
标题:
网通拨号软件Onewave Clinet注册表密码解密算法『转贴子』
首先我们来了解一下网通的拨号软件的密码在注册表中的位置.打开注册表到HKEY_USERS\S-1-5-21-1606980848-920026266-854245398-100\Software\OneWave的项,其中S-1-5-21-1606980848-920026266-854245398-1003为SID(安全表示符,也就是用户名在电脑里的编号,每个电脑,每个用户都是不一样的,你只要打开你自己的)
* q8 |6 C' R8 s$ y% J
在……OneWave\NetClient为2.0版本,……\OneWave\NetClient\Setting为1.2版本,如果你保存密码就会在相应的里面创建密码和用户名,如下图
. Y, C2 [: q4 B, X* Y% j
/ a, Z" P1 s# p W
1.2版本密码位置
$ Y# b0 \& z& l0 T$ R9 k- P
- E/ s- _! y+ K/ C* u" M; H
2.0版本的用户名和密码都经过加密,生成16进制的字符串,如下图。
1 r. _/ U7 K1 H3 K7 ?; n; g
; O, B8 `7 ~# v; p6 N+ \' G
1.2版本的用户名是明文保存的,密码则经过加密,但是在加密后,有些密文字符是显示不出来的,只有通过修改二进制数据才能看到,然而在win2000和98的注册表中鼠标右键没有“修改二进制数据”,而XP就有,如下图。
% R, p, f& R7 i1 L% N3 W7 ^0 z0 J
5 k1 d- u4 p4 q" r
至于在2000和98下怎么100%翻译密文很麻烦有些密文字符是显示不出来的,不如XP好,XP可以100%翻译。
' i8 W t. a' v+ |' C
0 u u* O) t4 @7 l0 C3 V
/ m( d. d9 `) G
现在说算法,是我用C语言写的,你可以把它用VB改一下。
# G+ F& k" [: d
1.2版本(需知道密文的二进制数据,也就是在XP下)
+ o: u0 D8 t/ t* k
printf("Please enter password:"); /*输入一个2位的16进制数据d*/
6 A! l, Z+ M/ E- t5 `+ L; g1 o
scanf("%x",&d);
* |% d+ A( M2 c4 F4 | B
if((d>=0&&d<=32)||(d>=64&&d<=95)) /*计算机将d转换为10进制来计算,如果0<=d<=32或64<=d<=95*/
1 S3 {7 w5 H3 Z0 ]
{b=d%4; /*b=d/4的余数*/
3 f4 R9 I9 `$ g. p$ F$ [0 n
if(b==0||b==1) /*如果b=0或b=1*/
1 f7 D$ Y2 @6 v" ]* Z
c=93-d; /*c=93-d*/
- x/ W+ A" M- x" c9 w4 l1 K
else if(b==2||b==3) /*如果b=2或b=3*/
* |6 N* t5 k3 L/ F- J, \
c=97-d; /*c=97-d*/
) y2 s, n/ V5 P# ^/ }% D
}
" m5 `' [ E/ d4 b, L# D
if((d>=32&&d<=63)||(d>=96&&d<=126)) /*如果0<=d<=32或64<=d<=95*/
8 s, _% m% \, b( y
{b=d%4; /*类似以上方法*/
- e% y' y+ j5 a) D3 y
if (b==0||b==1)
! T+ p2 w7 }( X7 K! H& `6 K0 [
c=157-d;
e0 r6 \# l$ L7 V# I4 @
else if (b==2||b==3)
. ~( Z: w" }+ `! c
c=161-d;
! Y6 Q( y& H D
}
/ |, j1 e6 ?% i0 |4 Y8 w: |9 v
printf(" THE WORD IS:%c\n\n",c); /*将10进制c对应的ASCⅡ的明文输出*/
, b' w" M4 j/ I' t- R
4 l d! _, Y8 Q* Q0 s% n$ D" Z
2.0版本很简单只要用每一排16进制的字符串如上图中的例子349F9DA19D以9F-34,9D-34,A1-34,9D-34得到的结果转换为10进制,在对应ASCⅡ就是明文了。
4 r6 E0 k1 X+ c" K8 q# j
3 u0 I6 C0 T7 E( P( c/ V
2 V% l2 w' Y: U" d% _6 P
我用C写了个翻译软件,自己用着,你们用VB写,或加上其他功能的话,别忘了给发我一个,章鱼谢过了^_^
作者:
skywalker
时间:
2003-6-30 01:14
提示:
作者被禁止或删除 内容自动屏蔽
作者:
煎饼
时间:
2003-7-1 13:17
我知道啊,昨晚发的时候忘记了
作者:
斯派克
时间:
2003-7-9 19:28
提示:
作者被禁止或删除 内容自动屏蔽
作者:
游侠无极限
时间:
2003-7-12 00:51
标题:
VB代码
Dim d As Integer, b As Integer, c As Integer
1 w+ }! m) J7 G
d = Val("&H" + InputBox("
lease enter password:"))
5 P8 a9 k8 \; P# m( c( b
Select Case d
& y+ ?* s; J9 P) [0 u
Case 0 To 32, 64 To 95
# x! S2 V4 S9 v( z& T, b8 ]
b = d Mod 4
5 z! D9 d, O' H4 ?3 P4 d$ q
If b = 0 Or b = 1 Then
$ L* R3 o% Q( R! F! X! C( c8 b" O
c = 93 - d
9 _5 @: `, b4 R }6 R
ElseIf b = 2 Or b = 3 Then
2 \+ U0 L4 S# D u
c = 97 - d
2 o U9 Q- w1 v$ ^0 P" I8 o2 S
End If
! c( [: F3 r5 Q: K
Case 32 To 63, 96 To 126
) w3 O# ~ l5 s9 i* u
b = d Mod 4
& x1 N9 {3 A2 |# B1 L. \* f
If b = 0 Or b = 1 Then
' C; q9 H. |5 r4 r9 _$ D- H
c = 157 - d
5 j# v- A& T$ [+ S
ElseIf b = 2 Or b = 3 Then
% ]& E$ u% X: u- U
c = 161 - d
& E [% ^7 E1 x; [; z* i
End If
J% B/ e# Q( c1 v# z$ Q
End Select
8 }& I# v! [; K# a3 x, ^( z+ i
MsgBox "THE WORD IS" + vbCrLf + Chr(34) + Chr(c) + Chr(34)
作者:
游侠无极限
时间:
2003-7-12 00:53
如果要人性化一点的话,可以用VB直接读取注册表项,然后转换成字符串
作者:
雁北飞
时间:
2003-7-13 12:13
提示:
作者被禁止或删除 内容自动屏蔽
作者:
王某人
时间:
2003-7-14 20:23
嗯~~~破这个密码有什么用么?
欢迎光临 下沙论坛 (http://bbs.xiasha.cn/)
Powered by Discuz! X3.3