我们如何确保第三方库不会在我的iOS应用程序中发送用户数据?

时间:2012-04-16 20:03:32

标签: ios security memory-management

如果我需要包含第三方SDK以从我的iOS应用程序中连接到无线打印机,我想它在我的代码的相同内存空间中运行。如何确保SDK在后台不做任何偷偷摸摸的事情来窃取应用程序中的用户数据?我可以使用任何网络监控来验证应用的网络流量吗?谢谢!

2 个答案:

答案 0 :(得分:1)

这很难被发现(除非你能分析源代码)。

  1. 您可以在iOS模拟器中运行它,并使用[网络嗅探器]分析网络流量。 但仍然如此:应用程序只能在满足某些条件时上传数据(例如在晚上01:00到04:00之间或其他任何条件)。

  2. 您可以使用IDAPro或其他支持arm的驱逐程序对您的库进行逆向工程并分析库的确切功能。

  3. 如果您很懒,可以在十六进制编辑器中打开库,然后搜索文本“http://”并查找可能的URL。但是图书馆可以隐藏/加密网址!所以。这只是为了进行懒惰的快速检查。

    还记得:如果没有查看源代码,你就永远无法确定这一点。 所以。去开源库! :)

    1

答案 1 :(得分:1)

对于一般流量嗅探,请查看WireShark。 对于HTTP嗅探,我发现Charles更方便。

但是,您永远无法确定第三方代码会做什么。例如,可以编写一个例程,该例程仅在特定日期之后在生产版本上执行。