首页
社区
课程
招聘
Frida hook 琐碎问题 --如何打印构造函数返回值?
发表于: 2020-5-1 21:34 4432

Frida hook 琐碎问题 --如何打印构造函数返回值?

2020-5-1 21:34
4432

在追踪Java中AES加密的密钥生成过程,想要查看javax.crypto.spec.SecretKeySpec这个类的构造函数返回值,
但是在hook的时候不知道要怎么调用 构造函数 打印返回值
代码如下:
var SecretKey=Java.use("javax.crypto.spec.SecretKeySpec");
SecretKey.$init.overload('[B', 'java.lang.String').implementation = function(key, alg){
console.log("hook start:");
//打印参数
if (arguments.length) console.log();
for (var j = 0; j < arguments.length; j++) {
console.log("arg[" + j + "]: " + arguments[j]);
}
//打印byte[] 数组的方法:
var ByteString = Java.use("okio.ByteString");
console.log("bytestring"); console.log("arg[0]:",ByteString.of(arguments[0]).hex());

 

//打印返回值
var retval = this.SecretKey(key, alg);
//这个地方出问题了

 

console.log("retval: " + ByteString.of(retval).hex());
return val;
}

 

报错信息为:
TypeError: undefined not callable (property 'SecretKey' of [object Object])


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
错误地方应该改成,var retval = this.$init(key, alg);
但是又有了新的错误,
Error: of(): argument types do not match any of:
        .overload('[B')
        .overload('[B', 'int', 'int')
javax.crypto.spec.SecretKeySpec类无法当作byte[]打印
求大佬解答一下
2020-5-1 22:07
0
雪    币: 181
活跃值: (621)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
构造函数有返回值?
2020-5-2 07:53
0
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
柒雪天尚 构造函数有返回值?
是我憨批了,请问我想要查看javax.crypto.spec.SecretKeySpec类实例对象的内容要怎么做呢?
2020-5-2 08:41
0
雪    币: 888
活跃值: (2370)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5

            for (var j = 0; j < arguments.length; j++) {
                console.log("arg[" + j + "]: " + JSON.stringify(arguments[j]));
            }


            // 打印返回值

            var retval = this.$init(key, alg);


最后于 2020-8-6 20:51 被dryzh编辑 ,原因: 格式
2020-8-6 20:46
0
游客
登录 | 注册 方可回帖
返回
//