美拍小视频去水印

分享一下逆向js的经验

  1. 进入美拍任意一个视频页面,通过F12控制台
    在这里插入图片描述

通过点击顺序到js中,全局搜索mp4,可以找到一下代码
在这里插入图片描述
这里发现比较可疑,打个断点,重新刷新页面,断点到此处,然后点击下一步
在这里插入图片描述
断点来到6114行,把鼠标放到a上,可以发现,就是页面传过来的data-video这个属性的值。
可以发现,a这个变量经过了什么步骤,相应的函数在上方也有。至于有些里面有些 h,k是啥,在上面也有相应的说明了
在这里插入图片描述
相信求出来下方这个值不是什么难题了。耐心一点把上方的代码转成python就行了
在这里插入图片描述
最后就是把求出来的值放到g.atob当中去,我们继续打断点,进入这个函数
在这里插入图片描述
如果看不出来这个是base64解码,可以用js2py或者execpy调用js代码即可,但实际上它就是一个base64编码,然后用base64解一下码就可以了。
以下贴python实现代码

# -*- coding: utf-8 -*-
import base64

a = "e1f1aHR0cDosoJMIDBBWvL212dmlkZW8xMC5tZWl0dWRhdGEuY29tLzViNTgxNWE3OWIyM2I3ODY3X0gyNjRfMV8xOTdjMTIxM2E0ZDE2NC5tcDQ/az03ZWI2Y2IyNzZjMjZlYmRkMmY0ZDY1ZWZhMzlhMDcyNCZ0PTVjMTZX0GecYxOWFl"

def getHex(a):
    hex_1 = a[:4][::-1]
    str_1 = a[4:]
    return str_1, hex_1


def getDec(a):
    b = str(int(a, 16))
    c = list(b[:2])
    d = list(b[2:])
    return c, d


def substr(a, b):
    k = int(b[0])
    c = a[:k]
    d = a[k:k+int(b[1])]
    temp = a[int(b[0]):].replace(d, "")
    result = c + temp
    return result


def getPos(a, b):
        b[0] = len(a) - int(b[0]) - int(b[1])
        return b


str1, hex1 = getHex(a)
pre, tail = getDec(hex1)
d = substr(str1, pre)
kk = substr(d, getPos(d, tail))
a = base64.b64decode(kk)
print(a)

另外说一下,逆向调试的时候变量名最好和js当中一致,否则调试过程中很混乱,导致自己大脑短路。
以上就是破解美拍视频无水印的方法。喜欢的或者不懂的可评论提问

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值