pc_抖音破解

This commit is contained in:
aiyingfeng 2023-08-02 20:46:50 +08:00
parent da7e32110b
commit d5833b7d34
5 changed files with 1205 additions and 956 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,269 +0,0 @@
function caad(e, t, n) {
"use strict";
var r = n("23e7")
, i = n("4d641").includes
, o = n("44d2")
, a = n("ae40")
, s = a("indexOf", {
ACCESSORS: !0,
1: 0
});
r({
target: "Array",
proto: !0,
forced: !s
}, {
includes: function(e) {
return i(this, e, arguments.length > 1 ? arguments[1] : void 0)
}
}),
o("includes")
}
function f3f3(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return o
}
));
n("a4d3"),
n("4de4"),
n("4160"),
n("e439"),
n("dbb4"),
n("b64b"),
n("159b");
var r = n("fc11");
function i(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter((function(t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable
}
))),
n.push.apply(n, r)
}
return n
}
function o(e) {
for (var t = 1; t < arguments.length; t++) {
var n = null != arguments[t] ? arguments[t] : {};
t % 2 ? i(Object(n), !0).forEach((function(t) {
Object(r["a"])(e, t, n[t])
}
)) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : i(Object(n)).forEach((function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
}
))
}
return e
}
}
function b0c0(e, t, n) {
var r = n("83ab")
, i = n("9bf2").f
, o = Function.prototype
, a = o.toString
, s = /^\s*function ([^ (]*)/;
r && !("name"in o) && i(o, "name", {
configurable: !0,
get: function() {
try {
return a.call(this).match(s)[1]
} catch (e) {
return ""
}
}
})
}
function d3b7(e, t, n) {
var r = n("00ee")
, i = n("6eeb")
, o = n("b041");
r || i(Object.prototype, "toString", o, {
unsafe: !0
})
}
function aaa(e, t, n) {
"use strict";
// n.d(t, "b", (function() {
// return C
// }
// )),
// n.d(t, "a", (function() {
// return k
// }
// ));
caad;
var r = f3f3,
i = ({n: "RadarArea"}, b0c0, d3b7, n("3ca3"), n("159b"), n("ddb0"), n("2b3d"), n("83b9"))
, o = n.n(i)
, a = n("2d83")
, s = n.n(a)
, l = n("467f")
, c = n.n(l)
, u = n("30b5")
, h = n.n(u)
, f = n("7aac")
, d = n.n(f)
, p = n("932e");
var g = function(e) {
var t = o()(e.baseURL, e.url)
, n = h()(t, e.params, e.paramsSerializer);
try {
["post", "put", "patch", "delete"].includes(e.method) ? function(e, t) {
var n = document.createElement("form");
n.method = t.method,
n.target = "_blank",
n.action = e;
var r, i = t.data ? JSON.parse(t.data) : {};
t.xsrfHeaderName && ((t.withCredentials || Object(p["a"])(t.url)) && t.xsrfCookieName && (r = d.a.read(t.xsrfCookieName)),
r && (i[t.xsrfHeaderName] = r));
var o = h()("/", i, t.paramsSerializer)
, a = new URL(o,location.origin);
a.searchParams.forEach((function(e, t) {
var r = document.createElement("input");
r.name = t,
r.value = e,
n.appendChild(r)
}
)),
document.body.appendChild(n),
n.submit(),
n.remove()
}(n, e) : window.open(n, "_blank", "noopener")
} catch (a) {
var r = {
status: 418,
statusText: "I'm a teapot",
config: e
};
throw new s.a(a.message,e,null,void 0,r)
}
var i = {
data: void 0,
status: 200,
statusText: "OK",
config: e,
headers: {}
};
return new Promise((function(e, t) {
c()(e, t, i)
}
))
}
, m = (n("99af"),
n("4de4"),
n("a15b"),
n("d81d"),
n("b64b"),
n("2532"),
n("0122"))
, v = n("6821")
, y = n.n(v);
function b(e) {
return Array.isArray(e) || "boolean" == typeof e
}
function A(e, t, n) {
var r = null != t ? t : {}
, i = r.include
, o = r.enforceWithKeys
, a = void 0 === o ? [] : o
, s = Object.keys(e);
if (n && i) {
var l = i.concat(["service_name", "service_method", "sign_strict"]);
s = s.filter((function(e) {
return l.includes(e)
}
))
}
var c = s.sort().map((function(t) {
var n = e[t];
return function(e) {
return null == e
}(n) ? "" : t + (!a.includes(t) && function(e) {
return ["string", "number"].includes(Object(m["a"])(e))
}(n) ? n : t)
}
)).join("");
return y()(c + "e39539b8836fb99e1538974d3ac1fe98")
}
function _(e) {
if (!e || "object" !== Object(m["a"])(e))
return e;
for (var t = {}, n = 0, r = Object.keys(e); n < r.length; n++) {
var i = r[n]
, o = e[i];
t[i] = b(o) ? JSON.stringify(o) : o
}
return t
}
function x(e, t, n) {
var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}
, o = i.strict
, a = i.serializing
, s = i.rule
, l = {
service_name: e,
service_method: t,
sign_strict: o ? 1 : void 0
};
return Object(r["a"])(Object(r["a"])(Object(r["a"])({}, a ? _(n) : n), l), {}, {
sign: A(Object(r["a"])(Object(r["a"])({}, n), l), s, o)
})
}
var w = {
get: "/h/api/gateway/handler_get/",
post: "/h/api/gateway/handler_post/"
}
, C = function(e) {
var t;
if (e.microservice) {
var n = e.microservice
, r = e.url
, i = null !== (t = e.gatewayURLs) && void 0 !== t ? t : w;
["post", "put", "patch", "delete"].includes(e.method) ? (e.data = x(n, r, e.data, {
strict: e.gatewayStrictMode,
rule: e.gatewaySignRule
}),
e.url = i.post) : (e.params = x(n, r, e.params, {
strict: e.gatewayStrictMode,
serializing: !0,
rule: e.gatewaySignRule
}),
e.url = i.get),
e.withGatewayHeaders && (e.headers["x-star-service-name"] = n,
e.headers["x-star-service-method"] = r)
}
return e
};
function S(e) {
return (null == e ? void 0 : e.open) && (e = Object(r["a"])(Object(r["a"])({}, e), {}, {
adapter: g,
unwrap: !1
})),
e
}
var k = function(e) {
return {
axios: e,
get: function(e, t, n) {
return this.axios.get(t, Object(r["a"])(Object(r["a"])({}, S(n)), {}, {
microservice: e
}))
},
post: function(e, t, n, i) {
return this.axios.post(t, n, Object(r["a"])(Object(r["a"])({}, S(i)), {}, {
microservice: e
}))
}
}
}
}
sign = aaa();

