Login255 发表于 2014-9-29 16:13

关于.wpc进度文件的结构

各位好,此为本人第一帖,新手报到请多关照。
对WIFI路由感兴趣是最近几天的事,不过一见钟情,尤其从本论坛学习到了很多,并开始有了收获,特整理如下:
看到本论坛也有很多文章提到修改wpc文件来控制Reaver的扫码排序,今特拿自己的例子研究了一下,发现wpc文件的结构和网传的说法还是有差异的。
1、wpc文件的存储位置和命名方法:
Reaver 1.4的进度文件保存在/usr/local/etc/reaver/目录下,文件名为AABBCCDDEEFF.wpc,其中AABBCCDDEEFF即扫描的无线路由的MAC地址;
这是一个文本文件,在windows下可以用UltraEdit打开编辑,在Linux下可以用cat命令查看或vi编辑器修改;
2、wpc文件的结构:
任何一个wpc文件均只有11003行,其中如果没有手动修改过,里面只有前3行随PIN的进度发生变化,后面的11000行永远不变;
wpc文件由4部分组成:
第一部分:第1行和第2行,当前指针,指向当前PIN进度;
第二部分:第3行,表明当前进展。为0表示没有任何进展,为1表示已经找到了前4位,为2表示已经找到完整PIN码;
第三部分:第4~10003行,前4位PIN码顺序表,Reaver就是按这个表的顺序PIN;
第四部分:第10004~11003行,第5~7位PIN码顺序表,Reaver就是按这个表的顺序PIN;
下面以一个已经找到PIN码的wpc文件为例进行说明,本例找到的PIN码是13475024,见图:


所以,童鞋们一定要注意,第一行1355并不代表目前PIN到了1355XXXX,而是指前四位按表第三部分顺序PIN了1356行(从0开始计算,为了方便指针计算的原因吧),所以1356加上前面的3行就是1359行,其内容1347才是真正的前四位。5~7位也是一样的意思。

3、关于猜码:
有网友说可以菜码,用-p参数,如果发现进度变成了90%以上就说明猜对了前4位,经个人试验这个说法是不对的,因为无论你的p参数给的是多少,进度都会马上变成90%以上,你会误以为找对了,但实际上Reaver遇到这个参数时,马上将第3行改为了1,然后开始PIN,所以到最后如果没找到完整PIN码,就会在XXXX998X处开始循环(XXXX为你给定的PIN参数)。出现这种情况时,需要按Ctrl+c终止,然后修改wpc文件,将1行修改为合适数值,2行为0,三行为0,取消p参数重新PIN.

4、关于排序:
知道了wpc文件结构,其实研究排序已经很容易了,只要改了第一行和第二行就可以按你设定的起点开始PIN了。

ChowLiang 发表于 2014-9-29 16:25

沙发。
必须的。{:5_238:}

ChowLiang 发表于 2014-9-29 16:28

笨人希望大伙
认真学习WPC进度文件结构。{:5_238:}

ChowLiang 发表于 2014-9-29 16:31

笨人以为
水滴PJ软件的精华与运用,
俱在WPC文件中。{:5_263:}

ChowLiang 发表于 2014-9-29 16:34

CDLINUXPJ软件{:5_263:}
笨人最爱是水滴{:5_259:}

WPC文件结构,
真的值得大伙好好珍惜。{:5_238:}

鬼的爱鸟 发表于 2014-9-29 16:42

现在防pin了;P

龊龊 发表于 2014-9-29 18:58

{:6_280:}涨姿势{:6_280:}马克、、

Login255 发表于 2014-9-29 20:07

本帖最后由 Login255 于 2014-9-30 00:11 编辑

刚才又观察了一下,发现:

1. 当第3位是0时,第2位也一直是0,只有第1位每成功PIN一个码就增1;
2. 同时发现此时PIN的过程中5~7位确实一直是567不变(567对应的正是1楼描述的第四部分的第0行)。
3. 每成功PIN一次,第8位PIN码也跟随变化,而实际上wpc中并没有第八位。记得哪位先人说过第八位是数据校验位,是由前面七位计算出来的,所以进一步说明如下:

1. PIN码分为3个部分,第一部分为前4位,第二部分为中间3位,第三部分为最后一位校验位;
2. 真正PJ时,首先找到前4位,这时中间部分不动,wpc的第2和第3位恒为0;
3. 当找到前4位,或通过-p参数锁定前4位后,wpc的第3行改为1,从此锁定wpc第一行,只变化5~7位码,并同时计算出第八位;
4. 当5~7位也找出后,reaver将按照PIN码与密码的对应关系计算PSK,得出PSK密码,同时将wpc第三位设为2,PJ结束进程。
页: [1]
查看完整版本: 关于.wpc进度文件的结构