远程调试android Webview JS逆向

一、工具

TBS Studio是面向基于TBS的Web开发者和移动应用开发商(包括微信、手Q,三方App等)打造的开发服务整体解决方案,以提升广大开发者在真机环境下的开发效率,并帮助开发者分析和优化网页的设计,主要功能有网页Inspector调试,网页性能分析等。

二、断点类型

1.BreakPoint

下的是普通的代码断点,和平时调代码的断点是一样的,当代码运行到断点处断下

2.DOM BreakPoint

DOM变化级断点

  • Subtree modifications。当当前选中的节点的child被移除或新增时触发,或者是child的内容发生改变时。在child的节点属性发生变化时不会触发,或者当前节点改变时不会触发。(亲测当自己被移除时都不会触发)
  • Attributes modifications。当当前选中的节点新增属性,移除属性,或者属性值发生变化时触发。
  • Node Removal。当当前选中的节点被移除时触发。

在改变或者移除一个DOM节点或者它的DOM子节点时会用到DOM change breakpoint。

3.XHR/Fetch breakpoint

当请求包含指定字符串的时候会暂停。

XHR的请求URL包含指定字符串时,使用XHR中断。当XHR调用send()方法时在对应行暂停。
注意:这个特性同样作用于Fetch请求。

在XHR/Fetch上打断点的场景,非常适用于请求一个不正确的URL,而且你想很快找到AJAX或者Fetch 源代码去发现导致错误请求的原因。

设置一个XHR类型的断点的步骤如下:

  • 1.单击Sources tab
  • 2.展开XHR Breakpoints
  • 3.单击Add breakpoint
  • 4.键入你想断点的string。DevTools会在string出现在任何XHR的请求的URL时进入断点
  • 5.按下Enter进行确认

在XHR Breakpoints中为包含URL中的org的任何请求创建XHR断点

实验:
image

当前页有5个来自crm.test.foo.com的请求,每次都会进入到XHR断点。

4.Event Listener breakpoints

如果要暂停事件触发后运行的事件侦听器代码,请使用事件侦听器断点。我们可以选择特定的事件,例如click事件;或者事件类别,例如所有的鼠标事件。

  • 1.点击Sources tab
  • 2.展开Event Listener Breakpoints面板。DevTools展示了一个事件目录的列表,例如Animation
  • 3.选中这些事件类别中的一个做断点,这个断点会在事件触发时进入,或者是选择事件类别下的一个或多个做断点。

详细参考:https://segmentfault.com/a/1190000016671687?utm_source=tag-newest 

三、调试 

调试环境本文用的是TBS Studio,同样谷歌浏览器也带有inspect功能,在浏览器输入 chrome://inspect/#devices ,即可进入调试界面,但是通过实验,当进入的时候调试界面是空白的,需要下载插件,FQ后可以进入界面,但是只显示js文件,点击js文件显示不出js代码,且界面严重变形,MAC、windows上都是如此,所以最好的还是使用TBS,流畅。经过实验TBS只能调试一部分webview界面,有大部分的基于webview调试不了,inspect后一直空白,原因待查找。

1.手机打开USB调试模式和enable view attribute inspection

2.进入调试页面

 

 其中涉及js和Android客户端的互调,安卓端可以使用AS+DDMS调试,两者可以同步调试。

如此就实现了远端Android Js的调试需求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值