View File

@ -27,6 +27,7 @@ def get_ac_nonce(encoded_text):
}
conn.request("GET", url=url, headers=headers)
response = conn.getresponse()
print(response.read().decode())
cookie_dict = get_cookie_dict(response)
__ac_nonce = cookie_dict.get('__ac_nonce')
conn.close()
@ -41,7 +42,7 @@ def get_ttwid(ac_nonce, encoded_text):
'*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
'cache-control': 'no-cache',
'cookie': f'__ac_nonce={ac_nonce}; __ac_signature=_02B4Z6wo00f01qT38OwAAIDBlV1UaegcPdak1.RAAM4EChrzmTNVTdns5RT2dW5igX46-5oWSdY3gufX2aITjm7dpjjH8v3edtU9Z8z1uZ5Qq6pR7L-ZcR3HDMDQa0lX9Q7Op7IQTaTqlAnY70;',
'cookie': f'__ac_nonce={ac_nonce}; __ac_signature=_02B4Z6wo00f01Uzv-9gAAIDCfUVfXfA0ld1Mz.9AADf1d8;',
'pragma': 'no-cache',
'referer': f'https://www.douyin.com/search/{encoded_text}?source=normal_search&type=user',
'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
@ -54,6 +55,7 @@ def get_ttwid(ac_nonce, encoded_text):
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/114.0.0.0 Safari/537.36'
}
print(headers['cookie'])
conn.request("GET", url=url, headers=headers)
response = conn.getresponse()
# print(response.read().decode())
@ -62,19 +64,22 @@ def get_ttwid(ac_nonce, encoded_text):
ttwid = cookie_dict.get('ttwid')
conn.close()
return ttwid
except AttributeError as e:
except Exception as e:
print(f"报错{e}")
def get_cookie_dict(response):
cookies_dict = {}
cookie_str = response.getheader("Set-Cookie").replace('secure, ', '')
cookies_list = cookie_str.split(";")
for cookie in cookies_list:
if "=" in cookie.strip():
name, value = cookie.strip().split("=", 1)
cookies_dict[name] = value
return cookies_dict
if response.getheader("Set-Cookie"):
cookie_str = response.getheader("Set-Cookie").replace('secure, ', '')
cookies_list = cookie_str.split(";")
for cookie in cookies_list:
if "=" in cookie.strip():
name, value = cookie.strip().split("=", 1)
cookies_dict[name] = value
return cookies_dict
else:
raise ValueError('Set-Cookie为空')
if __name__ == '__main__':

View File

@ -0,0 +1,41 @@
import requests
import execjs
def get_ac_sign(ac_nonce):
with open('../node/_ac_signature.js', 'r', encoding='utf-8') as f:
b = f.read()
c = execjs.compile(b)
d = c.call('get_ac_signature', ac_nonce)
return d
def run():
sess = requests.session()
url = "https://www.douyin.com/user/MS4wLjABAAAA8Ag2TMrWvfZWpLywypFRGhoL2_A8FdXawWfuh29bJWCJ_BCr23KY0S9O76eC4_oC"
__ac_nonce = "06384169e00527ffaf338"
__ac_signature = get_ac_sign(__ac_nonce)
sess.headers = {
'authority': 'www.douyin.com',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-language': 'zh-CN,zh;q=0.9,en-XA;q=0.8,en;q=0.7,zh-TW;q=0.6',
'cache-control': 'max-age=0',
'dnt': '1',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'cookie': f'__ac_nonce={__ac_nonce}; __ac_signature={__ac_signature}',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
payload = {}
response = sess.get(url, data=payload)
print(response.text)
if __name__ == '__main__':
run()