inspeckage使用实战两例

实战1:

某APP通过charles获取的数据如下图:

inspeckage使用实战两例_第1张图片

很显然,请求参数和返回都做了加密处理,使用base64直接解密只会得到一串乱码

一般情况下,可能要反编译apk,然后阅读被混淆的代码,找到加密的方式,那么有没有更快的方式呢?

inspeckage这个xposed插件就能完美应对这个情况

 

实验环境:

PC win7 安卓sdk charles4.5.5

魅蓝Note5 安卓6.0 xposed89 inspackage2.4 某APP7.0.4

 

首先我们安装inspackage,然后在xposed的模块中启用它,重启手机

然后我们打开inspackage,选择要监听的APP,在PC中运行adb forword tcp:8008 tcp:8008将手机的端口映射到电脑上

inspeckage使用实战两例_第2张图片

打开http://localhost:8008

inspeckage使用实战两例_第3张图片

由于是查看加密方式,我们主要关注点是其中Cypto项,点击,我们只需要打开Crypto的开关,然后点击Start App

inspeckage使用实战两例_第4张图片

然后关闭掉这个界面,开启自动刷新功能

这样,随着我们在APP界面中操作,监听到的信息会自动刷新到页面上来

inspeckage使用实战两例_第5张图片

然后我们就可以用在charles中获取到的数据来进行查找,我们搜索vPCnpt

inspeckage使用实战两例_第6张图片

找到了,和charles中的一模一样

inspeckage使用实战两例_第7张图片

所以,这个请求参数的加密方式就是DESede/ECB/PKCS5Padding,秘钥是fad6dd67a2422fd699edc0de,而原始数据是个json

需要注意的是,这段base64每隔60个字符中有一个空格,解密时记得除去

同样的也能得到返回数据

inspeckage使用实战两例_第8张图片

使用了相同的加密方式与秘钥,解密可得

inspeckage使用实战两例_第9张图片

实战2:

有了上面的经验,第二个例子显得就简单了

某APPcharles获取的数据如下

inspeckage使用实战两例_第10张图片

我们看到有个securitykey,由英文小写与数字组成,长32位,很明显,这是MD5计算的结果

打开inspackage,既然是MD5,我们就要使用HASH这个功能

通过文本搜索我们找到了这一条,不出所料,使用了MD5

而加密前的文本正是其他参数的值按顺序排列,之间用 “|” 分隔,最后再加上rmrbsecurity$#%sut49fbb427a508bcc作为盐值

 

你可能感兴趣的:(安全)