惊现瑞星升级原理详解,其实早就有人破解了
中天、比特均通过修改 Hosts 文件实现瑞星升级, 剑盟则是通过设置代理服务器实现. 大概的过程就是让瑞星的智能升级程序连接到非官
方服务器。正如比特网 abcbit 所言:“虽然修改hosts仅仅是一小步,但是幕后的工作确是一大步。”
有很多网友问关于瑞星升级的原理, 网上也出现了许多解释, 我写本文的目的只是为了把这个过程说得更具体。仅属个人意见, 供大家参
考, 可能会有些错误。
瑞星智能升级程序 (Smartup.exe) 启动的时候, 首先连接以下地址检测最新版本:
http://update.rising.com.cn/regi ... /ver2006/newver.a
大家用 IE 打开, 出现的是“无法找到网页”, 这是因为瑞星是通过 HTTP 协议的 Loacation Header 传输数据的, 大家可以查阅有关
HTTP 协议的文章来了解相关知识。瑞星网站的返回信息是这样的 (假设最新版本为 18.25.20):
HTTP/1.1 302 Object moved
...... (此处省略)
Location: 18.25.20
...... (此处省略)
当瑞星确认最新版本和本机安装版本不一样时, 便会进行下一步。这里有个有趣的事情, 就是不管最新版本比本机版本新还是旧, 瑞星都 字串3
会去“更新”, 瑞星这样做应该是为了避免版本格式的变动导致的不能更新。这也就是为什么瑞星服务器出问题的时候, 有些人会“升级到旧
版”。
第二步: 寻找验证服务器 (我认为此步纯属浪费网络带宽). 瑞星连接到以下地址:
http://update.rising.com.cn/regi ... 94
相关推荐
-
惊现瑞星升级原理详解,其实早就有人破解了
中天.比特均通过修改 Hosts 文件实现瑞星升级, 剑盟则是通过设置代理服务器实现. 大概的过程就是让瑞星的智能升级程序连接到非官 方服务器.正如比特网 abcbit 所言:"虽然修改hosts仅仅是一小步,但是幕后的工作确是一大步." 有很多网友问关于瑞星升级的原理, 网上也出现了许多解释, 我写本文的目的只是为了把这个过程说得更具体.仅属个人意见, 供大家参 考, 可能会有些错误. 瑞星智能升级程序 (Smartup.exe) 启动的时候, 首先连接以下地址检测最新版本: htt
-
Java中synchronized实现原理详解
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字"同步",也成为了我们解决多线程情况的百试不爽的良药.但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它. 诚然,随着Javs SE 1.6对synchronized进行的各种优化后,synchronized并不会显得那么
-
HTTPS 原理详解
随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议.大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL .非对称加密. CA证书等,但对于以下灵魂三拷问可能就答不上了: 1.为什么用了 HTTPS 就是安全的? 2.HTTPS 的底层原理如何实现? 3.用了 HTTPS 就一定安全吗? 本文将层层深入,从原理上把 HTTPS 的安全性讲透. HTTPS 的实现原理 大家可能都听说过 HTTPS 协议之所以是安全的是因为 H
-
java synchronized的用法及原理详解
目录 为什么要用synchronized 使用方式 字节码语义 对象锁(monitor) 锁升级过程 为什么要用synchronized 相信大家对于这个问题一定都有自己的答案,这里我还是要啰嗦一下,我们来看下面这段车站售票的代码: /** * 车站开两个窗口同时售票 */ public class TicketDemo { public static void main(String[] args) { TrainStation station = new TrainStation(); //
-
Java并发编程深入理解之Synchronized的使用及底层原理详解 下
目录 一.synchronized锁优化 1.自旋锁与自适应自旋 2.锁消除 逃逸分析: 3.锁粗化 二.对象头内存布局 三.synchronized锁的膨胀升级过程 1.偏向锁 2.轻量级锁 3.重量级锁 4.各种锁的优缺点 接着上文<Java并发编程深入理解之Synchronized的使用及底层原理详解 上>继续介绍synchronized 一.synchronized锁优化 高效并发是从JDK 5升级到JDK 6后一项重要的改进项,HotSpot虚拟机开发团队在这个版本上花费了大量的资源
-
Java并发编程深入理解之Synchronized的使用及底层原理详解 上
目录 一.线程安全问题 1.临界资源 2.线程安全问题 3.如何解决线程安全问题 二.synchronized使用介绍 三.synchronized实现原理 1.synchronized底层指令:monitorenter和monitorexit 2.Object Monitor(监视器锁)机制 一.线程安全问题 1.临界资源 多线程编程中,有可能会出现多个线程同时访问同一个共享.可变资源的情况,这个资源我们称之其为临界资源:这种资源可能是:对象.变量.文件等. 共享:资源可以由多个线程同时访问
-
Docker工作模式及原理详解
如下图所示: 我们在使用虚拟机和docker的时候,就会出现这样一个疑问:Docker为什么比VM虚拟机快呢? 上面这张图就很客观的说明了这个问题 1.Docker有着比虚拟机更少的抽象层. 2.Docker利用的是宿主机的内核,VM需要的是Guest os. 所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统.虚拟机是加载Guest os(花费时间分钟级别),而docker利用的是宿主机的操作系统,省略了这个复杂的过程(花费时间秒级别). 搞清楚这些,我们再来看看对
-
计算机网络编程MQTT协议基础原理详解
目录 什么是 MQTT 协议 MQTT 基础 发布 - 订阅模式 可拓展性 消息过滤 基于主题的过滤 基于内容的过滤 基于类型的过滤 MQTT 与消息队列的区别 MQTT 重要概念 MQTT client MQTT broker MQTT Connection 消息报文 CONNECT CONNACK 消息类型 发布 订阅 确认消息 退订 确认退订 聊聊 Topic 通配符 单级通配符 多级通配符 之前有位读者给我留言说想要了解一下什么是 MQTT 协议,顺便还把我夸了一把,有点不好意思啦. 那
-
Kotlin协程launch原理详解
目录 正文 launch使用 launch原理 CoroutineStart中找invoke方法 startCoroutineCancellable逻辑 小结 正文 launch我们经常用,今天来看看它是什么原理. 建议: 食用本篇文章之前记得先食用Kotlin协程之createCoroutine和startCoroutine launch使用 launch我们应该很熟悉了,随便举个例子: fun main() { val coroutineScope = CoroutineScope(Job(
-
MySql事务及ACID实现原理详解
目录 逻辑架构和存储引擎 自动提交 特殊操作 ACID 特性 原子性 持久性 隔离性 脏读.不可重复读和幻读 事务隔离级别 MVCC 一致性 逻辑架构和存储引擎 自动提交 MySQL 中默认采用的是自动提交(autocommit)模式,如下所示: 在自动提交模式下,如果没有 start transaction 显式地开始一个事务,那么每个 sql 语句都会被当做一个事务执行提交操作. 通过如下方式,可以关闭 autocommit;需要注意的是,autocommit 参数是针对连接的,在一个连接中
随机推荐
- jQuery获得包含margin的outerWidth和outerHeight的方法
- jQuery $.each遍历对象、数组用法实例
- C#中的正则表达式双引号问题
- Java截取url参数的方法
- javascript 模拟点击广告
- JavaScript talbe表中指定位置插入一行的实现代码 脚本之家修正版
- .NET异步编程总结----四种实现模式代码总结
- php中自定义函数dump查看数组信息类似var_dump
- Go语言实现顺序存储的线性表实例
- PHP中类属性与类静态变量的访问方法示例
- 使用text-align:justify实现两端对齐一例
- ASP开发中可能遇到的错误信息中文说明大全(整理收集)第1/2页
- 浅谈Java代理(jdk静态代理、动态代理和cglib动态代理)
- 清空数据库中所有表记录 记录ID恢复从0开始
- 数据库更新Sqlserver脚本总结
- 基于jquery实现人物头像跟随鼠标转动
- js使用highlight.js高亮你的代码
- nodejs爬虫抓取数据乱码问题总结
- PHP著名开源论坛:Discuz!跨站大全
- Android编程之电池电量信息更新的方法(基于BatteryService实现)