第一步 扣取HTML代码

<!DOCTYPE html>
<html style="font-size: 50px;"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <title>抖音_signature破解</title></head>
<body></body>
</html><script type="text/javascript">
!function(t) {if (t.__M = t.__M || {},!t.__M.require) {var e, n, r = document.getElementsByTagName("head")[0], i = {}, o = {}, a = {}, u = {}, c = {}, s = {}, l = function(t, n) {if (!(t in u)) {u[t] = !0;var i = document.createElement("script");if (n) {var o = setTimeout(n, e.timeout);i.onerror = function() {clearTimeout(o),n()};var a = function() {clearTimeout(o)};"onload"in i ? i.onload = a : i.onreadystatechange = function() {("loaded" === this.readyState || "complete" === this.readyState) && a()}}return i.type = "text/javascript",i.src = t,r.appendChild(i),i}}, f = function(t, e, n) {var r = i[t] || (i[t] = []);r.push(e);var o, a = c[t] || c[t + ".js"] || {}, u = a.pkg;o = u ? s[u].url || s[u].uri : a.url || a.uri || t,l(o, n && function() {n(t)})};n = function(t, e) {"function" != typeof e && (e = arguments[2]),t = t.replace(/\.js$/i, ""),o[t] = e;var n = i[t];if (n) {for (var r = 0, a = n.length; a > r; r++)n[r]();delete i[t]}},e = function(t) {if (t && t.splice)return e.async.apply(this, arguments);t = e.alias(t);var n = a[t];if (n)return n.exports;var r = o[t];if (!r)throw "[ModJS] Cannot find module `" + t + "`";n = a[t] = {exports: {}};var i = "function" == typeof r ? r.apply(n, [e, n.exports, n]) : r;return i && (n.exports = i),n.exports && !n.exports["default"] && Object.defineProperty && Object.isExtensible(n.exports) && Object.defineProperty(n.exports, "default", {value: n.exports}),n.exports},e.async = function(n, r, i) {function a(t) {for (var n, r = 0, h = t.length; h > r; r++) {var p = e.alias(t[r]);p in o ? (n = c[p] || c[p + ".js"],n && "deps"in n && a(n.deps)) : p in s || (s[p] = !0,l++,f(p, u, i),n = c[p] || c[p + ".js"],n && "deps"in n && a(n.deps))}}function u() {if (0 === l--) {for (var i = [], o = 0, a = n.length; a > o; o++)i[o] = e(n[o]);r && r.apply(t, i)}}"string" == typeof n && (n = [n]);var s = {}, l = 0;a(n),u()},e.resourceMap = function(t) {var e, n;n = t.res;for (e in n)n.hasOwnProperty(e) && (c[e] = n[e]);n = t.pkg;for (e in n)n.hasOwnProperty(e) && (s[e] = n[e])},e.loadJs = function(t) {l(t)},e.loadCss = function(t) {if (t.content) {var e = document.createElement("style");e.type = "text/css",e.styleSheet ? e.styleSheet.cssText = t.content : e.innerHTML = t.content,r.appendChild(e)} else if (t.url) {var n = document.createElement("link");n.href = t.url,n.rel = "stylesheet",n.type = "text/css",r.appendChild(n)}},e.alias = function(t) {return t.replace(/\.js$/i, "")},e.timeout = 5e3,t.__M.define = n,t.__M.require = e}
}(this)__M.define("douyin_falcon:node_modules/byted-acrawler/dist/runtime", function(l, e) {Function(function(l) {return 'e(e,a,r){(b[e]||(b[e]=t("x,y","x "+e+" y")(r,a)}a(e,a,r){(k[r]||(k[r]=t("x,y","new x[y]("+Array(r+1).join(",x[y]")(1)+")")(e,a)}r(e,a,r){n,t,s={},b=s.d=r?r.d+1:0;for(s["$"+b]=s,t=0;t<b;t)s[n="$"+t]=r[n];for(t=0,b=s=a;t<b;t)s[t]=a[t];c(e,0,s)}c(t,b,k){u(e){v[x]=e}f{g=,ting(bg)}l{try{y=c(t,b,k)}catch(e){h=e,y=l}}for(h,y,d,g,v=[],x=0;;)switch(g=){case 1:u(!)4:f5:u((e){a=0,r=e;{c=a<r;c&&u(e[a]),c}}(6:y=,u((y8:if(g=,lg,g=,y===c)b+=g;else if(y!==l)y9:c10:u(s(11:y=,u(+y)12:for(y=f,d=[],g=0;g<y;g)d[g]=y.charCodeAt(g)^g+y;u(String.fromCharCode.apply(null,d13:y=,h=delete [y]14:59:u((g=)?(y=x,v.slice(x-=g,y:[])61:u([])62:g=,k[0]=65599*k[0]+k[1].charCodeAt(g)>>>065:h=,y=,[y]=h66:u(e(t[b],,67:y=,d=,u((g=).x===c?r(g.y,y,k):g.apply(d,y68:u(e((g=t[b])<"<"?(b--,f):g+g,,70:u(!1)71:n72:+f73:u(parseInt(f,3675:if(){bcase 74:g=<<16>>16g76:u(k[])77:y=,u([y])78:g=,u(a(v,x-=g+1,g79:g=,u(k["$"+g])81:h=,[f]=h82:u([f])83:h=,k[]=h84:!085:void 086:u(v[x-1])88:h=,y=,h,y89:u({e{r(e.y,arguments,k)}e.y=f,e.x=c,e})90:null91:h93:h=0:;default:u((g<<16>>16)-16)}}n=this,t=n.Function,s=Object.keys||(e){a={},r=0;for(c in e)a[r]=c;a=r,a},b={},k={};r'.replace(/[-]/g, function(e) {return l[15 & e.charCodeAt(0)]})}("v[x++]=v[--x]t.charCodeAt(b++)-32function return ))++.substrvar .length(),b+=;break;case ;break}".split("")))()('gr$Daten Иb/s!l y͒yĹg,(lfi~ah`{mv,-n|jqewVxp{rvmmx,&effkx[!cs"l".Pq%widthl"@q&heightl"vr*getContextx$"2d[!cs#l#,*;?|u.|uc{uq$fontl#vr(fillTextx$$龘ฑภ경2<[#c}l#2q*shadowBlurl#1q-shadowOffsetXl#$$limeq+shadowColorl#vr#arcx88802[%c}l#vr&strokex[ c}l"v,)}eOmyoZB]mx[ cs!0s$l$Pb<k7l l!r&lengthb%^l$1+s$jl  s#i$1ek1s$gr#tack4)zgr#tac$! +0o![#cj?o ]!l$b%s"o ]!l"l$b*b^0d#>>>s!0s%yA0s"l"l!r&lengthb<k+l"^l"1+s"jl  s&l&z0l!$ +["cs\'(0l#i\'1ps9wxb&s() &{s)/s(gr&Stringr,fromCharCodes)0s*yWl ._b&s o!])l l Jb<k$.aj;l .Tb<k$.gj/l .^b<k&i"-4j!+& s+yPo!]+s!l!l Hd>&l!l Bd>&+l!l <d>&+l!l 6d>&+l!l &+ s,y=o!o!]/q"13o!l q"10o!],l 2d>& s.{s-yMo!o!]0q"13o!]*Ld<l 4d#>>>b|s!o!l q"10o!],l!& s/yIo!o!].q"13o!],o!]*Jd<l 6d#>>>b|&o!]+l &+ s0l-l!&l-l!i\'1z141z4b/@d<l"b|&+l-l(l!b^&+l-l&zl\'g,)gk}ejo{cm,)|yn~Lij~em["cl$b%@d<l&zl\'l $ +["cl$b%b|&+l-l%8d<@b|l!b^&+ q$sign ', [Object.defineProperty(e, "__esModule", {value: !0})])
});dycs = __M.require("douyin_falcon:node_modules/byted-acrawler/dist/runtime")
signc = dycs.sign(75984155221)
document.write(signc)</script>

