在hook we-chat安卓包时发现
function traceClass(clazName) {
var hook = Java.use(clazName);
hook.pack.overload('[B', 'com.txxxxx.mm.pointers.PByteArray', '[B', 'int', '[B', 'java.lang.String', 'int', 'int', 'int', '[B', '[B', 'int', 'int', 'int').implementation = function () {
var args = arguments
for(var i in args[1]){
send(args[1][i])
}
send(args[1]['value'].value)
var retval = this.pack.apply(this,arguments)
return retval
}
}
function Main() {
Java.perform(function () {
traceClass('com.txxxxx.mm.protocal.MMProtocalJni')
})
}
Java.perform(Main);
取不到PByteArray
属性 value
但是在自己写的测试包可以取值,有没有大佬遇到过类似的问题呀
public class PByteArray {
public byte[] value;
public String str;
}
hook 代码
function hookPBarray(){
Java.perform(function(){
// var PBARR_class = Java.use('com.txxxxx.mm.pointers.PByteArray')
var ACTIVITY_class = Java.use('com.example.myapplication.MainActivity')
ACTIVITY_class.getBarr.overload('com.example.myapplication.PByteArray', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int', 'int')
.implementation =function(p0){
console.log('1212')
send(p0)
send(p0.str.value)
send(p0['value'].value)
this.getBarr.apply(this,arguments)
}
})
}
setTimeout(hookPBarray)
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-7-11 23:48
被git_41266youngerier编辑
,原因: