为什么 Facebook APP 超过 100 MB了?

【伯乐在线导读】:今天小编逛 Reddit,发现 programming 频道的头条是一个解密“为什么 Facebook App 超过 100 MB”的文章。博主 quellish 是一个 Objective-C 程序员,专门回答各种 objc 和 Cocoa 问题。下面是小编翻译的全文。


近期有人在 reddit 问“为啥Facebook App 居然那么大啊?” 回答这个问题的童鞋意识到,FB 在 App Store 压缩后的文档大约 100 MB,这还不是全部文件的大小,这里面绝大多数是应用程序的二进制文件。

如果要你来回答这个问题,你怎么弄? 你得快速逆向工程看源码!

1. 在越狱设备上,从 App Store 下载二进制文件;

2. 在设备上找到应用文件;

通过 SSH 连接设备,在文件系统中找到应用所在的 container:

find / -type d -iname "SomeApp*.app"

3. 解密二进制文件

在设备上安装 dumpdecrypted,然后按照提示来用。

4.  用 scp 或 rsync 取得文件

大多数时候,你需要获取应用 container、解密后的二进制文件、应用数据所在的 container。

做到第四步,你已经有了解密后的二进制文件。现在可以对二进制文件运行 class-dump 命令,然后输出一个目录,包括二进制文件所有类的头文件。或者你用 IDAPro 或 Hopper 之类的反汇编工具来查看所有的类。

来看看 Facebook 的应用,里面有超过 18,000 个类哦:

友情提示:哎呀,我去。快 2 万行的东西,为了不让大家的浏览器崩溃,小编决定贴前后的截图咯。想崩溃的童鞋,拿好梯子,戳这里

里面好多垃圾!单独一个“FBFeedAwesomeizer” ,就包括了 74 个类和协议。

这也就是为什么 FB 应用会超过 100 MB了。

1 收藏 评论

关于作者:伯小乐

伯乐在线小编一枚~~~~PS:我不是@小编辑,不要问我了 个人主页 · 我的文章 · 253

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部