skuukzky
文章9
标签0
分类2

文章分类

安居客参数分析

安居客参数分析

安居客参数分析

前言

手机里之前装过很多杂乱软件,最近闲来无事,又在学习 app 的东西,翻来翻来就找到了这个找房软件,于是想着分析一下,在此记录一下过程,也算是成长过程的小经历了,话不多开,分析开始。

请求分析

image-20240701103806948

这个抓包软件是 Proxyman,Charles 在 mac 我目前还没找到好的汉化的,英文的用的也不是很舒服,所以就用 Proxyman 代替了,我们看到了加密参数特别显眼的就是nsign和 nsign_uuid 应该是和nsign有关和get_md5`

参数分析

做 app 逆向第一步肯定就是反编译了,不过在此之前我们还需要查看 app 是否加固,否则没办法得到大概的源代码,我们用 appmsg 进行查看。

image-20240701104742163

​ 很好啊,没有加固,我们直接 jadx 进行反编译即可。

nsign

image-20240701105134674 进入了 SignUtil.c 的方法,而 SignUtil.c 则在函数中调用了一个 getSign0 的 native 方法。

image-20240701105258055

​ 我们直接打开 ida 啊,去找一下 SignUtil 这个 so 文件

image-20240701105734549

​ 是个静态注册,而且代码也没什么混淆,还是很利于我们分析的,其实我们也可以trace_natives这个 ida 插件,就能获取 SO 代码段中所有函数的偏移地址,再使用 frida-trace 批量 trace so 函数的调用。(由于 mac 下暂无高版本的 ida pro,所以我此处用 Windows 的 ida7.7 演示.)

image-20240701110951065

图没截全,我们根据最开始的 sub_18f0 找过去,我们先静态分析一下代码,

image-20240701111526462

发现 get_sign 这个函数比较亮眼,而我们刚才 trace 的过程中也有这个函数的调用,所以我们继续反编译分析查看

image-20240701111617886

1
qsort(v11, v9, 24LL, sub_185C);

看到一个 sub_185c 这个函数的调用,其实我们大概能根据 qsort 猜出来,他是根据全面的 hook 的请求参数来进行一个 sort 排序,

在下文我们能看到这个”bcb2e93c6b527180099601a2dd8ef8b1”这个字符串,很大可能性是在下文的 SIGNMD5()这个函数中的进行 md5 加盐的操作

我们进入 SIGNMD5 函数查看

image-20240701112138525

已经很像 Md5 的操作,还需经进入 sub_C18 查看

image-20240701112305829

已经很明显看到 这个是 md5 加密中的 k 表的第一个

image-20240701112535439

但是下文的结构也不是很像,所以我们具体要 hook 一下,然后手动 md5 加密看看,是否为标准的 md5 加密。

本文作者:skuukzky
本文链接:https://lpy30m.github.io/skuukzky.github.io/2024/08/23/%E9%80%86%E5%90%91/%E5%AE%89%E5%B1%85%E5%AE%A2%E5%8F%82%E6%95%B0%E5%88%86%E6%9E%90/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可