第二步 缩小范围

var s = function(l) {this.navigator = {userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}var e = {}Function(function(l) {return 'e(e,a,r){(b[e]||(b[e]=t("x,y","x "+e+" y")(r,a)}a(e,a,r){(k[r]||(k[r]=t("x,y","new x[y]("+Array(r+1).join(",x[y]")(1)+")")(e,a)}r(e,a,r){n,t,s={},b=s.d=r?r.d+1:0;for(s["$"+b]=s,t=0;t<b;t)s[n="$"+t]=r[n];for(t=0,b=s=a;t<b;t)s[t]=a[t];c(e,0,s)}c(t,b,k){u(e){v[x]=e}f{g=,ting(bg)}l{try{y=c(t,b,k)}catch(e){h=e,y=l}}for(h,y,d,g,v=[],x=0;;)switch(g=){case 1:u(!)4:f5:u((e){a=0,r=e;{c=a<r;c&&u(e[a]),c}}(6:y=,u((y8:if(g=,lg,g=,y===c)b+=g;else if(y!==l)y9:c10:u(s(11:y=,u(+y)12:for(y=f,d=[],g=0;g<y;g)d[g]=y.charCodeAt(g)^g+y;u(String.fromCharCode.apply(null,d13:y=,h=delete [y]14:59:u((g=)?(y=x,v.slice(x-=g,y:[])61:u([])62:g=,k[0]=65599*k[0]+k[1].charCodeAt(g)>>>065:h=,y=,[y]=h66:u(e(t[b],,67:y=,d=,u((g=).x===c?r(g.y,y,k):g.apply(d,y68:u(e((g=t[b])<"<"?(b--,f):g+g,,70:u(!1)71:n72:+f73:u(parseInt(f,3675:if(){bcase 74:g=<<16>>16g76:u(k[])77:y=,u([y])78:g=,u(a(v,x-=g+1,g79:g=,u(k["$"+g])81:h=,[f]=h82:u([f])83:h=,k[]=h84:!085:void 086:u(v[x-1])88:h=,y=,h,y89:u({e{r(e.y,arguments,k)}e.y=f,e.x=c,e})90:null91:h93:h=0:;default:u((g<<16>>16)-16)}}n=this,t=n.Function,s=Object.keys||(e){a={},r=0;for(c in e)a[r]=c;a=r,a},b={},k={};r'.replace(/[-]/g, function(e) {return l[15 & e.charCodeAt(0)]})}("v[x++]=v[--x]t.charCodeAt(b++)-32function return ))++.substrvar .length(),b+=;break;case ;break}".split("")))()('gr$Daten Иb/s!l y͒yĹg,(lfi~ah`{mv,-n|jqewVxp{rvmmx,&effkx[!cs"l".Pq%widthl"@q&heightl"vr*getContextx$"2d[!cs#l#,*;?|u.|uc{uq$fontl#vr(fillTextx$$龘ฑภ경2<[#c}l#2q*shadowBlurl#1q-shadowOffsetXl#$$limeq+shadowColorl#vr#arcx88802[%c}l#vr&strokex[ c}l"v,)}eOmyoZB]mx[ cs!0s$l$Pb<k7l l!r&lengthb%^l$1+s$jl  s#i$1ek1s$gr#tack4)zgr#tac$! +0o![#cj?o ]!l$b%s"o ]!l"l$b*b^0d#>>>s!0s%yA0s"l"l!r&lengthb<k+l"^l"1+s"jl  s&l&z0l!$ +["cs\'(0l#i\'1ps9wxb&s() &{s)/s(gr&Stringr,fromCharCodes)0s*yWl ._b&s o!])l l Jb<k$.aj;l .Tb<k$.gj/l .^b<k&i"-4j!+& s+yPo!]+s!l!l Hd>&l!l Bd>&+l!l <d>&+l!l 6d>&+l!l &+ s,y=o!o!]/q"13o!l q"10o!],l 2d>& s.{s-yMo!o!]0q"13o!]*Ld<l 4d#>>>b|s!o!l q"10o!],l!& s/yIo!o!].q"13o!],o!]*Jd<l 6d#>>>b|&o!]+l &+ s0l-l!&l-l!i\'1z141z4b/@d<l"b|&+l-l(l!b^&+l-l&zl\'g,)gk}ejo{cm,)|yn~Lij~em["cl$b%@d<l&zl\'l $ +["cl$b%b|&+l-l%8d<@b|l!b^&+ q$sign ', [e])return e.sign(l)
}
console.log(s(75984155221));

