这大概是我干过最逆天的事

1144 字
6 分钟
这大概是我干过最逆天的事

如题,这条内容曾经拿到了上千浏览和几百点赞,今天重新写一遍,用现在的眼光回看23年。

原文发布于 QQ 空间,点击查看原文

背景#

大概是高二,学校统一使用科大讯飞的所谓“AI辅助课堂教学“——每人发一台平板,深度定制 ROM。叫定制其实不算,说是阉割更准确:没浏览器,没原生系统设置,没文件管理器。相册只能看照片,视频播放器直接被砍了。本质上就是一台只能做题和交作业的电子砖头。

突破口#

我没事就翻预装软件,主页一个叫 GeoGebra 的东西很受学生追捧,官方说法是“数学动态画图工具”,数学好的考完试拿它研究最后一道大题,数学差的干脆直接用它当计算器,但我点进去就看出来了—这玩意儿是网页套壳的,很多时候这种非原生软件一眼就能看出来,同时用起来手感顿顿的大概率就是Electron、Tauri此类封装方案,但GeoGebra直接演都不演——纯WebView 套壳。

window.open("https://www.bing.com")

跳不出去。系统把 http/https 协议全封了CONNECTION_REFUSED,底层WebView 被魔改。而且输入框有过滤,输入直接吞字或者干扰。

柳暗花明#

第一处:键盘输入会被拦截,可以使用剪切板粘贴,从别处复制粘贴进来不走那条拦截逻辑,最后多输一个回车正好被吞掉,只剩下正确逻辑。

第二处:http不通,那就弃帅保车,使用file协议访问本地文件,好在我大概摸索出 Linux/Android 的目录结构了。

window.open("file:///storage/emulated/0/")

原生文件目录直接打开了,我欣喜若狂。能看到文件名、层级导航、文件大小。视频点进去,调用WebView就放了。

今日回首#

ifly的工程师大概是这么想的:把浏览器干掉、把 http/https 封掉、把输入拦截做好,学生就没办法了。

但他们漏了两件事:

  1. WebView 本质上是浏览器。你可以不让它上网,但它读本地文件的权限是 Android 沙箱赋予的,不是 ROM 说了算的。

  2. file 协议不需要网络权限,只读本地存储,你在 WebView 层面拦不住。

说穿了就是攻击面分析的问题:只封了网络层,没考虑本地文件系统层。

引爆#

我把方法整理成教程发到博客,顺手投稿到了表白墙,直接引爆——几百点赞,上千浏览,评论区全是”配享太庙”、“哥你是电教之神”之类,一时之间,风光无量。

开学第一周,级部广播直接点名diss:“我们级部还有个技术高手,掌握了比较高的计算机技术,破解出平板看视频的功能”。

随后发生的事,果不其然超出了我的控制范围,一开始可能只是传着看视频消遣,但后面有人用这个方法在家翻录电影、在宿舍熬夜追剧——一个数学画图工具被用成了娱乐终端。即便我在原博客郑重声明滥用的后果,失控的范围依旧远大于控制的成本,下架就成了唯一的选择。

没制裁我。但说实话,这件事我一直有点愧疚在心。

GeoGebra 是个好软件。数学课上用它画函数图像、做几何演示,确实比课本上的静态图直观太多。我用了快两年,很熟悉它的每一个角落——也正因如此,才看出它是网页套壳。讽刺的是,正因为我太了解它,才让它从全校平板上消失了,后面几届的学弟学妹连用都用不上了。技术上是我的一个高光时刻,但结果上,我带走的远比带来的多。

如果重来一次,我大概还是会发现那个漏洞——一个 WebView 套壳的应用放在一个对计算机充满好奇的高中生手里,这是迟早的事。但我可能不会把教程发到论坛上。

不过换个角度想,这件事之后我开始系统地研究前沿相关的技术,也学会了从”攻击面”的角度去审视一个系统的设计。某种意义上,它比我任何一门课给我的东西都多。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
这大概是我干过最逆天的事
https://hecloud.top/posts/这大概是我干过最逆天的事/
作者
贺小云
发布于
2026-07-02
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
贺小云
一个热爱技术与折腾的博客,serverless起高楼,静态构建一键走,专注于CDN调优,2秒之内到德州。
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
碎碎念
站点统计
文章
46
分类
4
标签
0
总字数
23,903
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.5
文章许可
CC BY-NC-SA 4.0