美文网首页
apk反编译学习之旅——python实现HMAC_SHA1加密

apk反编译学习之旅——python实现HMAC_SHA1加密

作者: 阿萱555 | 来源:发表于2021-03-03 18:43 被阅读0次

    最近真是太堕落了,一直没学习,先记录一个以前的爬过的一个app,就当是复习了(最近真的很闲,可以摸鱼鱼!🤫)

    其实这个本来是接的别人的代码,但是我要跑的时候竟然失效了😠,算了,进入正题。。

    app: glassdoor 8.17.1仅供学习交流,请勿用作商用,如有侵权,请联系我

    1. 前期研究:

        其实这个网站也是有网页的,但是网页的一直出现hcapture人机验证,我换了ip也不太行,我真的搞不定的呀,最后只能试试app,其他版本的我没有去尝试,大家可以自行研究哈~

    2. 具体需求(只是做演示):

    抓取公司的信息:例如,抓取amazon公司的评论数据及基本信息

    amazon主页

    2. 抓包:

        因为这个app需要墙的,所以需要挂着vpn,然后再开着charles,具体怎么操作我就不再说了,可以看我另一篇文章——charles抓包需vpn,该如何配置

    搜索公司:amazon —> 点击到评论页 —> charles搜索页面评论数据定位api,如下:

    api : https://api.glassdoor.com/api-internal/api-internal/api.htm?action=graph&version=1&responseType=json&appVersion=8.17.1&signature=tyioEIm93WZCfMAprGilA0GPBys%3D%0A&s.expires=1609480996723&t.k=fz6JLNgLgVs&locale=en_US&deviceLocale=zh_CN&t.p=16

    请求方式:post

    需要参数:signature、s.expires (模拟请求后这俩是必须的)

    请求体:employerId是公司id、pageNum是评论页码,所以不同公司和翻页只需要修改这两个地方

    请求data reviews响应数据

    我在charles搜索signature和s.expires的值,发现并没有从其他请求的响应或cookie中携带,所以考虑研究app,找到app的加密位置,然后模拟

    3. 反编译及分析:

    工具: jadx  

    这个工具需要配置java环境,具体配置可以搜索大佬们的文章,我也是百度的,支持搜索,可以定位到具体的代码,还有一定的反混淆,第一次加载时间会久一点,比较占内存,内存不够可以分配一下,可以自己研究研究,啊哈哈哈哈

    加载完成后,全局搜索:s.expires(我尝试搜索signature,但是返回结果太多,不好定位,也是需要多次尝试的哈)

    jadx全局搜s.expires

    可以看到上图中hashmap可能是个字典,点进去发现生成signature和核心代码就是hmac_sha1加密,具体如下图红框部分

    加密核心代码

    因为hmac_sha1加密是有一个密钥key的,所以我们这里再全局搜索一下 HMACSHA1.encrypt,找到了key的值,如下图

    hmac_sha1的key

    APISignatureEncryptor需要传2个参数,我们继续全局搜索一下这个函数名,看看传值情况

    APISignatureEncryptor调用传参1 APISignatureEncryptor调用传参2 APISignatureEncryptor调用传参3

    可以看到一个是键为PARTNER_KEY的字符串、一个是getDateTimeLong函数调用返回的整数,然后将两个值用“|”拼接后,hmac_sha1加密,我们继续从图 APISignatureEncryptor调用传参2 中control+点击跟进查看

    APISignatureEncryptor调用传参4

    PARTNER_KEY=="t.k",请求review的api里有这个t.k参数的值,所以,我们可以直接设为默认;

    getDateTimeLong调用返回当前时间 + 24小时的时间戳

    4. 模拟加密

    到此,所有的分析就完成了,因为我不会java,所以加密也是python模拟请求的,可以参考下图

    python模拟hmac_sha1

    码字不易啊,兄弟们,偷偷摸摸上班时间码字更不容易啊,赏脸给个赞噢!

    那个。。分享一下最近的生活:

    我去年8月底捡了只小母猫,叫崽崽,刚来时候也就三周一个月的样子,小眼睛流泪,耳朵耳螨的小可怜,上周已经带去绝育了,今晚带去拆线,本来就打算养锤锤嘛,然后那天看见崽崽图片后,我就动了恻隐之心,当天下班就打车去接回来了,还好她没什么大病,唯独一次腹泻已经挺过来了,特淘气,给大家看看哈!

    刚来时候,纸箱做了个小窝 他俩第一次见面 已经好看很多了 非要在我电脑上,她并不知道我在搜啥 他俩一天天的可腻歪了

    相关文章

      网友评论

          本文标题:apk反编译学习之旅——python实现HMAC_SHA1加密

          本文链接:https://www.haomeiwen.com/subject/mrnqqltx.html