偃师微信公众号开发【偃师网络推广】偃师建站、偃师网站维护、偃师网页制作、偃师微信小程序代运营公司-网站优化-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

偃师微信公众号开发【偃师网络推广】偃师建站、偃师网站维护、偃师网页制作、偃师微信小程序代运营公司

发表日期: 2021-04-29 16:44:41 浏览次数:153

偃师微信公众号开发【偃师网络推广】偃师建站、偃师网站维护、偃师网页制作、偃师微信小程序代运营公司


偃师区,隶属于河南省洛阳市,位于河南省西部,总面积668.58平方千米 [1]  。截至2019年末,偃师区总人口63.2万人 [3]  ,截至2020年6月,偃师区下辖4个街道、9个镇 [2]  ,偃师区人民政府驻槐新街道民主路27号。 [24] 

周,设偃师县。1993年,偃师撤县设市。 [4]  2021年3月,撤销县级偃师市,设立洛阳市偃师区 [25]  。偃师区是河南省制造业高质量发展综合评价试点市 [5]  、革命文物保护利用片区分县 [6]  、国家卫生城市(区)。 [18] 

2019年,偃师区实现地区生产总值443.6亿元,固定资产投资193.8亿元,一般公共预算收入24.6亿元,社会消费品零售总额222.6亿元。 [7] 


无论是a、b、c命令扫描出来的对象,还是你hook脚本hook方法对应的所属对象都有办法获取内部属性数据。

 

关键条件:ObjectId!!!大家一定要搞到你要窥视这个对象的ObjectId。

a、b、c命令扫描出来的对象获取内部属性

abc命令扫描的对象,都会自动生成ObjectId。以a命令扫描Activity为例
222.png-1038.1kB

hook脚本对应的对象

hook脚本默认不会给你ObjectId,这时候你要手动把对象放入ObjectStore当中。

hook构造方法的方式获取ObjectId

444.png-589.4kB
上面是hook某个对象的构造方法,我们把new之后的对象放到ObjectStore中。

hook普通方法的方式获取ObjectId

如果这个方法有参数,并且是对象我们也可以将参数放到ObjectStore中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Java.perform(function() {
    var HookedClass = Java.use('com.xxx.bbb.xxx.GoodsDetailResult$Data');
    var setProductDetailMethod = HookedClass.setProductDetail.overload('com.xxx.bbb.bean.ProductDetail');
    setProductDetailMethod.implementation = function(v0) {
        var executor = this.hashCode();
        var beatText = 'public void com.xxx.bbb.xxx.GoodsDetailResult.setProductDetail(com.xxx.bbb.bean.ProductDetail)';
        var beat = newMethodBeat(beatText, executor);
        setProductDetailMethod.call(this, v0);
        //hook对象的普通方法将参数对象放到ObjectStore中
        storeObjectAndLog(v0);
 
        //这里还是可以将方法本身的对象this放到ObjectStore,不一定得hook在上面的构造方法,活学活用!!!明白?
        storeObjectAndLog(this);
        printBeat(beat);
    };
});

各种情况看你怎么用,天下无招胜有招。我不能说只有这两种方式,有N多种。看你是否能领悟到hooker设计的强大之处,活学活用吧!

执行hook脚本获取ObjectId

555.png-832.6kB

 

上面两个方法,随便你用什么方法。只要获取到ObjectId就ok。
通过ObjectId,获取对象内部属性有两种方式。

c命令扫描普通对象

c命令,以最快捷的方式打印对象
333.png-1267.3kB

v命令扫描view对象

如果你确定一个对象是View的子类,可以用v命令扫描。v命令将会带出绑定的时间,如点击、滑动、长按、初始化等等
这里我不展示了,大家感兴趣自己是实践!

通过操作object_store.js方法动态打印对象

直接通过objectId将object序列化为json输出

666.png-1199.1kB

动态取得objectId对应的对象的内部属性

777.png-598.7kB

 

888.png-1264.8kB

总结

不吹牛逼,不刷屏,脚踏实地做事情!


微信图片_20210425092605.jpg


偃师微信公众号开发偃师网络推广偃师建站、偃师网站维护、偃师网页制作、偃师微信小程序代运营公司

上一条:偃师网站制作【偃师网站优化】偃师建网站、偃师微信公众号运营、偃师网页设计、偃师微信小程序商城
下一条:偃师网站推广【偃师办理400电话】偃师SEO优化、偃师微信公众号APP客户端小程序开发、偃师网站托管、偃师APP开发
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约