我开发了一款适用于iPhone的应用程序,它通过基于XML的通信模型与Web服务器进行通信。
在我的一个源文件NetworkLayer
中,我创建了XML对象并将它们发送到Web服务器。我还在MyApp_Prefix.pch
中声明了我的应用程序中使用的所有常量以及URL(用于访问我的Web服务器)。
我想问一下,如果某个黑客能够访问我生成XML对象的源代码,或者MyApp_Prefix.pch
文件是否有.app
我的应用程序文件?在这方面,有谁可以帮助我?
答案 0 :(得分:7)
不,他无法获取您的源代码。但他可以查看HTTP请求和响应,以查看您创建的XML以及服务器发回的内容。那有关系吗?
答案 1 :(得分:2)
黑客可以通过查看代码告诉设备执行的操作,对代码进行逆向工程。通过组装和逆向工程的一些努力和知识,人们可以看到代码所包含的大部分内容。然而,这需要一些认真的努力和大量的时间,因此对于大多数应用程序来说,任何人都不可能尝试这样做。
一种更简单的方法是截取到服务器或来自服务器的数据,除非您对数据进行模糊处理,加密或使用SSL,否则无法阻止这种情况。
如果您担心保护数据,则应尝试一些简单的混淆。有很多方法可以做到这一点,最受欢迎的方法是XOR:使用客户端和服务器都知道的密钥来处理数据。应用密钥将翻转数据中的位,并快速轻松地将其变为难以理解的乱码。再次应用相同的密钥将再次翻转相同的位,并且您具有完全可读的XML。
应该注意的是,XOR加密很可能并且相对容易破解,特别是因为密钥必须作为应用程序的一部分存储,但它需要大量的时间和精力来突破并且不符合条件合法加密(例如,在发布应用程序时你不需要通过整个加密导出的东西),同时仍然保持数据乱码,足以甩掉大多数人 - 这通常就足够了,除非你的数据真的是敏感的,例如。如果您要转移付款凭证或类似信息。