我最近被那个万年不变的启动器给气炸了。不是说它不好用,是它更新太磨叽,每次给我推送一个所谓的“小版本更新”,非要我跑一遍完整安装流程。几百兆的安装包,下载慢不说,装完了系统里还留一堆垃圾文件。
我决定搞“绿色下载”
我寻思着,这不就是脱裤子放屁吗?肯定有更好的办法。所以这回我就决定用点“黑魔法”,彻底绕开它那个笨重的官方安装器,自己弄一个干净利落的“绿色下载”版本出来。
第一步:锁定目标,抓包监控。
我直接找了个虚拟机,干净的系统,安装好目标软件。然后我架起了网络监控,专门盯着它提示有更新的时候。我要看清楚,它到底下了什么东西。
-
我点击了更新按钮。
-
监控软件显示,它确实先下载了一个几百K的启动脚本。
-
脚本启动后,网络开始跑数据,但数据量特别小,只有十几兆。这十几兆就是真正的核心文件,比如新的DLL和资源包。
-
但TMD,官方启动器在下载完那十几兆后,还会运行一个傻X的校验程序,校验半天,然后弹出一个窗口说“为了保证最佳体验,请下载最新完整安装包”。放屁!
我直接在校验通过前,把虚拟机里的网络给断了。然后我赶紧跑到软件安装目录里面翻找。果然,那十几兆的关键文件已经躺在那了,就是没被执行替换操作。
第二步:创建初始绿色版。
我先把这个当前稳定版本(还没被傻X更新程序污染的版本)的整个文件夹,打了个包。这就是我自制的“绿色版”的基础。
第三步:手动执行“更新日志”。
这个就是所谓的“黑魔法”部分了。既然我知道真正的更新内容只有那十几兆,那我下次就不用走官方流程了。我把上一步找到的,但没有被替换进去的那几个关键DLL、主执行文件和资源文件,单独拉出来,建了个文件夹,就叫“更新日志_20230715”。
我把这个“更新日志”里的文件,直接覆盖到我的绿色版文件夹里。
第四步:验证与成功。
我双击绿色版的主程序,心想如果出错,大不了重来。结果,它直接就启动了!而且界面显示的版本号,就是最新的那个!
启动速度比我跑官方安装包快了三倍不止。因为省去了注册表写入、依赖校验、冗余文件清理等等一大堆屁事。我的系统,干干净净。
你不得不说,现在这些大公司的程序员,是不是都喜欢把简单的事情搞得无比复杂?一个核心更新十几兆就能解决,非要捆绑一个几百兆的垃圾安装包,生怕用户用得太舒服了。我猜他们内部肯定也是各种KPI压力,一个团队负责启动器,一个团队负责核心业务,谁也不服谁,互相推诿,受苦的还是用户。
我每次更新,只需要盯着官方放出更新公告,然后等一个倒霉蛋先跑一遍官方安装流程,我再去他的临时文件夹里把那几个关键文件偷出来,覆盖一下,五分钟搞定。我称之为真正的“绿色下载”。
前几天同事问我为啥我的启动这么快,他的电脑还在转圈,我说:“哥们儿,你得相信黑魔法的力量。” 他一脸懵逼,哈哈。