nodejs教你偷舍友U盘里的文件

作者:admin / 时间:1年前 (2018/11/11) / 分类:后端测试 / 阅读:361 / 评论:0

传说程序员总喜欢黑进别人电脑偷看羞羞的事情,下面我们来看看程序员是怎么黑进别人电脑的。

前些天在头条上看到,有人说舍友总喜欢神秘的偷看u盘里的文件,然后就用python写了偷舍友u盘数据软件。我想了一下,nodejs也可以做到的。独乐乐不如众乐乐,u盘里的好文件就应该和大家一起分享。

先说一下我的思路:只要他点了你的exe文件,然后nodejs就会不停地轮询查看是否有U盘插入,如果发现有U盘插入,他的电脑就会和你的电脑进行ipc通讯连接,然后nodejs就会遍历出U盘里的所有文件,最后把这些文件全部传到你的电脑上。整个过程没有任何界面,全部在后台运行。

看一下我们的调试结果

nodejs教你偷舍友U盘里的文件


控制台的信息只有调试模式才能看到,当你舍友点击exe文件时是没有任何提示的。

控制台开头的几行显示复制文件,是因为我们的exe文件会释放子exe文件到其他文件夹下。

再来看一下我遇到的那些坑(也许你遇到的会比我更多点)

nodejs教你偷舍友U盘里的文件


再来看下我们的exe主文件里写了什么

nodejs教你偷舍友U盘里的文件


里面有一句很重要的操作:将exe文件自身复制到其他地方,然后添加开机启动项,所以下次你舍友启动电脑后,程序就自动监听是否有u盘插入了。

nodejs教你偷舍友U盘里的文件


我选择了将exe文件拷贝到windows目录下,你也可以把它拷贝到其他地方。之所以要拷贝一份,是因为就算舍友删了你原来的那个文件,拷贝的这个文件他找不到在哪,而且添加开机启动项的那个文件正是他找不到的那个文件

接着我们来看代码,在正式写代码之前我们先重新定义一下控制台的输出颜色

nodejs教你偷舍友U盘里的文件


这就是你看到的控制台里为什么有的颜色是黄色有的是绿色的原因。

接着我们来正式写功能代码。

nodejs教你偷舍友U盘里的文件


其实就是调了两个外部命令,分别是获取u盘盘符和获取u盘文件列表,这里需要注意一下,调用的exe文件的返回值是ascil格式,而我们代码运行时的格式是utf8,所以这里需要用一个插件来转换格式

nodejs教你偷舍友U盘里的文件


当程序发现有u盘插入时,终止轮询,开始执行拷贝文件操作。我们用一个for循环遍历exe给我们返回的文件列表信息,在每一个for循环里,我们连接一下我们的电脑,把文件传到我们电脑里。

nodejs教你偷舍友U盘里的文件


这是u盘里 的文件,u盘里可能有很多嵌套文件夹,文件夹里有很多文件,没关系,我们都可以拷过去

nodejs教你偷舍友U盘里的文件


我们看到,u盘里的文件已经都拷到自己的电脑里了

nodejs教你偷舍友U盘里的文件


我把exe文件名写成了service,主要是为了伪装成系统进程用的,后面的进程描述可以自定义,我就写正在偷你的U盘数据了。

nodejs教你偷舍友U盘里的文件


当我把这nodejs程序写完并封装成exe文件后,才发现windows shell也可以做到,而且只需要5行代码就搞定了,依然是exe文件,文件大小才100多k,,感觉之前的nodejs程序都白写了,貌似只要能用shell完成的任务,在代码量上都能甩其他语言好几条街的。诶,不说了,搬砖去了。


没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。