下沙论坛

标题: 网通拨号软件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* kprintf("Please enter password:"); /*输入一个2位的16进制数据d*/ 6 A! l, Z+ M/ E- t5 `+ L; g1 oscanf("%x",&d); * |% d+ A( M2 c4 F4 | Bif((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 Kelse 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# Dif((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 yif (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- R4 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 Gd = Val("&H" + InputBox("lease enter password:"))
5 P8 a9 k8 \; P# m( c( bSelect Case d
& y+ ?* s; J9 P) [0 uCase 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 Then2 \+ 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: KCase 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 Select8 }& 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