网易易盾逆向分析
本文最后更新于 362 天前,其中的信息可能已经有所发展或是发生改变。

本篇文章为作者在学习逆向过程中所做案例的经验分享,本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

抓包分析

主要逆向的都在后面的那两个包 前面的可以不发请求

fp和cb需要逆向,返回图片以及token,token后续会用到

第二个接口携带的参数有很多,需要逆向的只有data,成功返回的validate就有数据,否则就没有

首先把时间戳给替换文件然后删掉,进去,然后本地替换一下,然后把箭头指向的那行代码删掉,保存刷新一下,然后调试其他代码就可以一直有断点了

逆向分析

cb参数,看到cb参数是调用了f3就生成的值,所以直接把代码都复制到本地,然后把f3导出就行了

fp参数,fp参数是跟cookie的gdxidpyhxdE有关联的,先生成了这个参数,然后赋值了了gdxidpyhxdE,再从gdxidpyhxdE取值,所以直接hook一下cookie的gdxidpyhxdE。实际上你hook到之后去分析代码会发现fp等于window.gdxidpyhxde,既然都能从window取值了,说明已经在全局里了,所以直接补环境一把梭,把fp=window.gdxidpyhxde就能出值了

data参数,分析的都在图里,然后在本地代码,把这个函数魔改一下,然后导出就行了

轨迹

    def get_track_list(self, distance):
        """    
        distance:滑块距离
        return:轨迹列表    
        """
        trajectory_list = []
        if distance >= 200:
            count = random.randint(145, 180)
            count_x = 2
            count_x_s = 4
        elif distance >= 150:
            count = random.randint(80, 140)
            count_x = 2
            count_x_s = 3
        elif distance < 150:
            count = random.randint(60, 85)
            count_x = 3
            count_x_s = 3
        else:
            count = random.randint(60, 180)
            count_x = 3
            count_x_s = 4
​
        mouse_x = 0
        x = 3
        y = 0
        time = random.randint(120, 180)
        for i in range(count):
            if mouse_x < distance / 2:
                x = x + random.randint(1, count_x)
                y = y + random.randint(-1, 1)
                time = time + random.randint(8, 15)
            else:
                if (mouse_x > distance / 2) and mouse_x < distance - 15:
                    x = x + random.randint(0, count_x_s)
                    y = y + random.randint(-1, 1)
                    time = time + random.randint(10, 20)
                else:
                    x = x + random.randint(0, 1)
                    y = y + random.randint(-1, 1)
                    time = time + random.randint(10, 20)
            mouse_x = x
            trajectory_list.append([x, y, time])
            if mouse_x >= distance:
                break
        return trajectory_list

结果验证

笔者水平有限,如有疑问,欢迎留言指正,一起交流,有任何问题可以添加我微信;
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