迅雷协议分析的源代码

迅雷精简版:轻量级高速下载神器 本文还有配套的精品资源,点击获取 简介:迅雷精简版是一款轻量级下载工具,剔除了广告和不必要的插件,专注于提供核心的下载服务。它继承了迅雷的高速下载特性,支持多源下载、资源嗅探、任务管理、资源搜索、磁力链接和BT下载。虽然可能不再进行官方更新,但迅雷精简版仍然提供简洁的界面和高效的下载体验。 1. 迅雷精简版简介 迅雷精简版是一款小巧、快速、免费的下载工具,专为追... 阅读详情
#include <iostream>
#include <winsock2.h>
#include "aes.h"
#pragma comment(lib, "Ws2_32.lib")
bool MakePackage(const char *address, const char *id, unsigned char *package)
{
 size_t len = strlen(address);
 if (len > 0x3C)
 {
  return false;
 }
 memset(package, 0, 0x7C);
 unsigned char *p = package;
 *p = 0x29;//固定的头
 p += 4;
 *p = 0x05;//命令标示
 p += 4;
 *p = 0x70;//长度
 p += 4;
 *p = 0x05;
 p += 4;
 memcpy(p, "QUERY", 6);
 p += 6;
 *p = len;//地址长度
 p += 4;
 memcpy(p, address, len);//地址
 p += len;
 *p = 0x10;
 p += 4;
 memcpy(p, id, 0x10);
 p += 17;
 *p = 0x14;
 p += 4;
 *p = 0x14;
 p += 12;
 unsigned char temp = package+0x7C - p;
 for (; p!=package+0x7C; ++p)
 {
  *p = temp;
 }
 AES aes;
 unsigned char key[16] = { 0x4C, 0xBA, 0xCF, 0xF2, 0xD4, 0x5F, 0x8F, 0x28, 0xBE,
0xD4, 0xDD, 0x26, 0x08, 0x36, 0x0E, 0xE1 };
 const unsigned char *plainText;
 for (int i=0xC; i<0x7C; i+=16)
 {
  p = (unsigned char*)package + i;
  plainText = aes.Cipher(p, key, 16);
  memcpy(p, plainText, 16);
 }
 return true;
}
unsigned char *MemSearch(const unsigned char *mem, const int memSize, const
unsigned char *patt, const int pattSize)
{
 if (memSize <= 0 || pattSize <= 0)
 {
  return 0;
 }
 
 int i;
 
 int td[256];
 for (int c=0; c<256; ++c)
 {
  td[c] = pattSize + 1;
 }
 const unsigned char *p;
 for (p=patt, i=0; i<pattSize; ++p, ++i)
 {
  td[*p] = pattSize - (p - patt);
 }
 
 const unsigned char *t, *tx = mem;
 
 while (tx + pattSize <= mem + memSize)
 {
  for (p=patt, t=tx, i=0; i<pattSize; ++p, ++t, ++i)
  {
   if (*p != *t)
   {
    break;
   }
  }
  if (i == pattSize)
  {
   return (unsigned char*)tx;
  }
  tx += td[tx[pattSize]];
 }
 return 0;
}
bool main()
{
 cout << "please input full address:" << endl;
 char address[0x5c];
 cin >> address;
 cout << endl;
 unsigned char package[0x7C];
 if(!MakePackage(address, "0004618F9B760000", package))
 {
  return;
 }
    AES aes;
 unsigned char key[16] = { 0x4C, 0xBA, 0xCF, 0xF2, 0xD4, 0x5F, 0x8F, 0x28, 0xBE,
0xD4, 0xDD, 0x26, 0x08, 0x36, 0x0E, 0xE1 };
 WSADATA wsaData;
 int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
 if (iResult != NO_ERROR)
 {
  printf("Error at WSAStartup()/n");
  return false;
 }
 SOCKET ConnectSocket;
 ConnectSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
 if (ConnectSocket == INVALID_SOCKET)
 {
  printf("Error at socket(): %ld/n", WSAGetLastError());
  WSACleanup();
  return false;
 }
 sockaddr_in clientService;
 clientService.sin_family = AF_INET;
 clientService.sin_addr.s_addr = inet_addr( "210.22.14.6" );
 clientService.sin_port = htons( 3076 );
 if ( connect( ConnectSocket, (SOCKADDR*) &clientService, sizeof(clientService)
) == SOCKET_ERROR)
 {
  printf( "Failed to connect./n" );
  WSACleanup();
  return false;
 }
 int bytesSent;
 int bytesRecv = 0;
 char recvbuf[0xB00] = "";
    bytesSent = send( ConnectSocket, (const char*)package, 124, 0 );
 bytesRecv = recv( ConnectSocket, recvbuf, 0xB00, 0 );
 if (bytesRecv == 0)
 {
  return false;
 }
 const unsigned char *plainText;
 unsigned char *p;
 size_t *pSize = (size_t*)(recvbuf+8);
 for (size_t i=0; i<*pSize; i+=16)
 {
  p = (unsigned char*)recvbuf + i + 12;
  plainText = aes.InvCipher(p, key, 16);
  memcpy(p, plainText, 16);
 }
 const unsigned char *string = (const unsigned char*)(recvbuf+12);
 while(1)
 {
  string = MemSearch(string+1, p-string+1, (const unsigned char*)"http://", 7);
  if (string == 0)
  {
   break;
  }
  cout << string << endl;
 }
 string = (const unsigned char*)(recvbuf+12);
 while(1)
 {
  string = MemSearch(string+1, p-string+1, (const unsigned char*)"ftp://", 6);
  if (string == 0)
  {
   break;
  }
  cout << string << endl;
 }
 system("pause");
 return true;
}
 发送一个地址服务器关于此地址的相关资源的代码 
