自新世界 #0x16:制度性失忆

日期:
分类: 周报 10

2025 年 11 月 10 日

同事掏出一个老旧设备和一个有 Android 2 时代截图的说明书,说配对不上了。还说这个 APK 有好几个版本,都是随着安卓升级而改上去的,只有最新的一个版本才能安装上,但是还是会提示此应用专为旧版 Android 打造。我说这个只是个提示,实际应该没有兼容性问题。我们在公司的智选手机、红米手机上都试了试,蓝牙配对本身就很慢;也没能读取出设备的数据。

2025 年 11 月 11 日

于是我现在要逆向自己公司的 APK。

前端之猫

Android resource compilation failed 是什么意思?

*座桥在水上

前端猫不会不知道安卓里的 /res 吧。

前端之猫

但是,为什么 res 还要编译

*kumi

小毛驴变成二进制小毛驴

id 变成 int

*座桥在水上

听说过 resources.arsc 吗?

看来前端之猫没有反编译过安卓爱啪啪。哎,前端。

(为保护群友隐私,ID 已隐去一个字)

2025 年 11 月 12 日

Leader 再次强调了写这个程序的人早就离职了,然后第三次向我表明很难找到源代码或文档了。这让我想起了《制度性记忆与反向泄密1中说的:

制度性记忆有两种形式:人与文档。人记得事物如何工作,以及为什么能工作。有时候他们会将其写下来,将信息存储于某处。制度性失忆的原理与其类似:人离开了,文档丢失、腐烂或者仅仅被遗忘了。

项目中用的是 Bluetooth Classic SPP(Serial Port Profile)协议。但我在 Windows 上连接设备时,它居然被识别成 BLE,这样的话,Windows 就不会为我映射一个串口,用来交互。这就导致我用 C# 写的 AI 生成版本完全连不上。尝试用 Kotlin 重写也不一定能解决问题,毕竟协议层的兼容性才是关键。尤其是这个 APK 还有多个版本,以前的版本更是连安装都装不上。

今天晚上待到很晚。Leader 坚持说那个程序是使用界面设计器开发的,因为他清楚地记得,在那之前他们只能用 Eclipse。于是我们终于找到了 layout 目录下面的 XML。

鱼鱼给我发了他的高级版永久的MT管理器的帐号和密码,他说逆向一般都不用电脑上的软件;但是逆向出来的一般也编译不成工程,除非是用纯 Java 写的程序。我尝试的结果是一直会出现资源编译错误和资源链接错误。

2025 年 11 月 13 日

让大语言模型用 Kotlin 重写了一版,还是 View 的,但是只包含设备列表和蓝牙连接的部分。但是始终连不上,还闪退了。

再用各种蓝牙调试助手,尝试和设备通信,但是都卡在到蓝牙 SPP 建立 socket 连接上。卓易通里的似乎可能有用,但是我不知道它是不是因为卓易通的 bug。用鸿蒙原生的蓝牙调试助手,有一个甚至都没办法正常授予权限;我用了其中一个,但光 UI 上状态管理的 bug 就挺多的,这让我觉得是软件在蓝牙连接结果显示上有问题。

还有两台备用的设备,这个设备的名称会间歇性地从一个比较长的一个长串的代号变成一个简单的只有两个字符的,我不知道是什么时期要连接它,而且它的说明书上说需要 分钟等芯片预热了之后再尝试连接,然后每次测量完了以后需要先关闭软件再关闭设备,否则会出现问题。

实验室的落日余晖照在成排 capsule 状的设备上,很好看。

2025 年 11 月 14 日

发现用蓝牙调试助手都没法正常连接。最后,做硬件的一看发现蓝牙的设备名称都不是伊以前改过的名字,可能是蓝牙模块的主从模式设置错了;而这是因为伊 assume 以前的设备都调试好了,但实际上只在卖出去的时候测试一遍,这个设备只是留存自用,所以没有经历那个步骤。

后首修好了,旧的应用也能用了,就不需要我再处理了。回家看动画片。

2025 年 11 月 15 日

在电视上看动画片。

2025 年 11 月 16 日

在鸿蒙电脑上看动画片。

脚注

---

  1. 知乎译文,似乎最开始是在 Rynco 的频道里看见的。记不起来题目了,我是通过 登月 知乎 工程 资料失传 搜到的。 ↩

版权许可

  1. 本作品 采用 知识共享 署名—相同方式共享 4.0 国际许可协议CC BY-SA 4.0 International)许可,阁下可自由地共享(复制、发行) 和演绎(修改、转换或二次创作) 这一作品,唯须遵守许可协议条款。

评论

评论将在审核后显示,阁下可以在本博客的 Github 仓库的 拉取请求列表 中查看。提交成功后会自动跳转。

本站不支持 Dark Reader 的暗色模式,请对本站关闭后再访问,亮色模式的对比度、亮度等选项不受影响。部分页面右上角提供暗色模式切换按钮,如果你没看到,说明你的浏览器尚不支持此特性。本提示不依赖于 JavaScript,你可自行查找其他用户在本站发表的关于如何关闭此提示的评论。