移除种子文件中的邪恶信息
2012年,一部名为ABS-130的日本电影在网上引起了震动。在网络上,“一开始想长得像狗一样,现在却长得太丑”的现象接连出现,成为2012年网络上的一件大事。
2014年,清网行动如火如荼,各大互联网公司都以身作则。一时之间,XX云和X射线赶走了邪恶的种子。运营网万岁!(把我的老师仓还给我!)
所有主要的网络磁盘和下载应用程序都从种子中提取关键信息,并将它们拒之门外。这些关键信息藏在哪里?我们来看看。
种子文件结构
以下内容来自维基百科
那个。torrent种子文件本质上是一个文本文件,其中包含Tracker信息和文件信息。追踪器信息主要是BT下载中使用的追踪器服务器的地址和追踪器服务器的设置。根据目标文件的计算生成文件信息,并根据BitTorrent协议中的Bencode规则对计算结果进行编码。其主要原理是需要将待下载的文件虚拟划分为大小相等的块,块大小必须是2k的整数次方(因为是虚拟块,硬盘上不生成每个块文件),并将每个块的索引信息和Hash验证码写入种子文件;因此,种子文件是下载文件的“索引”。
上图是典型的种子结构,那些被识别的邪恶关键词隐藏在名字和文件中。这个名字包含了种子的名字,比如abcd-123性感XXXX。文件中的路径包含所有要下载的文件的信息,例如最新的地址。草x社区的txt等。
Node.js和parse-torrent库
为了找出种子中的邪恶信息,我们邀请了Node.js和parse-torrent库作为助手。
实验准备:
一个种子安装在一台Node.js计算机上
首先,我们使用npm安装parse-torrent库,这有助于我们快速找到种子中的信息。
npm安装解析-torrentvar fs=require(' fs ');var parse torrent=require(' parse-torrent ');var info=parse torrent(fs . readfilesync(' my . torrent '));console.log(信息);这个库将解析种子信息,并将其作为对象返回给我们。
检查结果:
名称:
文件:
您可以看到解析种子库解析的名称和文件信息以缓冲区的形式存储。
干净的种子
如何洗去种子中的邪恶信息,将邪恶的种子扼杀在摇篮中,最重要的是清除文件中调音名称和路径的信息。
函数cleanInfo (info) {//用md5 info.name=md5(info.name)加密种子名;info[' name . utf-8 ']=MD5(info[' name . utf-8 ']);var files=info.filesfor(var I=0;I .文件.长度;I){ var file=files[I];for(文件中的var键){ if(key==' path ' | | key==' path . utf-8 '){ for(var j=0;j文件[键]。长度;j ) { var text=file[key][j]。toString();var dotIndex=text.lastIndexOf(' . ');//用md5文件[key] [j]=MD5 (text.slice (0,点索引))text.slice(点索引,text.length)加密种子名;} } } }返回信息;}//将清理后的info对象重新生成为torrent文件varbuf=parstorent . totorentfile({ info : clean infos[I]});fs . Writefile(dir '/clean infos[I])。名字。‘torrent’,buf);在这之后,我们的邪恶种子文件变成了这样:
实战阶段
首先,准备一个种子,离线下载。
起初它被拒绝了。
然后运行脚本来清理它。
下载节点清洁洪流IPTD-xxx.torrent成功!
脚本的源代码在这里。是时候看我的下载了!
(* *脱下来。给我看看这个!)
最后
本文纯属技术讨论。感谢您的阅读。请给我指出缺点。
请花一点时间与你的朋友分享这篇文章或留下评论。我们将真诚感谢您的支持!
版权声明:移除种子文件中的邪恶信息是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。