第三步:二进制转文本

function generateSignature(userId) {this.navigator = {userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}var e = {}var r = (function () {function e(e, a, r) {return (b[e] || (b[e] = t("x,y", "return x " + e + " y")))(r, a)}function a(e, a, r) {return (k[r] || (k[r] = t("x,y", "return new x[y](" + Array(r + 1).join(",x[++y]").substr(1) + ")")))(e, a)}function r(e, a, r) {var n, t, s = {}, b = s.d = r ? r.d + 1 : 0;for (s["$" + b] = s, t = 0; t < b; t++) s[n = "$" + t] = r[n];for (t = 0, b = s.length = a.length; t < b; t++) s[t] = a[t];return c(e, 0, s)}function c(t, b, k) {function u(e) {v[x++] = e}function f() {return g = t.charCodeAt(b++) - 32, t.substring(b, b += g)}function l() {try {y = c(t, b, k)} catch (e) {h = e, y = l}}for (var h, y, d, g, v = [], x = 0; ;) switch (g = t.charCodeAt(b++) - 32) {case 1:u(!v[--x]);break;case 4:v[x++] = f();break;case 5:u(function (e) {var a = 0, r = e.length;return function () {var c = a < r;return c && u(e[a++]), c}}(v[--x]));break;case 6:y = v[--x], u(v[--x](y));break;case 8:if (g = t.charCodeAt(b++) - 32, l(), b += g, g = t.charCodeAt(b++) - 32, y === c) b += g; else if (y !== l) return y;break;case 9:v[x++] = c;break;case 10:u(s(v[--x]));break;case 11:y = v[--x], u(v[--x] + y);break;case 12:for (y = f(), d = [], g = 0; g < y.length; g++) d[g] = y.charCodeAt(g) ^ g + y.length;u(String.fromCharCode.apply(null, d));break;case 13:y = v[--x], h = delete v[--x][y];break;case 14:v[x++] = t.charCodeAt(b++) - 32;break;case 59:u((g = t.charCodeAt(b++) - 32) ? (y = x, v.slice(x -= g, y)) : []);break;case 61:u(v[--x][t.charCodeAt(b++) - 32]);break;case 62:g = v[--x], k[0] = 65599 * k[0] + k[1].charCodeAt(g) >>> 0;break;case 65:h = v[--x], y = v[--x], v[--x][y] = h;break;case 66:u(e(t[b++], v[--x], v[--x]));break;case 67:y = v[--x], d = v[--x], u((g = v[--x]).x === c ? r(g.y, y, k) : g.apply(d, y));break;case 68:u(e((g = t[b++]) < "<" ? (b--, f()) : g + g, v[--x], v[--x]));break;case 70:u(!1);break;case 71:v[x++] = n;break;case 72:v[x++] = +f();break;case 73:u(parseInt(f(), 36));break;case 75:if (v[--x]) {b++;break}case 74:g = t.charCodeAt(b++) - 32 << 16 >> 16, b += g;break;case 76:u(k[t.charCodeAt(b++) - 32]);break;case 77:y = v[--x], u(v[--x][y]);break;case 78:g = t.charCodeAt(b++) - 32, u(a(v, x -= g + 1, g));break;case 79:g = t.charCodeAt(b++) - 32, u(k["$" + g]);break;case 81:h = v[--x], v[--x][f()] = h;break;case 82:u(v[--x][f()]);break;case 83:h = v[--x], k[t.charCodeAt(b++) - 32] = h;break;case 84:v[x++] = !0;break;case 85:v[x++] = void 0;break;case 86:u(v[x - 1]);break;case 88:h = v[--x], y = v[--x], v[x++] = h, v[x++] = y;break;case 89:u(function () {function e() {return r(e.y, arguments, k)}return e.y = f(), e.x = c, e}());break;case 90:v[x++] = null;break;case 91:v[x++] = h;break;case 93:h = v[--x];break;case 0:return v[--x];default:u((g << 16 >> 16) - 16)}}var n = this, t = n.Function, s = Object.keys || function (e) {var a = {}, r = 0;for (var c in e) a[r++] = c;return a.length = r, a}, b = {}, k = {};return r})()('gr$Daten Иb/s!l y͒yĹg,(lfi~ah`{mv,-n|jqewVxp{rvmmx,&effkx[!cs"l".Pq%widthl"@q&heightl"vr*getContextx$"2d[!cs#l#,*;?|u.|uc{uq$fontl#vr(fillTextx$$龘ฑภ경2<[#c}l#2q*shadowBlurl#1q-shadowOffsetXl#$$limeq+shadowColorl#vr#arcx88802[%c}l#vr&strokex[ c}l"v,)}eOmyoZB]mx[ cs!0s$l$Pb<k7l l!r&lengthb%^l$1+s$jl  s#i$1ek1s$gr#tack4)zgr#tac$! +0o![#cj?o ]!l$b%s"o ]!l"l$b*b^0d#>>>s!0s%yA0s"l"l!r&lengthb<k+l"^l"1+s"jl  s&l&z0l!$ +["cs\'(0l#i\'1ps9wxb&s() &{s)/s(gr&Stringr,fromCharCodes)0s*yWl ._b&s o!])l l Jb<k$.aj;l .Tb<k$.gj/l .^b<k&i"-4j!+& s+yPo!]+s!l!l Hd>&l!l Bd>&+l!l <d>&+l!l 6d>&+l!l &+ s,y=o!o!]/q"13o!l q"10o!],l 2d>& s.{s-yMo!o!]0q"13o!]*Ld<l 4d#>>>b|s!o!l q"10o!],l!& s/yIo!o!].q"13o!],o!]*Jd<l 6d#>>>b|&o!]+l &+ s0l-l!&l-l!i\'1z141z4b/@d<l"b|&+l-l(l!b^&+l-l&zl\'g,)gk}ejo{cm,)|yn~Lij~em["cl$b%@d<l&zl\'l $ +["cl$b%b|&+l-l%8d<@b|l!b^&+ q$sign ', [e])return e.sign(userId)
}console.log(generateSignature(75984155221))

