大对象监控
TODO
# frida 监控
Java.perform(function () {
var VMRuntime = Java.use('dalvik.system.VMRuntime');
var runtime = VMRuntime.getRuntime();
VMRuntime.newNonMovableArray.overload(
'java.lang.Class',
'int'
).implementation = function (cls, length) {
var result = this.newNonMovableArray(cls, length);
// 判断是否为大对象
var threshold = 1024 * 1024; // 1MB
var size = length * Java.use(cls).classSize.value;
if (size >= threshold) {
console.log(
'Allocated large object: Class=' +
cls.getName() +
', Size=' +
size +
' bytes'
);
}
return result;
};
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
上次更新: 2025/07/17, 17:31:43