Android 安卓&x2B;防止反编译的JSON安全?

Android 安卓&x2B;防止反编译的JSON安全?,android,json,security,obfuscation,Android,Json,Security,Obfuscation,我想成为一名能够使用HTTPS和JSON安全地将数据从我的Android应用程序发送到我的服务器的用户 使用HTTPS,我可以防止嗅探,但不能防止反编译,因此我还将使用Proguard进行模糊处理 我的问题是,JSON是一种发送数据的纯文本方法,熟练的反编译器将能够计算出发送和接收的内容。那么,发送这些数据的更好方式是什么呢?如果我假设在某个时候有人会反编译APK或JAR(取决于我如何启动程序) 我可以混淆JSON "x":{"xx":12345678} 但是我想,如果有人发现我试图发送时间码

我想成为一名能够使用HTTPS和JSON安全地将数据从我的Android应用程序发送到我的服务器的用户

使用HTTPS,我可以防止嗅探,但不能防止反编译,因此我还将使用Proguard进行模糊处理

我的问题是,JSON是一种发送数据的纯文本方法,熟练的反编译器将能够计算出发送和接收的内容。那么,发送这些数据的更好方式是什么呢?如果我假设在某个时候有人会反编译APK或JAR(取决于我如何启动程序)

我可以混淆JSON

"x":{"xx":12345678}

但是我想,如果有人发现我试图发送时间码等等,那只是时间问题。

没有办法阻止反编译。模糊处理使反编译的结果更难使用,但专用的黑帽子仍然可以使用。。。你不能。很抱歉如果你能弄明白这一点,音乐和电影行业会让你成为英雄。

我发现最好的组合是在高级模式下使用和闭包编译器

高级模式下的闭包使得JavaScript代码几乎不可能进行反向工程,即使在经过美化程序之后也是如此。一旦你的JavaScript代码变得模糊,无法识别,也无法进行反向工程,你的HTML就不会泄露你的很多秘密

此链接用于在移动应用程序的高级模式下使用Dojo Toolkit和闭包编译器:


如果您使用闭包编译器,那么就可以使用JavaScript编写加密引擎,然后加密JSON数据。使用闭包编译器提供的级别模糊处理,人们将很难对代码进行反向工程,以发现用于解密的密钥。

,那么,我如何在应用程序上创建敏感数据并将其发送到服务器,而不读取该数据或发现为其创建敏感数据的方法?您可以使用非对称加密(RSA是最常见的),其中您的应用程序只有公钥。。。您使用公钥对数据进行加密,服务器使用私钥对其进行解密。我不确定这是否会比使用https更安全(尽管它可以防止中间人攻击)。但是通过反编译,黑帽子会在通过RSA加密之前看到我的数据。SSL(我相信)对于传输来说已经足够好了,我需要/想要保护的是数据创建。你是对的,但是在开放系统中,你永远不会得到完全的保护。在安卓系统下,任何只懂一点知识的人都可以将apk从设备上复制下来,并通过一个反汇编程序将其传递,该反汇编程序可以生成可读性很强的汇编代码。我认为还没有人成功地从中生成了Java,但是这个程序集对于一个人来说已经足够了——而且只需要一个人就可以向全世界分享你的秘密:(哈哈,好吧。因此,我需要在服务器端找到一种方法来代替应用程序端代码。如果你确实需要客户端信息,你可以尝试遵守你的意图。例如,如果你需要时间信息,你可以让客户端发送位置信息,或者对位置进行IP查找并计算出他的时区。是的,这就是为什么我在想。添加看似有用的随机和无用的数据,然后丢弃此数据服务器端以掩盖我实际需要的数据。通过模糊性提高安全性,但我想这是必须的