备份阶段:
●将常用软件+密码库+其它资源等等加密打包到①[All-In-One.7Z]
●把压缩包②[Passphrase]打印出来离线保存
●计算出③[SHA512(All-In-One.7Z)]并且打印出来离线保存
●把①[All-In-One.7Z]上传到多家墙内网盘
●计算出⑥[SHA512(ZArchiver.APK)]并且打印出来离线保存
●把⑤[ZArchiver.APK]上传到多家墙内网盘
恢复阶段:
(你买了一部新手机/二手手机,无法翻墙,因为存在🐔和🥚问题)
●从国产安卓内置应用商店中安装任一网盘 APP 并且登录
●从任一备份网盘下载①[All-In-One.7Z]+⑤[ZArchiver.APK]到本地存储
●立刻使用④[XXX]就地计算①[All-In-One.7Z]的“实际校验和”,并且与之前离线保存得“理论校验和”(即③)比较,匹配一致则证明压缩包完好无损,否则从头再来
●继续使用④[XXX]计算⑤[ZArchiver.APK]的“实际校验和”,并且与之前离线保存得“理论校验和”(即⑥)比较,匹配一致则证明 APK 完好无损并且立刻安装之,否则从头再来
●使用 ZArchiver 搭配之前离线保存得②[Passphrase]解压①[All-In-One.7Z]到任意本地目录
●Enjoy~
我的问题是:
大家明显能看出来④[XXX]是整个流程中的罩门:因为我全程假定其“已经安装”并且“可信”,事实上在一部新手机上这俩点都不成立
实际上,④[XXX]应该和⑤[ZArchiver.APK]拥有一模一样地备份恢复流程,但是如果那样问题就又变成了“在没有安装我的前提下,执行我然后计算我的 HASH”,这又是一个🐔和🥚的问题了😂😂😂
我的想法是:
●先参照⑤[ZArchiver.APK]的流程来备份④[XXX],但是微调恢复流程:
从任一网盘下载④[XXX]的 APK 后,先不校验,无脑安装之(显然此时④[XXX]为“不可信”状态)
启动④[XXX],计算网盘下载目录中④[XXX]的 APK 的“实际校验和”,并且与之前离线保存得“理论校验和”比较,匹配一致则证明 APK 完好无损(并且不需要安装了),否则从头再来
我的问题是:此时能否判定④[XXX]为“可信”状态了?
或者问得更具体一点儿:
如果网盘服务商作恶,技术上是否存在这样地可能:构造一个[FakeXXX]来替换我上传得④[XXX],更改源代码,在其中硬编码一些逻辑/信息,使得使用[FakeXXX]来计算[FakeXXX]的 APK 所产生得结果总是我离线保存得“理论校验和”呢?
●如果实在没有办法,只能借助外力,在已经构建好了全套流程地 WINDOWS(见文末解释)上校验④[XXX],确认完好无损后将其 APK 存储到双插口 U 盘(此类 U 盘既可连接标准 USB 插口被 WINDOWS 读写,也可连接手机 TYPE-C 插口被 ANDROID 读写),然后在安卓自带文件管理器中安装
●或者大家还有什么建议/方案呢?因为我这几天搜索了解到,Android APK 其实自带数字签名,但是和 WINDOWS EXE/MSI 自带地数字签名不一样,Android APK 自带地数字签名似乎不依赖 CA 来为开发者身份背书?或者说 Android 其实放行任意 CA?这也是 Android 开放性的根源?
注:其实此全套流程已经在 WINDOWS 上构建了,④[XXX]的替代品我选择了[],因为它自带数字签名(解决了“可信”问题),并且自带 SHA***SUM.EXE,并且是开源程序
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.