SRS开源代码 Simple rtmp server(SRS)提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换 立即下载

相关推荐

NIST开源代码

NIST开源代码,可用于国密15项随机数检验,win 平台 vs工程打开

UDSDemo 项目使用教程

UDSDemo 项目使用教程 1. 项目的目录结构及介绍 UDSDemo 项目的目录结构如下: UDSDemo/ ├── README.md ├── src/ │ ├── main.py │ ├── config.py │ └── utils/ │ ├── helper.py │ └── logger.py ├── tests/ │ ├── test_mai...

gitblog_00450的博客 480

迅雷下载源码

使用asp.net编写了一个迅雷下载的小例子,你可以直接复制到项目中使用。是一个单独的例子,没有什么多余的配置。

【计算机网络 15】简单几行Java代码实现迅雷功能,下载图片、音乐、视频

今天学习了一下FTP/IP的相关知识,发现一个强大的功能,用Java下载URL网络资源,据说收费的也能下!学编程真好,Java真好。金三银四马上就到了,希望大家能好好学习一下这些技术点学习视频:一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

2401_84003839的博客 870

数据驱动的老年人健康管理与生活品质提升实践研究

摘要 全球人口老龄化趋势显著,2025年65岁以上人口预计达8.57亿,中国老年人口已突破3亿。老年人健康挑战突出,75%以上患慢性病,且独居老人心理健康与应急需求迫切。数据驱动的健康管理通过智能设备(如跌倒检测、远程监测)和AI技术(如疾病预测算法)提升效率,改善生活品质。研究提出差异化需求解决方案,如慢性病患者的持续监测与用药管理,高龄老人的综合护理服务,并探讨政策与商业模式以推动智慧养老产业发展,2024年市场规模已达6.8万亿元。

聚焦程序设计语言理论与前沿技术落地,拆解代码世界的底层逻辑,探索语言设计的 “创造与沟通” 之道。从编译原理、类型系统到 AI 技术在金融、医疗、制造、养老、大健康等领域的实战案例,分享硬核技术干货与工程化思考。 1632

信道估计准则演进:从LS、MMSE到LMMSE的工程权衡

本文深入探讨了信道估计准则的演进历程,从LS、MMSE到LMMSE的工程权衡。通过对比分析三大经典算法的数学本质、工程实现及适用场景,揭示了在计算复杂度、实时性和性能之间的关键取舍。文章结合4G/5G基站项目实战经验,提供了算法选型的三维决策模型和前沿发展建议,为无线通信系统设计提供实用指导。

