scrape.center APP8逆向分析
scrape.center APP8 逆向分析
前言
之前在整理语雀笔记的时候,误打误撞看到了一个网站,Python 爬虫案例 | Scrape Center,后面经过了解知道了是业内大佬崔庆才的一个网站,其中有一些爬虫练手的案例,我觉得挺适合我们平时入手联系,整体难度和平时遇到的也接近相似,再次记录一下对于 app 中的第八题分析过程。
分析过程
软件没壳,直接定位 encrypt 方法,然后是一个 so 层的方法,直接去 app 目录下的 lib 中找到 arm64 的 so 文件,拖入到 ida 中反编译既可,我就在再此详细 贴图分析了。
要找的加密值是 token。长这个模样。ZjRhNTk2N2NhMzU2NTFjNDNmMWJkNTc2Mzk4MGM5MDdmOTE0ZWY5NSwxNzI0ODIxODkz
其实 base64 一下就是这样。f4a5967ca35651c43f1bd5763980c907f914ef95,1724821893
第一段 40 位,在熟知的加密中,SHA1 的结果 就为 40 位,后面就是一个时间戳了。
hook encrypt 方法 传入一个 str 和 一个 int。 “/api/movie” 和 0 其实就是抓包中的接口和 offset 的值
so 里面是静态方法,直接在到处函数中搜索 encrypt 就可以定位到。整体是这样的结构
一眼望过去了,没有混淆,没有控制流,果然练手的 app 就是舒服。 我们也能明显的看到,函数流程中有个 sha1 的函数,那估计就没跑了,直接 hook sha1 函数入参。秒杀 ,此篇完结。
哈哈,开玩笑的,要真有这么简单,也不会单独拿出来做记录了。 sha1 的参数实际上是一个结构体,直接 hook 行不通,还需要跟进一层。
我们先通读下代码吧。
其实大概就知道了,
整体代码在进行参数拼接和一个 sha1 的加密
/api/movie,9fdLnciVh4FxQbri,0,1724821893
–SHA1–> f4a5967ca35651c43f1bd5763980c907f914ef95
与上文一样,最后再把时间戳给加上。 结果是一致的。
如果想深度探索,可以在利用 unidbg 跑一下结果 。 附上代码。
代码整合就不写了,因为可能是太久了,app 中的数据都不加载了,我们分析得到的结果一直就够了。
末尾
继续努力吧,有机会写一下易盾的空间推理。