美文网首页
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加密

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

  • 反编译apk,修改登录成功

    要实现的功能是,登录成功。 打开Apk反编译工具,将上一篇中生成的apk拖入其中,点击 反编译apk。 将apk使...

  • 教你如何反编译app,拿到加密方式

    教你如何反编译app,拿到加密方式 大家知道app 有安卓和ios 安卓是apk 现在基本上apk都是经过加密的 ...

  • Mac下反编译Android安装包基本工具

    本篇文章主要从如下几点学习反编译工具的基本安装 apk介绍 反编译apk需要的基本工具 常用ADB命令 apk介绍...

  • Android反编译技术总结

    一、Apk反编译工具及其使用方法 1.原理 学习反编译之前,建议先学习一下Apk打包的过程,明白打包完成后的Apk...

  • apk之反编译

    Apk反编译 申明:apk反编译使用有诸多限制,主要用于自助学习研究,适用于没有经过混淆的apk,不建议用于商用 ...

  • 反编译Android APK及防止APK程序被反编译

    反编译Android APK及防止APK程序被反编译 怎么逆向工程对Android Apk 进行反编译 googl...

  • Apk反编译

    APK反编译流程 对我们来说,apk 就是一个压缩包 。反编译 apk 就是反编译 dalvik(Dalvik 是...

  • Android加密(一)

    为了增加apk反编译难度,逐渐学习android加密的相关知识,这里做一个整理. 将Android里面一些常用如u...

  • APK反编译工具的使用

    前言 处理反编译,首先先要了解apk文件的结构,然后是编译过程,最后是反编译。反编译Apk的目的就是Apk拆成我们...

网友评论

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

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