weixin_29327525的博客 287

迅雷下载原理及其协议分析

迅雷下载原理及其协议分析 2012-08-26 迅雷是一个多协议的的P2SP下载管理器,除了支持基本的HTTP、FTP下载,还支持同一个资源的多种P2P协议下载,例如BT和电驴协议。当然,最大的特点是,还是资源服务器S,这个S上保存了很多网络资源的分布下载点,因此,在客户端网络带宽的允许下,下载某个比较热点的资源时,会达到网络资源利用最大化。 在P2P出来之前,通常使用的是H

迷茫的小莱 2万+

华为od 面试八股文_C++_04_含答案

华为od 面试八股文_C++_04_含答案

MISAYAONE的博客 2473

迅雷7 down.php,迅雷协议分析

作 者: xee时 间: 2008-02-23,22:13链 接: http://bbs.pediy.com/showthread.php?t=60110【文章标题】: 迅雷协议分析【文章作者】: vessial【邮件地址】: vessial@hotmail.com【作者主页】: http://blog.youkuaiyun.com/xee【生产日期】: 20071122【软件名称】: Thunder 5.7...

weixin_33019803的博客 1596

基于STM32L4XX 、HAL库的STSPIN32G4三相无刷直流电机(BLDC)驱动应用C语言程序设计

/ 设置PWM模式为6步换相。│PA5-7 ├── SPI ────►│SCK/MISO│ │ 三相桥 │。– 2路电机控制高级定时器(16位,支持6路 PWM 通道)// 60度电气周期对应转速 = 60/(极对数 * 6 * 周期)// 电气角度(0-3599)

PP_Cottage的博客 147

【图论】系列(一)之图论的构成

图论是研究图的数学分支,本章介绍了图论的基本构成和概念

qq_30066733的博客 751

迅雷协议分析–多链接资源获取

标 题: 【原创】迅雷协议分析–多链接资源获取作 者: xee时 间: 2008-02-23,22:13链 接: http://bbs.pediy.com/showthread.php?t=60110【文章标题】: 迅雷协议分析【文章作者】: vessial【邮件地址】: vessial@hotmail.com【作者主页】: http://blog.youkuaiyun.com/xee【生产日期】: 20

2万+

【面试系列】数据分析师高频面试题及详细解答

本文为数据分析师岗位提供了详尽的面试题库和解答,涵盖初级、中级和高级三个层次。初级面试题涉及基本的数据处理和统计分析知识,如SQL查询、数据清理和基础统计概念。中级面试题则重点考察数据可视化、复杂查询和数据建模等技能。高级面试题则深入探讨高级统计方法、大数据处理和高级分析工具的使用。通过这些问题和解答,候选人可以全面了解数据分析师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据分析师岗位的关键技能领域。

在路上的专栏 5230

迅雷的故事

上下班骑车时,可以听MP3打发时间。今天想在网上找一些长知识的MP3下载,就在网上找《百家讲坛》里易中天和于丹的讲话MP3。在百度搜索出的十几个网页里找来找去,那些网站总是摭摭掩掩,欲拒还迎,弄得很不爽。到了迅雷,随便找了一个资源博客,哗哗几下,想要的全有了,还另找了一些好东西。400)this.style.width=400;" alt="" /> 迅雷真是好啊,并且每一

1510

基于Python实现人脸识别相似度对比

随着人工智能技术的不断进步,人脸识别成为了一种广泛应用的技术。人脸相似度对比是其中的一个重要应用场景,可以用于人脸搜索、身份验证等方面。本文将介绍如何使用Python实现人脸相似度对比。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 9809

YOLOv5基于深度学习的道路缺陷检测系统

然而,由于长期的自然侵蚀、车辆磨损等因素,道路表面容易出现裂缝、坑洼等缺陷。这些缺陷不仅会影响驾驶舒适性,还可能引发交通事故,尤其是在恶劣天气或夜间行车条件下。随着人工智能技术的快速发展,基于深度学习的道路缺陷检测技术能够在降低人力成本的同时提高检测效率,为道路维护提供了新的解决方案。本项目构建了基于YOLOv5的道路缺陷检测系统,结合PyQt5开发了用户友好的UI界面,具备实时检测和图片分析功能。工具对图片进行标注,生成YOLO格式的标注文件。上传包含道路裂缝或坑洼的图片,系统会标注出缺陷的位置及类别。

