一次关于youtube逆向分析协议

     YouTube是一个视频网站,早期公司位于加利福尼亚州圣布鲁诺, 2006年11月,Google公司以16.5亿美元收购了YouTube,并把其当做一家子公司来经营!

     我在逆向这款产品之前,在网络上找不到关于youtube 逆向的一丁点资料,!,全靠自己一个人摸索,中间也经历了无数困难,经过了4个月奋战,终于给起分析出来,.并且能够完全解析, 分析的过程异常艰辛,java层混淆特别彻底,所以比较考验一个人的耐心,我对于youtube 做一个简单的总结,也希望对后面逆向的朋友给一个帮助!

  1  因为是google 旗下的子公司,所以采取的技术,也是google 的技术! ,其中返回值的数据结构,是protobuf ,中间因为不知道,所以差不多花了一个月时间 ,去跟踪了,protobuf 的源码,想起来脑阔都大,

  2 给大家看一个, youtube 短视频的结构 

http://链接:https://pan.baidu.com/s/1yK7Y_TKxye9rYvJ96ZfLGQ 提取码:lemm --来自百度网盘超级会员V1的分享

3  对于解析,花了很多时间去解决,最后发现,其实只需要通过一个算法,就能拿出来其中里面的值!

4  目前解决的接口 ,首页视频  - >短视频列表 -- > 短视频详情-->用户信息,等等资料

附上,.部分代码 ..

// 获取短视频列表
	https://youtubei.googleapis.com/youtubei/v1/reel/reel_watch_sequence?key=AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w
