tiktok最新风控算法以及视频播放量问题研究
Posted qq517348412
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tiktok最新风控算法以及视频播放量问题研究相关的知识,希望对你有一定的参考价值。
应客户需求,今天来研究下tiktok的一些算法风控和视频播放量检测的问题。以安卓版为例,这里我们用的是tiktok 25.9.4的较新版本
一、抓包预准备
抓包对于绝大多数海外tt玩家是一件比较头疼的事。android的,网络通信协议绕不过去,好不容易xposed能搞定的绕过去了,发现手机参数搞不定,不展示大陆区内容,直接黑屏。ios的改改手机参数倒是能用,然鹅,新系统新版本一律不让抓包。
对此,笔者提供2个目前来看最完美的解决方案“思路”,android的so魔改和ios的升级策略,可以避开国区检测,也可以避开通讯协议检测。so魔改涉及的东西太多,包括jada逆向、ida反编译、adb操作。大致跟各位分享下过程:
android:使用重编译的apk,加上修改的libsscronet.so,可完美避开检测和断网
ios:登录账号后,升级ipa的策略对于抓包来说,可直接通过缓存证书无视网络检测
二、抓包进行时
1、风控算法
(1)设备注册算法
跟国内某音的设备算法不一样。某音再某些接口对设备的要求极高,得正确加密register接口+点击确认接口+活动范库接口+日志或者监控接口+配置接口+激活策略之一,才能做一些比较高端的操作(播放、点赞、关注等,采集之类的接口可仅保留头尾策略即可),而tiktok相对简洁,只需要正确加密register接口+mac绑定+google频道绑定+激活策略之一即可,相比流程少了很多
'device_id': 7165349508607477253,
'install_id': 7165350779095746309
(2)加密算法
早期的加密算法只有x-gorgon和x-khronos两个核心参数,新版本加上了x-argus和x-ladon,并且在jadx里面通过关键字已经无法定位到算法入口了。对于绝大部分的接口,其实可以不需要这两个参数,比如feed、视频post、search等,但是user、stats、follow、digg之类的是需要新的加密参数的
'x-gorgon': '0404009200006554a694efece28b9e104bd2b035e5534edb1039',
'x-khronos': '1668316731',
'x-ladon': '3ZUzVd9TsVZQCYAqzNTkcjcz/7VFZsvgPfl/euzI2zqogVdX',
'x-argus': 'Sk1EW3Y8M+z+iSOS1j3+TvvcbwKOpgxMksDXdntgvzV6bNlX77GQhPewX1FqhUb/ufeSl8IEvSUe1GkRYiwXyPVaWbmMSL0rYcWuIL+3gHV0J2SPjhLBQsG8qlDwn8CHBWbrS5ensYnQw0n3wTVcX65g9M0tQnTSTpZRcJa+JL5lRxQx5ru2IHpaA0Be39O5ZNLqxKayJQ2j7DOfhrXMSI/kIk/xWDQUw9HKEzLcQIi+5eIV8g2lhu9UCsd8+gklnA2sgcJk167lREK0laBMVV0h'
"log_pb":
"impr_id": "202211130520592109A770F334650DD710"
,
"status_code": 0,
"user":
"ad_virtual": false,
"avatar_medium":
"url_list": [
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~tplv-tiktok-shrink:282:282.jpeg?x-expires\\u003d1668337200\\u0026x-signature\\u003dB3vl0lpZN0Dh5JpXH2VHAC2Upbs%3D\\u0026s\\u003dPACK_GO_API\\u0026se\\u003dfalse\\u0026sh\\u003d282_282\\u0026sc\\u003davatar\\u0026l\\u003d202211130520592109A770F334650DD710",
"https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2.webp?x-expires\\u003d1668488400\\u0026x-signature\\u003dG2MwwtSHLG707Id9hXGJmADuil8%3D",
"https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2.jpeg?x-expires\\u003d1668488400\\u0026x-signature\\u003dd1hTbqRFLjHBuU8IHGWBzJ3f%2BDk%3D"
],
"uri": "tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2"
,
"avatar_300x300":
"uri": "tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2",
"url_list": [
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~tplv-tiktok-shrink:282:282.jpeg?x-expires\\u003d1668337200\\u0026x-signature\\u003dB3vl0lpZN0Dh5JpXH2VHAC2Upbs%3D\\u0026s\\u003dPACK_GO_API\\u0026se\\u003dfalse\\u0026sh\\u003d282_282\\u0026sc\\u003davatar\\u0026l\\u003d202211130520592109A770F334650DD710",
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~c5_300x300.webp?x-expires\\u003d1668488400\\u0026x-signature\\u003dIbM9MHdGvc7WW0Jast4uZoCbcNQ%3D",
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~c5_300x300.jpeg?x-expires\\u003d1668488400\\u0026x-signature\\u003dHv3J8TK0fD2kGORSlh%2FioTMcO%2F0%3D"
]
,
"avatar_168x168":
"url_list": [
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~tplv-tiktok-shrink:282:282.jpeg?x-expires\\u003d1668337200\\u0026x-signature\\u003dB3vl0lpZN0Dh5JpXH2VHAC2Upbs%3D\\u0026s\\u003dPACK_GO_API\\u0026se\\u003dfalse\\u0026sh\\u003d282_282\\u0026sc\\u003davatar\\u0026l\\u003d202211130520592109A770F334650DD710",
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~c5_168x168.webp?x-expires\\u003d1668488400\\u0026x-signature\\u003d2zVQsGCz38Lng1sajUTxzogN%2FSk%3D",
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~c5_168x168.jpeg?x-expires\\u003d1668488400\\u0026x-signature\\u003dL3f1peRZhFCpeNGHNKsb7HaO28w%3D"
],
"uri": "tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2"
,
"message_chat_entry": false,
"recommend_reason_relation": "",
"profile_tab_type": 0,
"is_star": false,
"twitter_name": "",
"mplatform_followers_count": 0,
"follower_count": 4549,
"supporting_ngo": ,
"is_effect_artist": false,
"account_type": 3,
"avatar_larger":
"url_list": [
"https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2.webp?x-expires\\u003d1668488400\\u0026x-signature\\u003dRdSqFnSIdUOdpRzJp0Cay32Lphc%3D",
"https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2.jpeg?x-expires\\u003d1668488400\\u0026x-signature\\u003dxdXdDGH7%2BCceLYN0Miuxs%2BsMlEc%3D"
],
"uri": "tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2"
,
"commerce_user_info":
"ad_experience_entry": true,
"ad_experience_text": "Ads",
"ad_revenue_rits": []
,
"is_blocked": false,
"twitter_id": "",
"qa_status": 0,
"video_icon":
"uri": "",
"url_list": []
,
"verification_type": 0,
"enterprise_verify_reason": "",
"sec_uid": "MS4wLjABAAAAzVo22dPcsRtqwQ1zBz1pwFUg0dm_V7XdfWAjfUfcMvJuAS6HrFufw48PIzSYOYIT",
"with_commerce_entry": false,
"category": "Personal Blog",
"watch_status": false,
"with_new_goods": false,
"aweme_count": 127,
"commerce_user_level": 0,
"apple_account": 0,
"unique_id": "monirul1382",
"favoriting_count": 0,
"total_favorited": 21040,
"follower_status": 0,
"following_count": 7259,
"youtube_channel_id": "",
"ins_id": "",
"live_push_notification_status": 2,
"nudge_guide_info":
"guide_time": 0,
"show_guide": false
,
"tab_settings":
"private_tab":
"show_private_tab": false,
"private_tab_style": 1
,
"follow_status": 0,
"youtube_channel_title": "",
"nickname": "p.k",
"share_info":
"share_desc": "Check out p.k! #TikTok",
"share_image_url":
"uri": "tos-alisg-p-0037/d1a5001fa23541b2ab34fcd17f2cc3fe_1668310237",
"url_list": [
"https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/d1a5001fa23541b2ab34fcd17f2cc3fe_1668310237?x-expires\\u003d1668337200\\u0026x-signature\\u003dUDs6%2FX8aiEIP7QzD83pSGn%2FBKg8%3D"
]
,
"bool_persist": 1,
"share_title_myself": "This TikTok app is soooooo fun! Follow me @monirul1382 on TikTok and check out my videos!",
"share_url": "https://www.tiktok.com/@monirul1382?_r\\u003d1\\u0026_d\\u003de4m574m23g7672\\u0026language\\u003den\\u0026sec_uid\\u003dMS4wLjABAAAAzVo22dPcsRtqwQ1zBz1pwFUg0dm_V7XdfWAjfUfcMvJuAS6HrFufw48PIzSYOYIT\\u0026share_author_id\\u003d6927144936274412545\\u0026source\\u003dh5_m",
"share_title_other": "This TikTok user is really cool. Follow @monirul1382 on TikTok and check out those amazing videos!",
"share_title": "Join TikTok and see what I\\u0027ve been up to!",
"share_desc_info": "TikTok: Make Every Second Count"
,
"is_block": false,
"short_id": "0",
"with_commerce_enterprise_tab_entry": false,
"secret": 0,
"avatar_thumb":
"uri": "tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2",
"url_list": [
"https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2~tplv-tiktok-shrink:282:282.jpeg?x-expires\\u003d1668337200\\u0026x-signature\\u003dB3vl0lpZN0Dh5JpXH2VHAC2Upbs%3D\\u0026s\\u003dPACK_GO_API\\u0026se\\u003dfalse\\u0026sh\\u003d282_282\\u0026sc\\u003davatar\\u0026l\\u003d202211130520592109A770F334650DD710",
"https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2.webp?x-expires\\u003d1668488400\\u0026x-signature\\u003dfNikR946UDcPIUj2JDqbZIEZWiY%3D",
"https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/9eda8ac4a89de8afa23fdefe99f42ac2.jpeg?x-expires\\u003d1668488400\\u0026x-signature\\u003dvqam8wUbb6URwcIekbNdZk0eSwM%3D"
]
,
"signature": "",
"signature_language": "un",
"show_favorite_list": false,
"room_id": 0,
"privacy_setting":
"following_visibility": 1
,
"live_commerce": false,
"story_status": 0,
"uid": "6927144936274412545",
"biz_account_info":
"permission_list": [
"001002",
"001003",
"002001",
"002002",
"004001",
"004006",
"007001",
"007003",
"007004",
"008001",
"010001",
"010002",
"015001",
"015002"
],
"leads_gen":
"action_name": "",
"page_id": 0,
"business_data": "",
"schema_url": "",
"has_leads_gen": false
,
"custom_verify": "",
"original_musician":
"music_count": 0,
"music_used_count": 0,
"digg_count": 0
,
"forward_count": 0
,
"extra":
"now": 1668316859000,
"fatal_item_ids": [],
"logid": "202211130520592109A770F334650DD710"
2、风控策略
ok,说了那么多,我们开始研究播放量的问题,我们找了一个冷门的网红、一个冷门的视频来测试:Tiktok视频链接
(我也不知道这老哥是谁)
原始播放为206,手机打开这个视频,看了一会,发现播放量变成 207
抓包发现api为:
https://api26-normal-hl.amemv.com/aweme/v1/aweme/stats/?开头
然后再次请求该api,发现播放量变成208
再用我们生成的设备去请求
'device_id': 7165366997055489542, 'install_id': 7165368214708061957
'X-Gorgon': '040460910000b4fe5e5c679b1a5aca8d0565b3de7aeac3798f6d', 'X-Khronos': '1668317354', 'X-Ladon': 'tLkHbGCrhmcvTPmlKHGkTta6Ti/YLihAsfKVgFEWFRiQV9YD', 'X-Argus': 'sCyeoOH45ibTP/CRUzAMJV1RJ337mffXnKw7lg4DOesS3htUSiUzUQy8i/csmSpKh/1ZqlycbmpLBsQEcHhXAY/jvNc6LkhmqBjn6xrYmSXrqL3JCb09o04fAaXQesxY2PBU3+JeBznMpjU1Gd7mRSEYEIXomcoH/CAyLAaoCcBGvB+DMH3xRm1TKLwj0/qorwsi6iO5x8w3t9MKpj1TX9raqMDo591OBvpEXG29XJR1gVd4bpgJeP6Ckc01p+2hfm8gpvKy1Y7MDeYXo6UDFQA0'
post参数
pre_item_playtime=&first_install_time=1598329642&item_id=7165147705835015461&follow_status=0&sync_origin=false&follower_status=0&hide_mix_entry=true&action_time= 1668317412&tab_type=0&pre_hot_sentence=&play_delta=1&aweme_type=0&pre_item_id=
ok变成209
咱们新生成一个新的设备,联系请求100次,看下效果
掌声!!!!!
三、总结
1、经测试,要想短时间大量上,需要高并发+高频率切换device_id,要想花费少量的device_id,需要低频请求
2、高并发可以短时间单个设备完成多则12W的量,少则几千
3、风控为两种:ip和设备。好的设备上量多,好的ip上量多
利用Tiktok自动化脚本每天发布200个视频,以量取胜!
01
—
流量变现情况
tiktok的流量红利目前大家都看到了,目前没有比做号更加重要的事情了,在加上近日官宣的shopify合作一事,可以说未来可期!
我目前也是tiktok大航海的一员,几个月前参加了嘉伟船长举办tiktok训练营,正式踏上了这艘船。目前刚结束的第四期训练营,累计变现超过了8万美金最强的一期!
经过这几个月的摸索和尝试目前倒流到电商这块,单号流量变现一个月在$2600美元左右的,虽然不多但是起码是一个好的开始,后期可以放大去做。
02
—
自动化赋能增长
"放大后遇到的痛点"
上面的数据是通过一个几万粉丝的号带来的流量,接下来在放大的过程中,也陆续的增加了几十部手机来批量起号。
以前一个人操作一个账户每天发布几个视频,可能1-2个小时就解决了。但是随着视频数量、账户的增加。
光是每天把视频导入手机,然后发布打上标题,这些机械化的过程就把时间给自己掏空了,根本无法去安排时间做更重要的事情。
所以为了解决这个问题我花了有点时间把这个过程给自动化了
目前解决视频导入的问题
标题动态化配置
数量可配的自动化发布流程
自动回复评论(评论引导非常重要,加了之后转化率提高了30%)
评论区防截留
所有功能支持多账户
"一天发布200个视频可行吗?"
关于这个我们当初我也怕,怕发布太多会成营销号。但是别人说了不算重要还是要多做测试,有句话说撑死胆大的饿死胆小的,很适合目前的tiktok。
可以看下这个靠批量剪辑,自动化发布达到150万粉丝的好物号,这个号每天都会发布一百个以上的视频,而且全部没有配置标题,甚至标签都没有,只是背景音乐会处理下。
我们在看下这种大批量上视频效果如何,第六个视频的播放量是18M。基本上100-200个视频里面就会爆几个视频,其他的都是几k到几十k,能保持几天就爆几个视频,这样的流量获取成本太小了,转化也可想而知。
所以这套工作完全可以实现流水线了
获取UP主资源
批量下载无水印视频
批量剪辑(掐头去尾、加速、镜像、音乐)
视频资源配置
视频自动化发布
账户数据监测
产品上架
03
—
脚本搭建流程
前面主要分享了下这种流水线发布的可行性,下面就看一下脚本的具体运行情况和步骤。
"脚本运行环境"
一、 root手机
android需要root、苹果需要越狱
关于root/越狱的问题建议在淘宝找专业的人处理不用自己去折腾,收费10-40左右,付费后卖家会远程连接你的桌面把相关软件下载,这个时候可以认真记录一下操作的步骤,这样的话剩余的手机就可以自己操作了。
二、 支持机型
目前支持三星s7 edeg、小米note4/4x、谷歌2。由于目前还是小范围使用,所以机型先支持主流的。
三、 下载触动精灵
https://www.touchsprite.com/download
安装好后用邮箱注册一个账户,然后进入到我的账户>文件管理>插件>官方插件下载一个 ts.so的文件
右上角输入ID: 136583
下载脚本启动后的界面
四、运行视频
五、阿里云资源配置
目前利用阿里云来做为视频的存储后台
"创建Bucket存储视频"
账户申请完后我们进入到对象存储功能里面,创建一个Bucket这个是以后存放视频资源用的
"创建文件夹编号"
截图中的文件夹就是我的账户编号,每个账户对应一个文件夹,里面存储着账户需要发布的视频
视频编号从1开始命名,2.txt文件存放视频标题、视频数量等信息
标题信息、视频数量配置
JSON在线编辑
https://www.bejson.com/jsoneditoronline/
"字段解释"
字段名 |
作用 |
userCount |
每日发布的个数1-200 |
videoTag | 标题和视频编号对应,找不到默认用第一个 |
04
—
关于费用
这样看脚本主要解决了视频发布,这一系列比较繁琐的事情,功能不也算强大适合账户多,视频发布量大的朋友
本来打算免费给大家。
但是后面想着免费的东西不长久,为了能持续的更新下去,所以决定收一杯奶茶钱,枯燥的东西交给我来做。
"奶茶价"
卡类型/1机 | 费用 |
月卡 |
¥15 |
季卡 | ¥12 |
年卡 |
¥ 9 |
免费试用 |
看完记得关注@金威的小酒馆
及时收看更多好文
↓↓↓
以上是关于tiktok最新风控算法以及视频播放量问题研究的主要内容,如果未能解决你的问题,请参考以下文章