pandownload的百度云下载破解机制

演示使用pandownload最后一个版本2.2.2
在可以查看到的整个应用程序的文件中

\PanDownload\PanData\script\defaultdownload_pcs.lua

引人注目这里是自定义脚本的地方。
lua脚本

script_info = {
    ["title"] = "PCS接口",
    ["version"] = "0.0.1",
    ["description"] = "非超级会员账号请将并行任务数设置为1",
}

function onInitTask(task, user, file)
    if task:getType() ~= TASK_TYPE_BAIDU then
        return false
    end
    if user == nil then
        task:setError(-1, "用户未登录")
        return true
    end
    local appid = 778750
    if user:isSVIP() then
        appid = 250528
    end
    task:setUris("http://pcs.baidu.com/rest/2.0/pcs/file?method=download&path="..pd.urlEncode(file.path).."&app_id="..appid)
    task:setOptions("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36")
    task:setOptions("header", "Cookie: "..user:getCookie())
    return true
end

最后一行可以看到其实task是一个执行下载的接口其实是一个http请求,那么这个请求很简单,只需要几个参数文件地址、appid,cookie。cookie很简单只需要去浏览器中登陆之后获取就可以了。
file.path:是在使用网页版百度云时看请求列表式常见的https://pan.baidu.com/api/list中path,看其规律就是你百度云盘中文件目录的地址。分享的文件暂时不清楚
appid:暂不清楚,可能是表示你是什么客户端(vip客户端、普通客户端、网页?)进行的访问

那么如何进行高速下载呢,看到pandownload中其实是有aria2c那么找一个吧,那么光这样做还不行,我们还需要往请求头中加入cookie

当你没有会员的情况下,你的账户下载量达到阀值时便会强制限速(pandownload官网中为10G)。
最后还是声明冲个会员吧,花点就花点,给程序员们加个餐
声明不提供任何下载手段,仅供研究

你可能感兴趣的:(pandownload的百度云下载破解机制)