自从上次给大家介绍了隔壁老王的绝学——破解Wi-Fi密码后,密码简直成了硬创邦小编的一块心病。
帐号、密码、邮箱、密保问题……如果你想要成为某个网站或者应用的用户,几乎它们都会让你注册帐号。然而我们也被告诫过,不要把鸡蛋放在同一个篮子里,所以又不能总用同样的密码。时间一长,连我们自己都忘记了哪个对应哪个了。
这样的困扰想必大家都曾有过,而一般的解决方式有三个:
一、冒着“一被黑则全被黑”的风险,全部采用同样的密码,然而这太危险了。
二、把密码记在某个应用上?不不不,一旦手边没有那个设备又有急用的话,其实不太方便;而万一设备丢了……或者传到云端?然而这更不靠谱了,云上的世界非常危险,随时都会被黑!
还有一个办法就是把密码写在小本本上,然而这也很容易被别人拿到。
为了解决这个问题,我们可以制作一个小设备——“The PinTin Nano”来存储我们的密码。它非常轻便,可以随身携带,甚至能装进薄荷糖铁盒里。
还在怕隔壁老王蹭你们家Wi-Fi?现在,就让硬创邦小编来介绍详细的制作过程吧!
一:买买买
我们需要的材料如下:
英特尔Edison芯片
开发板(能接Wi-Fi的就OK)
Sparkfun家的OLED模块
Sparkfun家的电池模块
还是Sparkfun家的硬件模块
小的锂电池(可根据你的盒子大小而定)
一盒薄荷糖(铁盒的那种,要把里面的糖吃光哦)
微型USB线
大概购买这些的成本是700元软妹币。剁完手了没?让我们继续吧。
二:装装装!
把Edison芯片和电池装在开发板上。如果尺寸不对,你可以选择换一块尺寸合适的电池,也可以选择再去买一盒大点的薄荷糖。然后如图上一样将它们组装起来(白色的就是电池啦)。
三:芯片设置
至于初级的设置,在sparkfun的网站上有手把手的教程,在这里就不详细列出,附个网址给大家。
比较难的部分在于Edison的调试上。设备有时会出现连不上Wi-Fi的情况,这是因为设备使用了相同的无线以太网接口,所以会引发冲突。解决方案在此链接里可以找到。此外,还需要给Edison设一个基础密码,这将很可能是你以后上网时唯一需要记住的密码。
四:代码部分
离成功已经不远了!
打开电脑终端,输入如下指令:
vi /etc/opkg/base-feeds.conf
然后添加软件源:
src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
非常的棒!赶紧先保存下,然后我们在电脑上更新一下,运行
opkg update
最后再输入
opkg install mono
搞定了!
五:运行程序
这个比起其它的步骤而言简直是小菜一碟。在GitHub上下载PinTinNano。(链接在此)
如果一切正常,你就能运行mono PinTinNano.exe了。
然后你就可以看到系统在跟你打招呼了:“Hi :)”
还有一步,我们的密码盒就大功告成了!
六:代码优化(如果对代码不是非常精通,可忽略此步)
刚刚我们运行的代码是C语言,我们也可将加密程序和数据库更替,并在Windows系统上更换WPF。这能提供极大的自由度。
https://github.com/sparkfun/Edison_OLED_Block/tree(GPL)
http://www.bouncycastle.org/csharp/(MIT X11适应)
这两个是我们采用的库,感兴趣的用户可以参考一下。
为了安全起见,建议PinTinNano在 GPL许可协议下运行。
开始使用啦!
运行程序,它会显示“Hi :)”的欢迎界面。
然后我们要输入刚才设置的那个密码,进入程序。因为我们选用了NES style,所以我们可以采用操纵杆来选择字母,右边的按钮可切换大小写,还有数字和特殊字符。如果想保存,只需要将光标移到右下角的“y”并确认即可。如果选择了“Loaded”(加载),菜单就会显示你目前保存的密码,并且你也可以在这个界面添加新的密码。
而在“List”(列表)上,你可以通过“Uri —— Username ——Password ——Note”的顺序找到你的密码。
如果想添加新条目,选择“New”(新),我们可以看到屏幕上的“title”(标题),和类似登录界面的对话框,我们就可以在这个界面上写入新的帐号密码。目前这个设备只支持9位密码,不过这个问题很快会得到解决。重复相同的过程进行再次确认,选择“Stored”(存储)——“OK”就可以了。
最后:搞定了!
我们可以将PinTinNano.exe放在/etc/init.d下运行,这样一来,系统启动后PinTinNano就会自己运行,以后也不需要再重新进入PinTinNano界面了,只需要保证它时时有电就行。
然后切换到“/etc”:
root@PinTin:~# cd /etc/
在当前目录(/etc)下新建目录 init.d (如果不存在的话)
root@PinTin:/etc# mkdir init.d
root@PinTin:/etc# cd init.d/
建一个新文件,命名为pintinnano.sh。键入下面的信息:
root@PinTin:/etc/init.d# vi pintinnano.sh
root@PinTin:/etc/init.d# cat pintinnano.sh
#!/bin/sh
mono /home/root/pintinnano/PinTinNano.exe
这是授予一个能够提取所有文件夹的假设。现在开始执行指令:
root@PinTin:/etc/init.d# chmod +x /pintinnano.sh
Now you can check if it already runs. :)
root@PinTin:/etc/init.d# ./pintinnano.sh
If it does, you can perform a update-rc.d:
root@PinTin:/etc/init.d# update-rc.d pintinnano.sh defaults
最后reboot一下,再检查一次。
非常好,我们已经成功了。
为了更好地防老王,欢迎关注硬创邦(leiphone_bang)微信公众号哦!