看不懂混js代码怎么逆向美团api接口的

1

美团mtgsig

认识一大佬,告诉我,只要我们大眼一扫,搞不定,立马就放弃,这个我深有体会!

当你第一眼看到以下mtgsig的值之后,还有多少人会想着去搞定它呢?

2

难点分析

全局搜不到mtgsig

值是json,key是很宽泛的值,无法进行搜索定位

生成这段值的代码是某种方式膨胀的,很难去读懂和调试

3

办法

这种代码再去单步调试,简直就是噩梦,始终无法进行下去。

简洁的办法就是全盘复制下来,什么都不要改,就开始运行。

报什么错,补什么环境,比如

XMLHttpRequestisnotdefined,直接补相关的环境

然后接着运行,直到全部都补完,直接运行不报错

紧接着是找入口函数

直接console.log(window),看有没有特殊的关键字或者对象。

反过来,在网页上全局搜h5guard关键字,目的是看在哪里开始调用的。

全部复制到代码下面,继续调试,根据报错的行数,在浏览器中看需要补充什么或者要hardcode什么,直到没有报错信息,打印window.H5guard

init之后多出了一个sign方法,这个我们盲猜是header里面的mtgsig生成的方法

调用这个方法,传入一个空对象window.H5guard.sign({})

果然看到了我们想要的内容。

接着去看页面调用这个传入的是什么。

点击接口的启动器,点击进入加密的前一个js文件,打上断点。

再次刷新页面,或者下滑获取更多数据,我们就很清晰的知道传入的参数是什么了

直接编写代码进行测试。

完成!

学以致用,共同进步




转载请注明:http://www.aierlanlan.com/rzdk/7866.html

  • 上一篇文章:
  •   
  • 下一篇文章: