首页 > 攻略 > 手游评测 > 详情

【实战】某豌豆荚手游APP逆向分析

2024-06-19 11:55:07 | 来源: 互联网整理


本期我们来讨论一下豌豆荚上的一个应用,我们打算对它进行逆向工程,具体说是《折上折手游》这个应用。首先,第一步是下载这个应用并安装到手机上,然后我们可以看到它的APK文件。这个应用实际上是一个用于下载手游的应用程序,里面包含了一个加密的游戏排行榜请求体。我们的主要目标是分析它的加密机制。首先,我们需要分析一下这个APK文件是否有被加壳。我已经将它直接拖到这里,事实上我已经进行了一些尝试,但它使用了腾讯的加固技术,有一个壳。

接下来,我们要抓包来查看这个应用发送的数据到底是什么样子。我已经准备好了BeEF环境,现在我们点击一下抓包。在这里,我们可以看到请求体是加密的,不是明文,但是响应体是明文的。因此,我们只需对请求体进行逆向分析。由于这个应用使用了腾讯加固,我们需要逆向其相应的加密算法。一种方法是去除其壳,这对于初学者来说可能有一定难度。对于这种级别的应用来说,新手可能会觉得有些困难。

然而,我们可以通过逆向工程来分析这个应用,而不一定非要去脱壳。具体的方法是使用字节码分析工具来分析算法。

接下来,我们来看一下如何具体进行这个项目的立项。首先,我们进入到这个项目的路线图。我将直接简单地给大家演示一下,展示如何进行逆向工程。首先,我们需要启动我们的FREEA环境,我们的服务器已经开启了。

接下来我们可以运行这个脚本,自动执行其中的算法。这个脚本的核心原理是对Java中各种加密库的API进行hook,当应用程序调用这些加密库的API时,将会记录相应的日志信息。这样一来,我们就可以进行逆向分析。首先,我们需要设置hook区域,使其能够运行这些加密自由算法。注意要先将应用程序调至前台,然后直接运行。确保清空缓存,以便进行包抓取操作。执行完成后,我们按下F12键,然后点击热门榜,进行抓包操作。抓取到包后,相关的自由算法脚本也会打印出相应的日志信息。

现在我们暂停一下,不要继续刷出更多日志信息。现在我们可以开始进行分析。对于这些日志信息,你至少应该能看懂一些。如果你需要这个自动算法脚本,可以私信我或查看我的简介获取联系方式。现在我们来详细讲解一下这些日志和自由算法脚本的分析方法。对于这个应用程序来说,可以直接通过自动算法来还原其加密算法,无需进行脱壳操作。首先,我们可以在日志中搜索data的加密结果,看看能否找到它的加密结果。通常是可以找到的。在日志中,doFinal方法的结果就是加密后的字符串。这段字符串是加密算法的输入参数,同时也是计算结果,即加密后的结果。

如果向上翻一下,你会看到可能的填充结果,以及使用的算法名称(比如DS加密)、密钥和初始化向量(IV)。有了这些信息,你就可以直接用Python或JavaScript来复现DS加密部分了。再往上翻一些,可能会看到MD5相关的信息。MD5是消息摘要算法,用于生成数据的哈希值。在日志中可以看到MD5加密的结果,通常用于校验或签名。在这里,它可能是对DS加密部分中的签名进行校验。

总结来说,这个应用程序的加密算法看起来比较简单,它主要使用了DS加密(可能是一种对称加密算法,如DES)、以及MD5哈希算法。这些信息足够让你理解整个加密过程,并可以在代码中复现它们。如果你需要具体的自动算法脚本,可以私信我获取详细信息。希望这些解释对你有帮助,让你能够更好地理解和分析这些日志信息和加密算法。

热门手游排行榜

热门专题