前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录下某ua的逆向过程

记录下某ua的逆向过程

作者头像
sergiojune
发布2020-05-11 16:43:59
1.2K0
发布2020-05-11 16:43:59
举报
文章被收录于专栏:日常学python日常学python

很久没有发过文章了,并不是账号忘记了,而是自己变懒了,还有就是现在的技术文,写得再好都没啥用,都是没多少人看。还有那些看了我的文章的然后来加我微信的,一看文章什么的点个好看都没,直接拒绝,和那些口口声声说对自己有多大帮助的也是这样,所以就懒了,直接在自己小本子上记些简要记录就行了,反正也是自己看,不需要多好看。

所以这次发个记录好了,不说任何代码这些,看官们随意。

123ua是从一个coll***.js文件加密的,看过的人应该都知道,自从122更新之后,里面不止有恐怖的控制流混淆,还有逗号表达式,逗号表达式加了之后,不将这些逗号表达式变形,是很难调试的,基本也调试不了,我这里将代码转成ast,然后转换代码格式来还原的,如需了解ast的自己百度搜就行了,这里就不多说了。

我还原了 条件表达式、逗号表达式、字符串相加这三个,其他的由于个人技术有限,还原不了。

还原之后,就可以随便调试了,里面也没有 debugger,所以直接使用 fiddler 的重定向替换原文件,就可以直接在网站上调试了。这个才是第一步,之后的困难才是重重的。

由于这个如果还原代码成非控制流的话,需要很多时间和精力,所以我为了方便,直接堆dom,这样子下次更新的也不需要太怕,当然你有时间能力还原当然更好了。

堆dom之前首先需要在每个 catch 里面加个断点,因为有些函数或者属性获取不到直接报错,不断点的话或许就找不到了 。或者直接删除try catch也行。

然后也将代码本地跑,加上动态代理,打印出他们需要的dom属性,不了解动态代理的可以看看海绵大神的这篇文章:js逆向之另类思路扣代码

等将那些属性补完了,登录也能用了,但是登录的话不知道会不会变成风控号,自测,滑块的话还需要很多东西,还有些动态代理搞不出来的,需要自己多跟跟代码路程,或者你用自己的技巧搞搞。

接下来说下检测的东西吧,window 的属性的话,看到的大多数是 selenium 的属性,那个 pyppeteer 的好像检测少点,如下:

var keys = ['WeixinJSBridge', 'WindVane', '__wxjs_environment', 'AlipayJSBridge', 'shenjian', 'ScriptEngineMinorVersion', 'ScriptEngineMajorVersion', 'ScriptEngineBuildVersion', 'ActiveXObject', '__$cdc7c2f8ab481c8964b__', 'UCCoreJava', 'ucapi', 'ApplePayError', 'ApplePaySession', '__acjs_awsc_123', '__acjs', '_uab_module', 'mozPaintCount', 'mozInnerScreenX', 'Debug', 'WebKitPlaybackTargetAvailabilityEvent', 'attachEvent']

里面也检测了整个大函数的 toString,不一样走的路径完全不一样。

还有就是里面很多 hasOwnProperty 和 getOwnPropertyDescriptors,不清楚的自己谷歌下,第二个难改点,第一个比较容易,主要是找那些属性在判断这两个东西,可以试试 hook。

剩下的就是轨迹了,轨迹也有个需要注意的点,里面只记录每个轨迹之间的时间差大于2毫秒才会记录,所以需要停一下,要不然没用。

我现在搞的轨迹是固定的,都可以过,如果不是频繁的话,轨迹一直都有效,因为都是一直滑到底。

至此 ,ua就完毕了,如果你这个时候开心的话,那么,恭喜你,还有个几万行的文件需要看,也是和上面的差不多。

um这个文件,生成的是106data,但是这个文件检测的东西不多,基本都是设备指纹,就是与canvas相关的,还有那些什么可支持插件之类的,不怎么检测dom属性。

这个文件有很多定时函数,目的就是更新一些storage好像,还有就是这个umiToken,滑块需要这个。

至此,ua和um,搞定了就可以过了,整了六天,电脑都快顶不住了。

如果文章对你有点用,还是希望能点个好看之类的,感谢!或许还会继续记录下某数的过程。

如有权益问题请发邮件给我:2217532592@qq.com,立即删除。

2020.05.09

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 日常学python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档