`
datoplay
  • 浏览: 1622728 次
文章分类
社区版块
存档分类
最新评论

透视Win95的密码档

 
阅读更多
透视Win95的密码档

=========================================================
作者:苏俊铭, 欢迎散播.......................
SJMisBestHacker.............................
=========================================================

  基本上若您的电脑曾经让别人使用过的话,那很可能的,您的密码已经被他人
所获知了(包括您上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<SData的长度; counter++)
{
x=(x+1)%256;
y=(Table[x]+y)%256;
swap(&Table[x], &Table[y]);
XOR_Index=(Table[x]+Table[y]) %256;
SData[counter] ^= Table[Xor_Index];
}

所以在解码期间不仅x,y在变,连Table的内容也在变.

****重点****
假设SData的大小为 100 Bytes,
如果我要先解开 20 Byte, 则流程为 1 -> 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)--------------+ &brvbar
....... &brvbar &brvbar
Tag1:长度(2 byte),"连线到"的名称,Password <-+-+
长度(2 byte),"连线到"的名称,Password <-+
====================================================



Win95 大概的流程是:
1 -> 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 < passwordLen + 1; i++ )
{
int tmp = ( int ) ( result >> 25 );
result += toupper( password[ i ] );
result = ( result << 7 ) &brvbar tmp;
}

就是一直转来转去再加来加去的啦!

所以若你知道某人进入Win95的密码,那你就可以算出 Key, 也就可取得某人
所使用的所有帐号了.怎麽做呢? 喔, 这不必写任何程式, 只要用SoftICE就
可以了, 所有的动作都在 Mspwl32.dll中, 设个断点, 一次一组,方便又好用.

如果你连此人进入Win95的密码都不知道的话, 那只好用暴力法了.

1.编个密码-->转成Key-->经RC4-->什麽!前20Byte的username不对--再来--+
^/-----------------------------------------------------------+

2.指定一个Key-->经RC4-->什麽!前20Byte的username不对--再来--+
^/----------------------------------------------------+

那个好用,就得看运气了. :)


Glide.EXE 好像在yhq可取得, 不知道.....忘了????????

注:
这些Bug後来Microsoft出了一支 Mspwl32.dll 的更新程式, 听说可解决此
问题.我没试过,所以我也不知道. 你可看看你的 .PWL 档的最前面4个Byte
是否为 b0h,"MFN", 若是的话, 表示你有危险啦!!!

分享到:
评论

相关推荐

    透视密码,针对*号的密码显示方式进行透视。

    透视密码,针对*号的密码显示方式进行透视。透视密码,针对*号的密码显示方式进行透视。透视密码,针对*号的密码显示方式进行透视。透视密码,针对*号的密码显示方式进行透视。

    MFC扫雷程序,完美复现WIN7扫雷,添加透视及自动扫雷功能

    具备透视功能,将鼠标指向要透视的块,按住“Ctrl”键即可透视。不同的难度下的透视次数不同,其中,初级1次,中级2次,高级3次。 3. 具备提示功能。在可推导情况下,点击“帮助”-&gt;“单步提示”。 4. 同时,...

    透视密码查看器2.0

    C:\Documents and Settings\Administrator\桌面\侠客密码查看器\侠客密码查看器\ViewPass.exe

    PUBG雷达网页透视源码

    PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码PUBG雷达网页透视源码...

    传漾SameData-从网络广告透视大数据商业密码.docx

    传漾SameData-从网络广告透视大数据商业密码.docx

    数据透视表 数据透视表

    数据透视表 数据透视表 数据透视表 数据透视表 数据透视表

    wpf图像透视变换

    wpf图像四顶点透视变换,wpf图像四顶点透视变换,wpf图像四顶点透视变换

    数据透视表和数据透视图

    数据透视表和数据透视图 通过本章,你应当学会: (1)创建数据透视表。 (2)设置数据透视表选项。 (3)使用数据透视表分析数据。 (4)创建数据透视图。

    EXCEL图表与数据透视表 ppt课件

    非常全的关于EXCEL PPT课件,有理论知识,有案例。包含如下内容: 阶段一:图表 柱形图表 ...该PPT包含了EXCEL中所有类型的图表和数据透视表,是本人花了10天做出的高质量PPT,得到学员的普遍好评!

    透视自瞄代码C/C++,矩阵透视

    透视自瞄代码C/C++,矩阵透视,使用所有FPS游戏,通用代码。

    数据透视表介绍——组合

    数据透视表使用方法精要 1、Excel数据透视表能根据时间列和用户自定时间间隔对数据进行分组统计,如按年、季度、月、日、一周等,即你的数据源表中只需有一个日期字段就足够按照(任意)时间周期进行分组了。 2、...

    透视平行投影_透视平行投影_

    c语言,利用opengl中用自带函数实现平行,透视投影

    详解透视原理详解透视原理.doc

    详解透视原理

    AVA的透视源码

    AVA透视源码

    图像处理之逆透视变换.rar_图像处理_图像逆透视_逆透视_逆透视矩阵_透视变换原理

    逆透视变换的数学原理,在文档中有详细的逆透视变换的矩阵推导过程,但是没有代码,opencv逆透视变换代码可以看我发的另一篇资源。。。。。。。。。。。。。。。。。。

    透视学学习之两点透视

    如果建筑物仅有铅垂轮廓线与画面平行,而另外两组水平的主向轮廓线,均与画面斜交,于是在画面上形成了两个灭点Fx及Fy,这两个灭点都在视平线hl上,这样形成的透视图称为两点透视。正因为在此情况下,建筑物的两个立...

    数据透视表大全

    若要创建数据透视表,请运行“数据透视表和数据透视图向导”。在向导中,从工作表列表或外部数据库选择源数据。向导然后为您提供报表的工作表区域和可用字段的列表。当您将字段从列表窗口拖到分级显示区域时,...

    Excel数据透视表应用大全

    创建复合范围的数据透视表,通过导入外部数据“编辑0LE DB查询”创建数据透视表,使用“Microsoft Query”数据查询创建透视表,利用多样的数据源创建数据透视表,在Web上使用数据透视表,数据透视表与VBA,使用数据...

    Excel数据透视表应用大全2009.pdf

    《Excel数据透视表应用大全》共18章,分别介绍创建数据透视表,改变数据透视表的布局,刷新数据透视表,数据透视表的格式设置,在数据透视表中排序,数据透视表的项目组合,在数据透视表中进行计算,数据透视表函数...

    Three 之 three.js (webgl)透视视角和正交视角,以及透视转正交的视角切换代码

    参考博文:Three 之 three.js (webgl)透视视角和正交视角,以及透视转正交的视角切换 https://blog.csdn.net/u014361280/article/details/124544320?spm=1001.2014.3001.5501 一、简单介绍 Three js 开发的一些...

Global site tag (gtag.js) - Google Analytics