reverse-engineering - 如何使用 Frida 在 Android 中从挂钩的本机函数中打印变量
问题描述
我有一个加载mylib.so
. 这个库有一个函数decryptChar
,我想钩住并打印一个在那里计算的字符串变量。我为此目的使用frida 。我做了一些尝试,但考虑到我在这方面的经验不足,一切都失败了。我想Key
在离开函数之前打印变量,以便获得它的最终值。
我使用的代码如下
Interceptor.attach(Module.findExportByName("mylib.so", "decryptChar"), {
onEnter: function (args) {
console.log(this.Key.value);
}
});
这样做的正确方法是什么?
解决方案
你混合了几件事
onLeave 参数是返回值,this
用于从 onEnter 传递数据
如果要打印静态方法的第一个参数,假设它是指向字符串的指针
Interceptor.attach(Module.findExportByName("mylib.so", "decryptChar"), {
onEnter: function (args) {
console.log(args[0].readCString());
}
});
推荐阅读
- sql-server - 带括号的环绕查询导致 XML 错误
- audio - linux:使用 gstreamer 的虚拟麦克风
- java - 测试中没有 EntityManager 的持久性提供程序
- email - 将文件附加到电子邮件而不将内容保存到本地文件
- csv - 用于映射两个 csv 文件中的列的脚本
- amazon-web-services - 如何在不使用主键的情况下执行 getitem 或查询以检索 DynamoDB 中的最后更新记录
- javascript - 如何分组一堆
的 - vba - 解析未完全加载 VBA 的网站
- r - 如何根据另一个矩阵的真/假索引替换矩阵中的值?
- java - 使用 CXF 生成 SOAP 1.2 端点的 Java Spring Boot