| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • 如何关闭常见端口(113、4899…

  • 网络安全基础 教你怎样关闭网…

  • 完美关闭窗口JS

  • 关闭Windows XP相关端口保安…

  • 如何关闭和限制电脑不用的端…

  • 常见木马和未授权控制软件的…

  • 常见木马和未授权控制软件的…

  • 常见木马和未授权控制软件的…

  • 如何关闭常见木马和未授权控…

  • Windows 2000系统下关闭端口…

  • Q
    您现在的位置: 我是IT人 >> 菜鸟黑客 >> 黑客入门 >> 文章正文
    透视Win95的密码档           
    透视Win95的密码档
    作者:八千尺 文章来源:本站原创 点击数: 更新时间:2006-2-7
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
    基本上若您的电脑曾经让别人使用过的话,那很可能的,您的密码已经被他人
    所获知了(包括您上Internet 用的 Username & Password),只要Copy您在Win95
    目录下的.PWL档即可着手进行解码,然後您的网路费可能就莫名其妙的增加了。
      有人就问了:可是我的Win95在登入时需键入密码啊,别入又不知道我的密码!
    需知道要获得 .PWL 档并不一定非得进入Win95,只要用一片DOS磁片开机 or 按F4
    ⅱF8 ...
    在网路上有一支程式叫 Glide.EXE,此程式宣称能解 .PWL 档,的确是如此,
    不过此程式有某些先天上的限制,以至於所解出来的东东可能只有一小部份。相信
    有些人已试过这支程式了,稍後我会说明这支程式的原理以及为什麽在大多数的情
    况之下只能解出一小部份的原因。幸运的话这「一小部份」已含有第一组完整的
    Username & Password 了。
      Win95 是采用 RC4 的编码方法,此演算法是不可逆的,也就是说您无法将
    .PWL档解回原来的样子,除非您有 Key(或用暴力法)·小弟先说一下 RC4
    大概的流
    程:
    你拥有一个 32 Bit 的Key & 待解码的资料(就称为 SData 吧)
    以下为解码程式所做的事情:
    1.初始化一个Table, 此Table的资料结构为
    {
      unsigned char Table[256];
      unsigned char char x,y;
    }
    它会将Table依序填入0,1,2,.....FFh, 最後将 x,y 设为 00.
    2.将此256 Bytes 的 Table 根据 Key 做一些Swap的动作, 完成
    之後, 此Table看似不规则排列了.
    到目前为止算是[初始化]的动作吧.
    再在是解码的动作:
    3.
    for(counter=0; counter 2 -> 3
    再来我会判断此20个Byte是否为正确的资料,if 正确的话我再
    解开剩下的 90个Byte 流程为 2 -> 3 ,若分成多的片断的话,则
    统程应还是这样的:
    1 -> 2 -> 3 解最前面的 20 Byte
    2 -> 3 再解 20 Byte
    2 -> 3 再解 20 Byte
    2 -> 3 再解 20 Byte
    2 -> 3 再解 20 Byte
    反正第一次就是从 1 开始啦!!! :)
    ====================================================
    PWL的格式是(从0208h开始看):
    20 byte (Username)
    2 byte (第一组在档案的 Offset)----------------+
    2 byte (第二组在档案的 Offset)--------------+ |
    ....... | |
    Tag1:长度(2 byte),"连线到"的名称,Password  2 -> 3 解码到Tag1减1的地方(此时Username现形了)
    if(Username登入95时的Username)
    {
      拨号网路的密码栏将是空的(即使储存密码有打勾)
      (跳到Step1也没用,因为Key不对嘛,再解下去也是不对的.)
    }
    else{
      Step1: 1 -> 2 -> 3 从Tag1的地方开始解码.
      While(NotEND)
      {
        2 -> 3 解2个byte(得到长度,假设解出後,得到 YY)
        2 -> 3 解YY个Byte(得到"连线到"的名称&Password)
        if(和"连线到"的名称符合的话)
        {
          将Password填入密码栏;
          Break;
        }
      }
    }
    Win95的问题就出在 Username 一定是大写, 而且不足20个Byte的地方以空白填入,
    更糟糕的是PWL的档名就是Username, 基於此原理我们已得知前面20Byte每个Byte
    各是XOR什麽东东了, 我们假设为:
    12 4F 33 20 7F F6 D9 3C 63 AA 11 40 32 DE 46 55 77 2C 3A AD
    其实从PWL可分析到共有几组帐号,至於怎麽分析的呢? 我也忘了.反正可以就是啦!
    So, 0108h+几组*2= Tag1 .
    哈,我已经知道第一组帐号存在那里了.(0108h是固定的)
    即然知道第一组的位置,常然也就得到了紧接在Username 的那 2 个Byte,
    现在我们已拥有了 22 个byte了喔!
    怎麽解第一组呢?
    因为95在Step1的地方又重覆了一次 1 -> 2 -> 3
    所以我们可直接使用我们幸苦得
    到的 22 Byte 从Tag1的地方将它给XOR下去.
    如果"连线到"的名称+Password的长度
    不会很长的话----> 完全显露无遗(可能还秀出了第二组的一点点喔!)
    以上就是 Glide.EXE 所利用的原理(根本不需要Key就解出一组出来了)
    如果你要将所有的帐号(Hinet'Seednet'成大'广通...不会吧!帐号那麽多,借一组来用
    用可以吗?)全部抓出来, 那很抱歉,你必需知道 Key.
    \__ 在成大BBS和女生Talk多了,打错了.
    至於 Key 是怎麽来的呢?
    我们在进入Win95时,不是会出现一个输入密码的Dialog吗?
    对啦,就是利用这密码
    换算来的啦!(没有的话,表示你没设定密码, 你的Key=00000000h)
    以下是Win95将登入密码转为Key的程式(最後的eax就是你的Key喔):
    push esi
    xor eax,eax
    mov si,密码长度+1
    cmp si,ax
    jz 7fcb19e7
    mov edx,offset 密码
    movzx ecx,byte ptr [edx]
    7fcb19d1:
    add eax,ecx
    inc edx
    mov ecx,eax
    shl ecx,7
    shr eax,19h
    or ecx,eax
    dec si
    mov eax,ecx
    jnz 7fcb19d1
    7fcb19e7:
    pop esi
    ret 8
    嗯,组合语言比较乱, 用 C 来看(结果一样):
    unsigned long result = 0L;
    for( i = 0; i > 25 );
      result += toupper( password[ i ] );
      result = ( result 转成Key-->经RC4-->什麽!前20Byte的username不对--再来--+
    ^\-----------------------------------------------------------+
    2.指定一个Key-->经RC4-->什麽!前20Byte的username不对--再来--+
    ^\----------------------------------------------------+
    那个好用,就得看运气了. :)
    Glide.EXE 好像在yhq可取得, 不知道.....忘了????????
    注:
    这些Bug後来Microsoft出了一支 Mspwl32.dll 的更新程式, 听说可解决此
    问题.我没试过,所以我也不知道. 你可看看你的 .PWL 档的最前面4个Byte
    是否为 b0h,"MFN", 若是的话, 表示你有危险啦!!!
    文章录入:ppxb6648    责任编辑:54iter 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |