根据标题,我有一个由 Android 应用程序生成的加密文本文件。然后我必须将它发送给制作应用程序的人,让他们解码并将其发回。不理想,因为他们有时可能需要几天时间才能回复。
如果我同时拥有 pre 和 post 文本文件,那么将来自己找到密钥/解密它们的最佳方法是什么?
多谢你们
根据标题,我有一个由 Android 应用程序生成的加密文本文件。然后我必须将它发送给制作应用程序的人,让他们解码并将其发回。不理想,因为他们有时可能需要几天时间才能回复。
如果我同时拥有 pre 和 post 文本文件,那么将来自己找到密钥/解密它们的最佳方法是什么?
多谢你们
这是一个稍微宽泛的问题,因此答案也是如此。我建议你在继续你的过程时提出额外的、具体的问题。
第一步可能是获取 apk,从中提取 java 和本机代码,然后逆向使用加密算法。一旦您弄清楚加密算法和协议是什么,您就可以查看应用程序是否可以从技术上解密之前加密的数据。
这里已经有关于如何开始对 Android APK 进行逆向工程的问题。
一旦您反编译了 java 代码,您就可以搜索实际执行加密的代码,并查看它调用的函数和接收的输入是什么。
这不一定是可能的,因为某些加密模型(例如私有/公共加密)只允许一侧解密。
您尝试执行的操作称为选择密文攻击。这是一个众所周知的攻击模型,任何体面的对称加密算法都有望抵御它,尽管它们可能使用的是自产的或损坏的算法。如果他们使用非对称加密,就没有机会。
如上所述,您应该首先反转应用程序本身。这有望告诉您他们使用的是哪种算法,如果他们使用对称加密,它也可能会告诉您密钥。