声明:本博客仅供学习之用,请勿用于非法活动。

signature生成算法相关推荐

  1. php hmacsha1计算,PHP HMAC_SHA1 算法 生成算法签名

    HMAC_SHA1(Hashed Message Authentication Code, Secure Hash Algorithm)是一种安全的基于加密hash函数和共享密钥的消息认证协议. 它可 ...

  2. 获取序列全排列Java,java中全排列的生成算法汇总

    全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来.任何n个字符集的排列都可以与1-n的n个数字的排列一一对应, 因此在此就以n个数字的排列为例说明排列的生成法 ...

  3. 用python做算法_自己用python写的螺旋矩阵生成算法

    自己用python写的螺旋矩阵生成算法 如果输入6,可以生成如下矩阵: 1 20 19 18 17 16 2 21 32 31 30 15 3 22 33 36 29 14 4 23 34 35 28 ...

  4. 使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...

    from:http://www.freebuf.com/articles/network/139697.html DGA(域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检 ...

  5. RocketMQ 介绍 msgId生成算法

    我们用RocketMQ发送信息的时候通常都会返回如下信息: SendResult [sendStatus=SEND_OK, msgId=0A42333A0DC818B4AAC246C290FD0000 ...

  6. 无需向量监督的矢量图生成算法,入选CVPR 2021 | 代码开源

    说起图像生成算法,大家也许并不陌生. 不过,大多数算法都针对栅格图像,也就是位图,而不支持矢量图. 虽然也有一些生成矢量图形的算法,但是在监督训练中,又受限于矢量图数据集有限的质量和规模. 为此,来自 ...

  7. 实验三:实现一个大素数生成算法

    一.实验内容 掌进一步掌握大素数分解的一般原理和实现方法.能用间接方法实现大素数分解.用代码实现Solovay-Strassen素性测试法或Miller-Rabin素性测试法. 二.分实现一个大素数生 ...

  8. c语言 迷宫深度遍历 算法,图的遍历迷宫生成算法浅析

    1. 引言 在平常的游戏中,我们常常会碰到随机生成的地图.这里我们就来看看一个简单的随机迷宫是如何生成. 2. 迷宫描述随机生成一个m * n的迷宫,可用一个矩阵maze[m][n]来表示,如图:   ...

  9. Chirp信号公式与对离散生成算法之间的差异

    讨论产生线性频率变化的公式和它的离散公式之间的差异,并提出Chirp信号的修改方案. Chirp信号的公式 对于固定频率f1f_1f1​的信号,它的表达式为:r(t)=cos⁡(2π⋅f1⋅t)r\l ...

最新文章

  1. href=javascript 显示开发中_Looking Glass全息显示屏兼容全新虚幻引擎插件
  2. python一个月能学成嘛-Python 从入门到精通:一个月就够了!
  3. RecyclerView ItemTouchHelper
  4. shell grep 变量_Shell应用:巧用xargs 轻松实现上万文件的筛选压缩
  5. 如何修改作者名称_PS2019中如何扩展文本选区 ps扩展文本选区的图文教程_photoshop教程...
  6. OpenCV进行图像相似度对比的几种办法
  7. php同个用户同时只能登陆一个, 后登陆者踢掉前登陆者
  8. 微信分享接口调用(自测通过可以用)
  9. Salesforce即将推出Einstein人工智能CRM平台
  10. NYOJ67 - 三角形面积
  11. JHipster中文官网
  12. JavaWeb07-HTML篇笔记(三)
  13. 曾创下IRR62%的超高战绩的VC离开中国:一切因人而来因人而去
  14. 【免积分下载】吴恩达 机器学习笔记PDF版v5.5.pdf
  15. 用计算机制作标准曲线的方法,如何绘制标准曲线
  16. 如何安装ioncube扩展
  17. 新一代至强CPU加速GBase 8a MPP,GBase GCDW云数据仓库助力行业迎接数字化转型新挑战
  18. TypeError: Class constructor ServeCommand cannot be invoked without ‘new‘
  19. (raspberry、bananapi)Archlinux 无法安装yaourt解决办法-----手工编译(不难)(适用于package-query找不到)
  20. Linux系统常用命令:CentOS,RedHat包的安装和卸载

热门文章

  1. 2022年全球市场ERP系统服务研究报告
  2. SteamVR 1.x☀️二、实现凝视效果——基于[CameraRig]
  3. 2019年动漫游戏行业发展怎么样?南京新华电脑学动漫游戏怎么样?
  4. 通过AOP和IOC改造银行转账案例
  5. RocketMQ-源码解读与调试
  6. c语言 家族管理系统,WebField 控制系统家族
  7. oracle24801错误,Access数据库通过ODBC导出到Oracle的两个小问题ora-24801\Ora-01401
  8. 视频Android studio1.3.1从菜鸟到高手--第一季-IT蓝豹
  9. Python Kivy打包成安卓App
  10. jquery导出word(页码,边距设置)