乐于分享
好东西不私藏

反编译白宫 app 会被定点……吗?

反编译白宫 app 会被定点……吗?

2026 年 3 月 27 日,“The White House”官方移动应用程序上线了。上线不久就有两位手痒的研究员发布了分析报告,分别针对 Android 和 iOS:

外网链接咱就不贴了,很容易搜索到。由于这个 app 本质上是 expo(基于 React Native)框架开发,所以两篇文章大同小异。
在这里要提一嘴。React Native 有个坏处是,原本 iOS 下的 ipa 包都有fairplay 数字版权管理(DRM)保护,要反编译二进制代码,首先要做的事就是找个越狱设备进行“砸壳”。
然而 fairplay 只保护 Mach-O 可执行文件,React Native 的 hermes 字节码(jsbundle)是没有加密的。直接用 ipatool 工具从 iTunes 下载 ipa 回来直接 unzip 就好了。甚至是框架(.framework)里的本地代码,LC_ENCRYPTION_INFO_64 的 cryptoff 会跳过文件头的相当一部分数据,即使不解密也能用 nm 工具打印出一堆符号来猜。相当于砸壳可有可无了。
所以 iOS 那篇分析的作者直接甩锅,没有用破解工具哦:

We downloaded the app, unzipped it, and took a look at what’s inside. No hacking, no traffic interception, no DRM bypassing. Just standard macOS tools (strings, nm, plutil) pointed at a free app anyone can download from the App Store.

Security Analysis of the Official White House iOS App

研究人员反编译发现,应用每隔数分钟采集一次 GPS 定位,数据同步至第三方服务器;在 WebView 注入 js 代码绕过网站付费墙(paywall)和隐私提示,违反欧盟 GDPR 法规;部分代码依赖的仓库是个人开发者,存在被篡改风险。

下面进入正题。
之前有发文章宣传过我写了个图形界面工具来方便 iOS 和 Android 两大主流平台的 app 分析。其中包括 React Native 运行时分析:
手欠的我当然是试了一把。理论上 React Native 的界面逻辑,通过注入 js 做原型链的钩子就能实现很多修改,暂时还没精力深入开发这块。
但别人的分析都集中在 React Native 反编译上。我这时候意识到我的程序里面集成的 hermes 反编译还不够用,而正好前两天 push 了一下 radare2 开发者,给 r2hermes 工具加上了缺失的交叉引用功能。
在这里补充一下上下文。radare2 最近上了 hermes 字节码反编译的插件。radare2 虽然反编译效果算不上怎么样,但胜在免费开源集成方便。即使是 GPL,反正我不改代码不静态链接就好了。
于是今天搞了一下午,做了一个网页版的 radare2。
配置 llm 之后简直就是开挂,反编译出来的东西跟源码似的。
基本找到了几位研究员提到的相关代码,在字符串里还多处硬编码了……不予置评。咱们是技术博主,不是观点输出博主。
工具已经发布了 v1.1.0 到 npm,node 一键安装:
npm i -g igf
也可以去 GitHub 页面直接下载 exe,基于 bun 打包的单文件。由于没(经费去)代码签名,下载安装的方式需要自行去除来自 Internet 标记,否则将无法运行。同样由于没有代码签名,没法验证文件是不是官方(我)构建的,所以还请风险自负。
问题来了,反编译白宫的 app 会被定点……吗?