吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 880|回复: 7
上一主题 下一主题
收起左侧

[求助] 【求助】 关于某网站的web 逆向

[复制链接]
跳转到指定楼层
楼主
dmvip 发表于 2024-7-8 10:29 回帖奖励
本帖最后由 dmvip 于 2024-7-8 10:31 编辑

目标站:http://m.fun.tv/focplay/?mid=331399&vid=1328447&malliance=fs62pxe
视频地址接口:http://papi.funshion.com/api/edgeips?ve=1.1.16&fudid=17198228882aa4a&cp=fs62pxe&infohash=0942CB03142194E9C587F78F5C216B4517994710&cl=mweb

经过测试发现 fudid 和infohash 这两个字段 是必填的

接下来就是获取这两个值了






查看源代码发现在这个地方调用 其中这个 fudid 是通过 cookie 获取的  而 infohash  是通过计算处理的
json:http://pm.funshion.com/v7/media/play/?id=1328447&ves=1&fudid=17198228882aa4a&cl=mweb&uc=231&user_id=0&malliance=fs62pxe
json 返回的[color=var(--sys-color-token-tag)]infohash: [color=var(--sys-color-token-property-special)]"21A/KKUF0xAcbZJwXAQZ80zS6nFQaLmJr0EtEFwJTOC+ZavRiZYUotXzY="
来计算infohash
IDA console, courier new, monospace">请问下大佬们我 现在通过http 请求发现 拿不到  cookie 的FK 这个值
]




请问下 这个cookie 我通过代码 怎么获取   infohash  这个值 通过Java 代码 怎么计算














image.png (110.48 KB, 下载次数: 0)

image.png

image.png (137.73 KB, 下载次数: 0)

image.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
十万菠萝拍黄瓜 发表于 2024-7-8 11:20
fck是生成的

那个什么info加密位置都找到了 直接把js抠出来调用
3#
hebeijianke 发表于 2024-7-8 13:18
4#
hebeijianke 发表于 2024-7-8 18:01
本帖最后由 hebeijianke 于 2024-7-8 18:03 编辑

fudid 和 fck 是一个值,好像没什么意义,任意一个10位时间戳+随机的5个(数字和小写字母)就行,用python代码就是下面这样
[Python] 纯文本查看 复制代码
import random
import time

def a():
    # 生成一个介于 0 和 65535 之间的随机整数(包含0,不包含65536)
    # 然后转换为十六进制字符串,并去掉开头的 '0x'
    random_int = int((1 + random.random()) * 65535)
    hex_str = hex(random_int)[2:].zfill(4)  # 确保至少4位,不足则前面补0
    return hex_str


# 获取当前时间戳(秒)
timestamp = int(time.time())

# 生成两个 a() 字符串,拼接后取前5个字符
e = str(timestamp) + (a() + a())[:5]

infohash 这个的生成机制没有研究通,
5#
FitContent 发表于 2024-7-9 00:07
本帖最后由 FitContent 于 2024-7-9 00:10 编辑

这是抠出来的 js 代码,用于计算 infohash 值,楼主可以让 AI 转换成等价的 java 代码,我并没有 java 环境。

function v(e, t) {
    // document.mozEcName 的值似乎固定
    var i = ['9b0', 'f41', '953', 'a42'],
    o = 256,
    n = [0, 0, 0, 0],
    r = i;
    for (var s = 0, d = r.length; d > s; s++)
        n[parseInt(r[s].substr(r[s].length - 1))] = parseInt(r[s].substr(0, r[s].length - 1), 16);
    return {
        z1: (e * n[0] + t * n[2]) % o,
        z2: (e * n[1] + t * n[3]) % o
    }
}
function m(e) {
    return String.fromCharCode(e)
}
function f(e) {
    for (var t = "", i = 0; i < e.length; ) {
        var o = e.charCodeAt(i++),
        n = e.charCodeAt(i++);
        if (t += m(v(o, n).z1),
            t += m(v(o, n).z2),
            i == e.length - 1) {
            t += m(e.charCodeAt(i));
            break
        }
    }
    return t
}
function c(e) {
    // 将原本的代码复制给 GPT 可以得出
    return atob(e);
};
function u(e) {
    var t = "",
    i = "",
    o = "";
    return 28 == e.length && e.lastIndexOf("0") == e.length - 1 ? (t = e.substr(0, 27) + "=",
        i = c(t),
        o = f(i),
        y(o)) : (t = e.substr(2, e.length - 2),
        i = c(t),
        f(i))
}

function get_result(e) {
    return {
        hashid: u(e.infohash).substr(0, 40),
        token: u(e.token),
    }
}

// 这里根据需要填写解密的数据
const arg = {
    "infohash": "21tMVk2rHWHLeD+NqFm5iTaT2NRAsuI0CuC+vaherSMGFPf+95uLtzRDY=",
    "token": "21lliVp6JsGlWUXXQntn00V6QRKglwVUHG3IBO8pOsuWyzOHti6azbz/GVGQ2iW09/llgwYR0Bh+4=",
};

console.log(get_result(arg));
/* 输出{
hashid: '0942CB03142194E9C587F78F5C216B4517994710',
token: '2037FD2A018CF983052ED93240B21830A4AFC057_mweb_1720453952'
}
*/
6#
hebeijianke 发表于 2024-7-9 13:56
FitContent 发表于 2024-7-9 00:07
[md]这是抠出来的 js 代码,用于计算 `infohash` 值,楼主可以让 AI 转换成等价的 `java` 代码,我并没有 ` ...

document.mozEcName这个是通过2个mcore_v12_xxxxxxxx.js脚本push进去的,可以通过反混淆mcore_v12_xxxxxxxx.js脚本,提取出来合并成列表模式使用,一个很奇怪的问题是,我用python代码实现了,但是提取出的document.mozEcName最新列表不能正确解码,倒数第二次的却能解码。
7#
FitContent 发表于 2024-7-9 22:00
hebeijianke 发表于 2024-7-9 13:56
document.mozEcName这个是通过2个mcore_v12_xxxxxxxx.js脚本push进去的,可以通过反混淆mcore_v12_xxxxxx ...

似乎这个网站的 document.mozEcName 会变化,今天的值是 [ "830", "b91", "243", "872" ],即便清空浏览器中关于该网站缓存数据、换个浏览器访问都是这样的结果。

用 python 提取出来之后,可以先将提取出来的值放入本地的 JS 中进行测试,同时对照网页端的结果,看看是否算法变动还是怎么个情况。

我试过用上述的 document.mozEcName 用于计算(就是之前提交的脚本),发现没有问题,可以正常解码。不清楚你是怎么做的,可以对照网页端进行调试。

8#
hebeijianke 发表于 2024-7-13 20:27
FitContent 发表于 2024-7-9 22:00
[md]

似乎这个网站的 `document.mozEcName` 会变化,今天的值是 `[ "830", "b91", "243", "872" ]`, ...

document.mozEcName每隔一段时间会变化,我使用python把2个mcore_v12_xxxxxxxx.js读取出来,反混淆后,能提取出来,这个好像是手机端网页特有的,
PC端的网页里面也有段代码,
[JavaScript] 纯文本查看 复制代码
var ue = function(t, e) {
            return {
                z1: (230 * t + 255 * e) % 256,
                z2: (137 * t + 37 * e) % 256
            }

这段代码不同的时段,t和e的参数也会变化
参数正确才能正确解码
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 10:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表