最近经常有朋友向我寻要X-gorgon算法的代码,不要问我是谁?请叫我雷锋。这里只公布python版本的哈,java版本的,感兴趣的朋友可以自己翻译过来,也希望大家有什么好东西能和我一起分享。

这个算法在国外有人出价美金1500,换成人民币也接近一万了吧。



```python
import hashlib
from urllib import request, parse
import time
from io import StringIO
import gzipbyteTable1 ="D6 28 3B 71 70 76 BE 1B A4 FE 19 57 5E 6C BC 21 B2 14 37 7D 8C A2 FA 67 55 6A 95 E3 FA 67 78 ED 8E 55 33 89 A8 CE 36 B3 5C D6 B2 6F 96 C4 34 B9 6A EC 34 95 C4 FA 72 FF B8 42 8D FB EC 70 F0 85 46 D8 B2 A1 E0 CE AE 4B 7D AE A4 87 CE E3 AC 51 55 C4 36 AD FC C4 EA 97 70 6A 85 37 6A C8 68 FA FE B0 33 B9 67 7E CE E3 CC 86 D6 9F 76 74 89 E9 DA 9C 78 C5 95 AA B0 34 B3 F2 7D B2 A2 ED E0 B5 B6 88 95 D1 51 D6 9E 7D D1 C8 F9 B7 70 CC 9C B6 92 C5 FA DD 9F 28 DA C7 E0 CA 95 B2 DA 34 97 CE 74 FA 37 E9 7D C4 A2 37 FB FA F1 CF AA 89 7D 55 AE 87 BC F5 E9 6A C4 68 C7 FA 76 85 14 D0 D0 E5 CE FF 19 D6 E5 D6 CC F1 F4 6C E9 E7 89 B2 B7 AE 28 89 BE 5E DC 87 6C F7 51 F2 67 78 AE B3 4B A2 B3 21 3B 55 F8 B3 76 B2 CF B3 B3 FF B3 5E 71 7D FA FC FF A8 7D FE D8 9C 1B C4 6A F9 88 B5 E5"
def getXGon(url,stub,cookies):NULL_MD5_STRING = "00000000000000000000000000000000"sb=""if len(url)<1 :sb =NULL_MD5_STRINGelse:sb =encryption(url)if len(stub)<1:sb+=NULL_MD5_STRINGelse:sb+=stubif len(cookies)<1:sb+=NULL_MD5_STRINGelse:sb+=encryption(cookies)index = cookies.index("sessionid=")if index == -1:sb+=NULL_MD5_STRINGelse:sessionid = cookies[index+10:]if sessionid.__contains__(';'):endIndex = sessionid.index(';')sessionid = sessionid[:endIndex]sb+=encryption(sessionid)return sbdef encryption(url):obj = hashlib.md5() obj.update(url.encode("UTF-8"))secret = obj.hexdigest()return secret.lower()def initialize(data):myhex = 0byteTable2 = byteTable1.split(" ")for i in range(len(data)):hex1 = 0if i==0:hex1= int(byteTable2[int(byteTable2[0],16)-1],16)byteTable2[i]=hex(hex1)# byteTable2[i] = Integer.toHexString(hex1);elif i==1:temp=   int("D6",16)+int("28",16)if temp>256:temp-=256hex1 = int(byteTable2[temp-1],16)myhex = tempbyteTable2[i] = hex(hex1)else:temp = myhex+int(byteTable2[i], 16)if temp > 256:temp -= 256hex1 = int(byteTable2[temp - 1], 16)myhex = tempbyteTable2[i] = hex(hex1)if hex1*2>256:hex1 = hex1*2 - 256else:hex1 = hex1*2hex2 = byteTable2[hex1 - 1]result = int(hex2,16)^int(data[i],16)data[i] = hex(result)for i in range(len(data)):data[i] = data[i].replace("0x", "")return datadef handle(data):for i in range(len(data)):byte1 = data[i]if len(byte1)<2:byte1+='0'else:byte1 = data[i][1] +data[i][0]if i<len(data)-1:byte1 = hex(int(byte1,16)^int(data[i+1],16)).replace("0x","")else:byte1 = hex(int(byte1, 16) ^ int(data[0], 16)).replace("0x","")byte1 = byte1.replace("0x","")a =  (int(byte1, 16) & int("AA", 16)) / 2a = int(abs(a))byte2 =((int(byte1,16)&int("55",16))*2)|abyte2 = ((byte2&int("33",16))*4)|(int)((byte2&int("cc",16))/4)byte3 = hex(byte2).replace("0x","")if len(byte3)>1:byte3 = byte3[1] +byte3[0]else:byte3+="0"byte4 = int(byte3,16)^int("FF",16);byte4 = byte4 ^ int("14",16)data[i] = hex(byte4).replace("0x","")return datadef xGorgon(timeMillis,inputBytes):data1 = []data1.append("3")data1.append("61")data1.append("41")data1.append("10")data1.append("80")data1.append("0")data2 = input(timeMillis,inputBytes)data2 = initialize(data2)data2 = handle(data2)for i in range(len(data2)):data1.append(data2[i])xGorgonStr = ""for i in range(len(data1)):temp = data1[i]+""if len(temp)>1:xGorgonStr += tempelse:xGorgonStr +="0"xGorgonStr+=tempreturn xGorgonStrdef input(timeMillis,inputBytes):result = []for i in range(4):if inputBytes[i]<0:temp = hex(inputBytes[i])+''temp = temp[6:]result.append(temp)else:temp = hex(inputBytes[i]) + ''result.append(temp)for i in range(4):result.append("0")for  i in range(4):if inputBytes[i+32]<0:result.append( hex(inputBytes[i+32])+'')[6:]else:result.append(hex(inputBytes[i + 32]) + '')for i in range(4):result.append("0")tempByte = hex(int(timeMillis))+""tempByte = tempByte.replace("0x","")for i in range(4):a = tempByte[i * 2:2 * i + 2]result.append(tempByte[i*2:2*i+2])for i in range(len(result)):result[i] = result[i].replace("0x","")return result
def strToByte(str):length = len(str)str2 = strbArr =[]i=0while i < length:# bArr[i/2] = b'\xff\xff\xff'+(str2hex(str2[i]) << 4+str2hex(str2[i+1])).to_bytes(1, "big")a = str2[i]b = str2[1+i]c = ((str2hex(a) << 4)+str2hex(b))bArr.append(c)i+=2return bArrdef str2hex(s):odata = 0;su =s.upper()for c in su:tmp=ord(c)if tmp <= ord('9') :odata = odata << 4odata += tmp - ord('0')elif ord('A') <= tmp <= ord('F'):odata = odata << 4odata += tmp - ord('A') + 10return odata
def doGetGzip(url,headers,charset):req = request.Request(url)for key in headers:req.add_header(key,headers[key])with request.urlopen(req) as f:data = f.read()return gzip.decompress(data).decode()
if __name__=="__main__":url = "https://api3-normal-c-hl.amemv.com/aweme/v2/comment/list/?aweme_id=6817636587912989956&cursor=0&count=20&address_book_access=1&gps_access=1&forward_page_type=1&channel_id=0&city=610700&hotsoon_filtered_count=0&hotsoon_has_more=0&os_api=22&device_type=HUAWEI%20MLA-AL10&ssmix=a&manifest_version_code=100501&dpi=240&uuid=863064010762377&app_name=aweme&version_name=10.5.0&ts=1588833013&app_type=normal&ac=wifi&update_version_code=10509900&channel=aweGW&_rticket=1588833013746&device_platform=android&iid=111883427372&version_code=100500&cdid=36db7bfc-b670-4fa8-815f-6a352b973cd1&openudid=4cedfb75190b8733&device_id=69244350688&resolution=720*1280&os_version=5.1.1&language=zh&device_brand=HUAWEI&aid=1128&mcc_mnc=46007"ts = str(time.time()).split(".")[0]_rticket =str(time.time()*1000).split(".")[0]cookies = "你的cookie"params = url[url.index('?')+1:]STUB = ""s = getXGon(params,STUB,cookies)gorgon = xGorgon(ts,strToByte(s))headers={"X-Gorgon":gorgon,"X-SS-REQ-TICKET": "1585711173953","X-Khronos": ts,"sdk-version":"1","Accept-Encoding": "gzip","X-SS-REQ-TICKET": _rticket,"User-Agent": "ttnet okhttp/3.10.0.2","Host": "aweme.snssdk.com","Cookie": cookies,"Connection": "Keep-Alive","x-tt-token":"你的token"}result =doGetGzip(url,headers,"UTF-8")print(result)

————————————————
版权声明:本文为CSDN博主「我是杂牌军」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lb87626/article/details/105861983


抖音的 gorgon Python版本相关推荐

  1. 抖音APP数据python爬虫——个人粉丝视频

    抖音APP数据python爬虫--个人粉丝视频 学习分享,勿触底线. 最近有改进了,之前获取_signature参数的方式有点low.现在用pm2部署一下node接口美滋滋. 代码就不放了,可以去最后 ...

  2. linux系统能看抖音吗,字节跳动应该推出抖音/TikTok for Linux版本客户端

    字节跳动的抖音/TikTok和Linux开源技术非常的密切,所以很多用户也希望字节跳动能够推出真正的抖音/TikTok for Linux版本客户端,当前腾讯的QQ和微信都可在Linux平台上使用. ...

  3. 抖音 x-gorgon 03 免费生成接口 抖音6.3.0版本

    接口已经更新,请参考文章 https://blog.csdn.net/wql2014302721/article/details/113737772 相关文章: 抖音爬虫从0到1-第一弹:环境配置 抖 ...

  4. 抖音是用python写的吗_用 Python 实现抖音尬舞机

    原标题:用 Python 实现抖音尬舞机 如今说到体感游戏,大家一定都不陌生,比如微软的 Kinect.任天堂的 Switch,都曾是游戏业的革命性产品.而另一款网红产品-抖音,也在去年底上线过一个& ...

  5. python抖音github_使用 Python 下载抖音无水印视频

    抖音 APP 中保存到本地就是无水印版本的,所以头条的服务器肯定是保存有无水印版本的抖音视频的,所以只要找到接口地址就可以搞定.先在网上搜罗了一圈,确实有人已经做了解析,还提供了收费解析服务. 搜索之 ...

  6. python表白程序-我喜欢你 抖音表白程序python版

    本文实例为大家分享了python抖音表白神器,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import sys from PyQt5 import QtWidgets f ...

  7. python表白程序exe_我喜欢你 抖音表白程序python版

    本文实例为大家分享了python抖音表白神器,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import sys from PyQt5 import QtWidgets f ...

  8. python刷抖音_用Python生成抖音字符视频!

    抖音字符视频在去年火过一段时间. 反正我是始终忘不了那段极乐净土的音乐... 这一次自己也来实现一波,做一个字符视频出来. 主要用到的库有cv2,pillow库. 原视频如下,直接抖音下载的,妥妥的水 ...

  9. 抖音表白程序Python版,明人不说暗话,我喜欢你

    最近一直在被抖音视频的表白程序刷屏,之前小编也收到过一个VB编写一个表白程序 网上也流传过很多类似的表白程序,但是基本上都是由VB或者易语言编写的. 难道我大Python不能写出这样的程序来么? 人生 ...

最新文章

  1. 隐马尔科夫模型HMM(一)HMM模型
  2. Possion 分布
  3. 搞机器学习的人,必须要知道的大牛都有谁?
  4. opencv 仪表数字切割
  5. 一篇搞定异常: Exception
  6. 基于matlab的能级_波函数及几率密度图形的绘制,基于MATLAB的能级波函数及几率密度图形的绘制.pdf...
  7. noip2014到2017初赛普及组看程序写结果、完善程序
  8. 散列表(二):冲突处理的方法之链地址法的实现
  9. HHF_MySQL数据类型_简述
  10. NPAPI插件开发详细记录:插件开发入门
  11. 3.微服务:从设计到部署 --- 进程间通信
  12. “熵减”之下,欧瑞博填补全屋智能国产操作系统空白
  13. python处理mp4视频提取音频转为mp3或者wav,并进行截取
  14. html报406错误,Ajax请求出现406的原因和解决方法
  15. 通过windows启动流程分析rootkit的潜在位置
  16. oracle 表数据删除后恢复还原
  17. 发那科机器人接线电源_实用FANUC 0i各模块接线及功能图
  18. IDC数据:中国VR市场2017预计增幅将达441.2%
  19. 字体界的黑科技!输入数字立刻生成酷炫信息图的字体
  20. 国家电网王继业:企业数字化发展的“3-3-4”框架

热门文章

  1. python数据分析北京_Python实现的北京积分落户数据分析示例
  2. 《大江大河》第二部剧本大纲阶段已完成 2020年有望播出
  3. FreeSWITCH 1080P混屏测试讨论帖
  4. bcm免破线_新能源汽车分时租赁如何不破线检测汽车的BMS(电源管理)+BCM信息汽车车门锁控制以及远程断电?...
  5. 搜狗输入法电脑端如何分词
  6. R语言画图——structure图一页多图
  7. 好工具推荐系列:开源的杀毒软件
  8. Python操作阿里云OSS
  9. 带着协议学习 OkHttp
  10. 新版滴答清单 for Mac(任务规划软件)支持m1