android的界面显示定位

1.预览

本文主要介绍快速定位UI界面的内容在java层的位置;这样可以快速找到自己想要的函数方法;
首先打开UI Automator Viewer;位置在Sdk\tools\bin\uiautomatorviewer.bat ,双击打开,可以看到app的页面布局;
如图
我们看到评论顶部有谁谁来了,resource-id为taolive_chat_item_content,接下来我们就要找到这个响应是如何处理的;

2. 找对应的id

由于电脑用的是windows,所以下载了cygwin64模拟linux环境;可以使用linux命令
apktool反编译apk,本次apk为淘宝直播;在res/value/public.xml中过滤出带有taolive_chat_item_content关键字的资源id

$ grep  -ri "taolive_chat_item_content"
ids.xml:    <item type="id" name="taolive_chat_item_content" />
public.xml:    <public type="id" name="taolive_chat_item_content" id="0x7f101aa8" />

找到对应的id为0x7f101aa8,直接在smali的R类里过滤这个id值就能找到这个资源对应的变量名;
该apk有五个smli文件夹;最好分别搜索;只在smali_classes3和smali_classes4中看到,不过在第一个文件中只定义了好像没用

yxd@DESKTOP-A6A0P2L /cygdrive/f/Android/apktool/taobaos/smali_classes4
$ grep -ri "0x7f101aa8"                                                                                                 com/taobao/taolive/room/R$id.smali:.field public static final taolive_chat_item_content:I = 0x7f101aa8

看到变量又被定义为taolive_chat_item_content;

$ grep -ri "taolive_chat_item_content"
com/taobao/taolive/room/R$id.smali:.field public static final taolive_chat_item_content:I = 0x7f101aa8
com/taobao/taolive/room/ui/adapter/ChatListAdapter$MsgItemViewHolder.smali:    sget p1, Lcom/taobao/taolive/room/R$id;->taolive_chat_item_content:I
com/taobao/taolive/room/ui/view/TopMessageView.smali:    sget v1, Lcom/taobao/taolive/room/R$id;->taolive_chat_item_content:I

可以看到在上面两个类中对这个变量进行声明。

3. java层寻找

下面用jadx打开对应的dex文件;可以全局搜索taolive_chat_item_content,也可以找到那两个类;
在这里插入图片描述
初步鉴定发现第一个只是UI下面评论的响应,因为他们共用的同一个resource-id;
在这里插入图片描述
分析这个类的大体逻辑;
在这里插入图片描述
在这里插入图片描述
初步分析和ChatTopMessage chatTopMessage有关系;因为等XX人也会在相同的位置输出;
ctrl摁住跳转;
在这里插入图片描述
更像是一种初始化,
在这里插入图片描述
在这里插入图片描述判断会经过这里;使用frida hook一下该函数 发现确实从这里经过;

1040{"nick":"玉佩","identify":{"APASS_USER":"0","fanLevel":"1","VIP_USER":"0"},"userid":"2722966967"}


1040{"nick":"蹦蹦哒h","identify":{"APASS_USER":"0","fanLevel":"1","VIP_USER":"0"},"userid":"2744684528"}

1040{"nick":"一切从零开始120","identify":{"APASS_USER":"0","fanLevel":"0","VIP_USER":"0"},"userid":"1926790430"}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值