// 获取短视频列表 
	public static byte[] getShortVideo_reel_watch_sequence() {
		//body.start Constructor c_iStart 0  b_arr_Len= 2286	
		int len = 2286+500;
		byte[] bArr = new byte[len];
		Anuh_getPostBody body = new Anuh_getPostBody(bArr, 0, len);
		// body.start Constructor c_iStart 0 b_arr_Len= 2286
		body.B_setBodyInt(1, 2);
		body.D_setBodyInt(2233);
		body.B_setBodyInt(1, 2);
		body.D_setBodyInt(1492);
		// Str = 7
		body.z_setRequestBody(12, "samsung");
		// Str = 8
		body.z_setRequestBody(13, "SM-G965N");
		body.mo16305t(16, 3);
		// Str = 8
		body.z_setRequestBody(17, "16.29.36");
		// Str = 7
		body.z_setRequestBody(18, "Android");
		// Str = 5
		body.z_setRequestBody(19, "5.1.1");
		// Str = 5
		body.z_setRequestBody(21, "en-US");
		// Str = 2
		body.z_setRequestBody(22, "US");
		body.mo16305t(37, 540);
		body.mo16305t(38, 960);
		body.p_setIntFloatDiy(39, 3.375f);
		body.p_setIntFloatDiy(40, 6.0f);
		body.mo16305t(41, 1);
		body.mo16305t(46, 1);
		body.mo16305t(50, 213614013);
		body.mo16305t(52, 4);
		body.mo16305t(55, 540);
		body.mo16305t(56, 960);
		body.mo16305t(61, 3);
		body.B_setBodyInt(62, 2);
		body.D_setBodyInt(1243);
		// Str = 384
		body.z_setRequestBody(
				1,
				"AK47JrtWwRyTUVNNLgT098DMfgxTy92EpEWwaenZPhgjHHwe6VpSbmSw8iiD1Pd9nnski3aOxTA4MYl3ZftZDngxkieNbMYsj6PVSrnIIyoamSbPtT4DVmY7sPXF0MtxukXJASF6TOEhtBhdUKrMFJrHn8R5vx7v697WgkyoQCMcfXXnzR2Oi2o0g2UWzp3Ww6zlNNBlnzyYzseRA3loSvW8BoWlIQ2zBhzydR0HrKG6h2EUWXUvXI6LeFEQGTnbgXoxlprFr1dHTq3ni8NlKq9KaZMPO2B0QPCAD4PaI7RIY6xfGr9zbJvyKgYfSSS7Pc5tD0R07YuNKTmyGAMxsAp3f3aEgzhepjDcBgxhaXbKtqJU8S2xojeyQgc0i8TZ");
		// Str = 420
		body.z_setRequestBody(
				3,
				"AK474zrkmidAvdk895jbPz63yGnMuzcTiKIPwzdOKII8cTRNI7QbgsTVuyURJfjjPxpmlmgxybGuFWePlczN8jmen9cK7EMBQ4nnmtXNpZiZwO00aRJ8gc0ekWoMP5PHzBTOLC0rhtevcLCijkAYTkGA1m3UAPessLL1Kdv1ZIEgVbYECsiAU6TbIxpCwXKYl886eIpZGHCSSXiChw39695yfm63rVifI1jJUDP8Cfq0ELdJ2yDD4vrL363O4aoG9eQ67Hz6jDaD8t5zDV8qqLZogs79l2YNILbCAMH3RTvsJjqQSlXpLD3dvPO8EL5KUR99wuiyuEAVCnHXHQcGAi4damNABYAY2GvBGZcnkV1NMJbu6yiX47JLgXil3eBRCvfR5hMQHaaXQNmpUbK65owuvnyR8RmrVoIS");
		// Str = 430
		body.z_setRequestBody(
				5,
				"AK47tl4Ts2mPCqga3Q44EBm4j1dH2pU0KBBpBxMhqHGoJ5tu9vqdvzIuvOAkIE6LJHlZY8rOx9MjbHVwHkN58lbjWgZKKvAjKQvVHej0PfL0IG20MrOtxXwCV27SoEshqxAs6C961MrKskkgbfU3JFFJd9fz6Mp9wfyGdL6dSiKtXiMw5RQ5RSiYsV1msZLDw9KIAJFndlIAhcsizdNACacl3ohwlj8dZGFyjAOvvjWu9nnkQgdUqZvox7sVh9rJcft1LjkSg1fO3YDUoqPLioNTflO48UscsVlImv4o34cD7bUtUtQS2eoGwK5jQe3F09OmSwQTfvNqpE1GRrgDtL5nkrh5HvGskDNiZcLHlCzMGp1RaaQLQB46idMUAcE2j7w4lrwsUZvaOvhHgSPThNHv5OqVDlKws70lQUWfxyX5oo");
		body.mo16305t(64, 22);
		body.p_setIntFloatDiy(65, 1.0f);
		body.mo16305t(67, 480);
		body.mo16305t(78, 1);
		// Str = 13
		body.z_setRequestBody(80, "Asia/Shanghai");
		body.B_setBodyInt(84, 2);
		body.D_setBodyInt(61);
		byte[] ArrCV = { 32, -114, -7, -126, -20, -68, -78, -100, -36, 40, 32,
				-8, -111, -126, -42, -4, -49, -21, -89, 67, 32, -1, -86, -63,
				-110, -55, -3, -22, -61, 41, 32, -120, -60, -29, -21, -35, -6,
				-28, -112, 115, 32, -119, -115, -20, -123, -31, -122, -119,
				-47, -56, 1, 32, -108, -71, -125, -60, -73, -81, -2, -109, 106 };
		body.mo16312c(ArrCV, 0, 61);
		body.B_setBodyInt(86, 2);
		body.D_setBodyInt(8);
		body.B_setBodyInt(2, 2);
		body.D_setBodyInt(4);
		byte[] ArrxW = { 8, 3, 18, 0 };
		body.mo16312c(ArrxW, 0, 4);
		body.mo16297l(3, false);
		body.mo16305t(94, 5);
		body.mo16284E_test(95, 3566000L);
		body.B_setBodyInt(97, 2);
		body.D_setBodyInt(6);
		body.mo16305t(1, 1);
		//858880L
		body.mo16284E_test(2, 858674L);
		// Str = 7
		body.z_setRequestBody(98, "Android");
		body.B_setBodyInt(3, 2);
		body.D_setBodyInt(4);
		body.mo16297l(7, false);
		body.mo16297l(15, false);
		body.B_setBodyInt(6, 2);
		body.D_setBodyInt(2);
		body.B_setBodyInt(2, 2);
		body.D_setBodyInt(0);
		body.B_setBodyInt(9, 2);
		body.D_setBodyInt(725);
		body.B_setBodyInt(1, 2);
		body.D_setBodyInt(722);
		// Str = 2
		body.z_setRequestBody(1, "ms");
		// Str = 715
		body.z_setRequestBody(
				2,
				"AK47JPoj0dvCKjSkhWU13uF68OYjxifEqwmxty63XjHSwlcKq2CDPO9SZCPeNcbrB8ImaGFzIbHvokMBPFnrlFr9fL2xAug8VqOAi96KAYeYgrChw9Ibdi7TYBQt4XWKWYXqaXBSoEnOdN6IhVLzLPjoMdakx1IDETm8SViEQIYXCvQne31WZzJXuc1GbV8RpduC3UGYZsebC4j1uIMT0eRG0KP6EXZnGCiv1pDEknQ7zBhGT04UqTGDkKlHiidRquidMp97WDzo3jYazz9jmuCBDsb3oSedxfpR98uGBxgLCYQ2LPxDGYZpD03i8GE8EnmGZC6LJUbUbmdipOvPDsHb2GRl4xyOcwwwEw5a3AVjq4A48wrMKJkBXX33PYpVG4GWbnlOtOB1lWTbEdki3AFiQb6XAq9Xi7s81ifHzRwl5W04UR77JQuvbbmLuU4AMVTPkjVtc7ng5XB5HMqCVaLGFnKnlVYkuqaxRPjZG2J6aFgoslYUafc7885GGATwTw07xJBut7UNcnAedKpUKabP62URugqi9yYAlWpYTLxeseVLqgLeQW5y30oEhnf680og8kE9CwdqRXVjIZukzaQE80vLurw6rTlgM1QlhAODHrK11oYDH40iIA2EGRn18n6UXo77Jp7t7v4glrEIvt9Iskm9Lpa8fFK6A8T4m40HwqM6Hlyj2fxmkEMy2t8FZtghMaW2aHM");
		// 调用 https://youtubei.googleapis.com/youtubei/v1/browse?key=AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w 返回
		//CgswSTNkRFBVWEFYdyoCGA8%3D   
		//Cgs0a1otWVFSaFl3NBoRCgtONXpDM2VGYThjWRgTIAIqAhgPelQIExgJMk4KC2tjM3ZGUzc2ZERFEgEwGgwIy77nigYQ2NHDtAIiBgi0kPWKBioECA0QAToFCgMIuAFCBwoDCMwBEAFKBwoDCM0BEAFSBwoDCMwBEAE%3D
		
		body.z_setRequestBody(3,// 这个值影响结果 ..
         "CgtwSFg2eGdNaDIwVQ%3D%3D");
		return body.a_Arr_body;
		
	}

   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值