吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1839|回复: 2
收起左侧

[Android 求助] 菜鸟学习Frida问题笔记

[复制链接]
ccceleven 发表于 2022-1-10 09:57
本帖最后由 ccceleven 于 2022-1-11 16:15 编辑

把遇到的问题记录下来,万一有大神解答呢纯萌新菜鸟

2022-01-10-问题1:Object类型参数构造的问题使用FrIDA 进行Hook某音,函数定义的参数是overload('int', 'int', 'long', 'java.lang.String', 'java.lang.Object')
前面4个参数还稍微简单一些,最后一个参数是Object类型。
JS中构造数据类型:<instance: java.util.ArrayList>原始函数中数据类型:<instance: java.lang.Object, $className: [Ljava.lang.String;>虽然最后一个参数的内容是一样的,但是传进去调用函数,返回值缺是空值那么问题来了:JS中构造数据类型:<instance: java.util.ArrayList>与原始函数中数据类型:<instance: java.lang.Object, $className: [Ljava.lang.String;> 是否是一样的? 如果不是一样的话,那么需要怎样才能构造出一样的数据结构?
注:问题已解决,照着JS的基本类型和JAVA的数据类型去拼凑,在测试过程中调整,如果能正常调用方法就说明没问题。




2022-01-10-问题2:Hook时,发现内部类重载外部内,当不重载时报错,提示需要重载,重载之后没有返回正常值

var pre_Class = Java.use("ms.bd.c.g2").$new();  //外部类
var Ordinary_Class_instance = Java.use("ms.bd.c.g2$a").$new(pre_Class); //内部类
var result = Ordinary_Class_instance.a(a1,a3); //调用方法 这里没有获取到正确的返回值
2022-01-11-发现确实是重载的这个外部类的问题,外部类g2有一个属性a,类型为long。在调用时读取这个a值为默认的0,这个值在程序运行时不应该为0才对。下面就需要针对这个值进行修正
注:问题已解决,经过测试外部类有对应的初始化函数,目前暂未发现程序自身运行时,是什么时候对这个类的属性进行赋值的


2022-01-11-问题3:接着问题2,这个外部类对应的属性(非静态)赋值有对应的函数(赋值函数,有传入参数,非构造函数),在程序自身运行时是如何对这个类的对象自身属性赋值的呢,预测可能是不知道哪里做的主动调用函数?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ccceleven 发表于 2022-1-10 15:56
沙发是我自己的,记录下所有遇到的问题,就等于写了笔记了,聪明如我
feiyunzhao 发表于 2022-2-23 10:46
ccceleven 发表于 2022-1-10 15:56
沙发是我自己的,记录下所有遇到的问题,就等于写了笔记了,聪明如我

大神 求问题1 参数构建
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 17:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表