YOLO 1076

迅雷下载原理

1迅雷是什么?迅雷是基于P2SP的一款下载软件,能够大大增强下载速度,可谓迅雷不及掩耳盗铃之势如破竹。P2SP的道理不复杂,就是指:如果多个服务器上有某个相同的文件,当某个用户下载其中一个服务器上的这一文件时,迅雷会自动查找到另外的几个服务器,同时下载这一文件,达到提速的目的。迅雷比较流氓,在用户没有得到任何提示毫不知情的情况下,偷偷上传用户的本地文件,在所有...

weixin_34010949的博客 285

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

[缓存]迅雷下载原理

来自:http://hi.baidu.com/gcjia/blog/item/2b77bc3df8544803bba1675f.html1.迅雷是什么? 迅雷是基于P2SP的一款下载软件,能够大大增强下载速度,可谓迅雷不及掩耳盗铃之势如破竹。 P2SP的道理不复杂,就是指:如果多个服务器上有某个相同的文件,当某个用户下载其中一个服务器上的这一文件时,迅雷会自动查找到另外的几个服务器,同时下载这...

weixin_34183910的博客 177

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【亲测免费】 探秘迅雷离线下载Web版:一个高效、便捷的下载利器

探秘迅雷离线下载Web版:一个高效、便捷的下载利器 在互联网高速发展的今天,大文件的传输和下载成为了日常需求。而是一个开源项目,旨在提供一个无需安装客户端、直接通过浏览器进行离线下载的解决方案。本文将深入探讨该项目的技术特性、应用场景以及其独特之处,以期让更多用户了解并使用这一工具。 项目简介 迅雷离线下载Web版是由开发者iambus维护的一个基于JavaScript实现的Web应用。它利用了迅...

gitblog_00007的博客 2036

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

程浩[迅雷网创始人]

 程浩[迅雷网创始人] 编辑词条专家发言多义词 参与讨论 所属分类: IT人物 互联网 企业家 杜克大学校友

2215

MiniThunder:轻量级迅雷下载器的开源新选择

MiniThunder:轻量级迅雷下载器的开源新选择 项目地址:https://gitcode.com/gh_mirrors/mi/MiniThunder 项目简介 是一个基于Python编写的轻量级迅雷下载客户端,提供命令行界面以实现迅雷种子(.thunder)和磁力链接的下载功能。该项目旨在为那些希望在没有官方迅雷客户端的情况下,依然能够便捷地利用迅雷网络资源的用户,提供一个简单、快速且易于部...

gitblog_00020的博客 1516

苹果为 macOS 重大漏洞道歉;迅雷内讧股价暴跌;小米百度在一起 | 一周业界事

点击上方“优快云”,选择“置顶公众号” 关键时刻,第一时间送达! 虽然本周业界事多“惨”,但周末了,还是要开心一下,毕竟雷军是真的开心的: 一周业界事 自家人打自家人,迅雷与子公司内讧公开互撕,四日数论公告战,目前仍未有结果;小米推出 IoT 开发者计划,与百度喜结良缘达成 IoT+AI 合作;美团点评 CEO 王兴公开宣布组织调整,从出行、零售杠上了阿里和滴

优快云资讯 3338

迅雷、Flashget 和 QQ 旋风 在firefox中的链接解析

主要是firefox/chrome中的一个组件Ease Link,其开发者在google host中做了原理分析,从中可以了解firefox/chrome中点击下载链接时的onClick 事件处理过程 寻找需要修复的链接: 通过XPath (doc.evaluate()) 去除关联事件,修复链接:去除相关连的事件,并且将 thunderhref 属性或 qhref 属性的值复制到

拂去尘埃,打落地上 1632
上一篇: UDT协议-基于UDP的可靠数据传输协议
下一篇: 入侵检测系统+主动防火墙(Snort+Guardian)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值