Richor 发表于 2019-6-24 16:30

抖音6.6.0利用反射机制实现hook评论[已补图]

本帖最后由 Richor 于 2019-6-24 18:11 编辑

As well as we Know,要做抖音协议一定绕不过as,mas,cp的算法,可是本菜技术水平不够,逆向不出来,于是就换个方法去实现类似功能
第一步:
对抖音评论进行抓包分析
POST https://aweme-hl.snssdk.com/aweme/v1/comment/publish/?ts=1560993297&js_sdk_version=&app_type=normal&os_api=23&device_type=NEM-AL10&device_platform=android&ssmix=a&iid=75849615102&manifest_version_code=660&dpi=480&uuid=862917031213764&version_code=660&app_name=aweme&version_name=6.6.0&openudid=4c4500746477e553&device_id=66373834693&resolution=1080*1812&os_version=6.0&language=zh&device_brand=HONOR&ac=wifi&update_version_code=6602&aid=1128&channel=aweGW&_rticket=1560993297416&mcc_mnc=46011 HTTP/1.1

很明显的关键参数: comment/publish
第二部抖音脱壳:
抖音6.6.0开始加壳了,用FDex2脱壳得到文件


第二步分析关键位置:
用工具(想用啥工具就用啥工具,我比较喜欢ak)看看代码,找到关键参数的位置:package com.ss.android.ugc.aweme.comment.api;

第四步:分析程序:
publishComment(@Field(a = "aweme_id") String str, @Field(a = "text") String str2, @Field(a = "reply_id") String str3, @Field(a = "text_extra") String str4, @Field(a = "is_self_see") int i, @Field(a = "reply_to_reply_id") String str5, @Field(a = "channel_id") int i2);

我们看到这段代码,再看看包的内容:


很明显了这个就是发送的接口,我们逆向回评论函数:
public static CommentResponse a(String str, String str2, @nullable String str3, List<TextExtraStruct> list, @Nullable String str4, int i) throws Exception {
      List<TextExtraStruct> list2 = list;
      Object[] objArr = new Object;
      objArr = str;
      objArr = str2;
      objArr = str3;
      objArr = list2;
      objArr = str4;
      objArr = Integer.valueOf(i);
      ChangeQuickRedirect changeQuickRedirect = a;
      Class[] clsArr = new Class;
      clsArr = String.class;
      clsArr = String.class;
      clsArr = String.class;
      clsArr = List.class;
      clsArr = String.class;
      clsArr = Integer.TYPE;
      if (PatchProxy.isSupport(objArr, null, changeQuickRedirect, true, 24357, clsArr, CommentResponse.class)) {
            objArr = new Object;
            objArr = str;
            objArr = str2;
            objArr = str3;
            objArr = list2;
            objArr = str4;
            objArr = Integer.valueOf(i);
            ChangeQuickRedirect changeQuickRedirect2 = a;
            Class[] clsArr2 = new Class;
            clsArr2 = String.class;
            clsArr2 = String.class;
            clsArr2 = String.class;
            clsArr2 = List.class;
            clsArr2 = String.class;
            clsArr2 = Integer.TYPE;
            return (CommentResponse) PatchProxy.accessDispatch(objArr, null, changeQuickRedirect2, true, 24357, clsArr2, CommentResponse.class);
      }
      try {
            String str5 = str;
            String str6 = str2;
            String str7 = str3;
            CommentResponse commentResponse = (CommentResponse) ((RealApi) b.create(RealApi.class)).publishComment(str5, str6, str7, r.a().toJson(list2), af.a(), str4, i).get();
            commentResponse.comment.setLabelInfo(commentResponse.starFakeLabel);
            return commentResponse;
      } catch (ExecutionException e) {
            throw c.propagateCompatibleException(e);
      }
    }
看到没有 CommentResponse a传入6个参数, publishComment传入7个参数,一定有什么幺蛾子,我们用分析比对看看

果然是有幺儿子,reply_id,reply_to_reply_id是对别的用户的评论,用不上
于是我们找到了此函数的传入参数
第五步:获取类加载器 classLoader


第六步构建反射函数


接下来逆向抖音SO,求大佬们给个so反混淆教程,感谢

Richor 发表于 2019-6-24 18:12

Everfeng 发表于 2019-6-24 17:18
看雪上是叫菜年richor    据我看是菜鸟拼错了2333333333333

就是拼错了,又特么改不了,很尴尬

Richor 发表于 2019-8-23 16:55

小国 发表于 2019-8-22 18:21
求分享mas as cp加密方式,有偿.q1597734718

现在某音新版本不用ascp了

MengSec 发表于 2019-6-24 16:44

该资源仅供内部交流,大佬又是从哪里偷的图?挂了!!!

FleTime 发表于 2019-6-24 16:45

哦?原创?你确定?

北领地 发表于 2019-6-24 16:51

看雪偷的吧~人家四天以前就发了

北领地 发表于 2019-6-24 16:52

北领地 发表于 2019-6-24 16:51
看雪偷的吧~人家四天以前就发了

好像不是那么回事,一个人?看雪先发的~

Hmily 发表于 2019-6-24 16:54

@Richor 是原创吗?图片都盗链了,处理一下。

Ares_Joke 发表于 2019-6-24 17:02

求大佬解释一下,这是啥啊

Everfeng 发表于 2019-6-24 17:18

看雪上是叫菜年richor    据我看是菜鸟拼错了2333333333333

sushe534 发表于 2019-6-24 17:26

该资源仅供内部交流,大佬又是从哪里偷的图?挂了!!!

Richor 发表于 2019-6-24 17:49

北领地 发表于 2019-6-24 16:51
看雪偷的吧~人家四天以前就发了

我就是richor啊
页: [1] 2 3
查看完整版本: 抖音6.6.0利用反射机制实现hook评论[已补图]