个人在这方面没什么经验,只是需要用到一些加密的。特别是通讯这方面。
1. 通过java的本身的加密工具,对数据进行加密,然后传输。那App被反编译之后。密钥之类的都一览无余。抓取密文之后,按照反编译后的代码逻辑自己写个解密过程就行了。。。
2. 通过JNI调用,so中的函数对数据进行加密。这个就有以下几种情况了:
(1)如果加解密都在so里面,那么native方法很容易被找到。找到native方法后,抓取密文信息,自己将so拿出来,调用解密函数就行了。
(2)如果解密在服务端。将抓取的密文发送服务端解密,然后再调用本地的(通信层的)解密方法一样可以看到明文。
这样,虽然请求没有破解,但是返回报文存在被破解的可能性。。。
想来想去 没有很好的解决方案啊~~求教。。。
1. 通过java的本身的加密工具,对数据进行加密,然后传输。那App被反编译之后。密钥之类的都一览无余。抓取密文之后,按照反编译后的代码逻辑自己写个解密过程就行了。。。
2. 通过JNI调用,so中的函数对数据进行加密。这个就有以下几种情况了:
(1)如果加解密都在so里面,那么native方法很容易被找到。找到native方法后,抓取密文信息,自己将so拿出来,调用解密函数就行了。
(2)如果解密在服务端。将抓取的密文发送服务端解密,然后再调用本地的(通信层的)解密方法一样可以看到明文。
这样,虽然请求没有破解,但是返回报文存在被破解的可能性。。。
想来想去 没有很好的解决方案啊~~求教。。。