问题标签 [frida]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - frida new NativeFunction 中的 returnType 和 argType 是什么?
例子:jstring __fastcall Java_com_yxcorp_gifshow_util_CPU_getClock(JNIEnv *env, jobject thiz, jobject arg1, jbyteArray arg2, jint arg3){.....}
returnType 和 argTypes 它们是什么?如果函数的返回值和参数是其他类型,那对应的returnType和argTypes怎么写呢?
dynamic - 如何使用frida将.jar动态加载到apk
我将动态加载 .jar 到 apk 并调用该 jar 中某个类的某个方法。使用 frida,我尝试加载 jar 文件但失败了。
它失败并出现错误:
{'type': 'error', 'description': "ReferenceError: identifier 'classloader' undefined", 'stack': "ReferenceError: identifier 'classloader' undefined\n at [anon] (../../.. /frida-gum/bindings/gumjs/duktape.c:81019)\n at /script1.js:6\n at frida/node_modules/frida-java-bridge/lib/vm.js:11\n at E (frida /node_modules/frida-java-bridge/index.js:346)\n 在 frida/node_modules/frida-java-bridge/index.js:298\n 在 frida/node_modules/frida-java-bridge/lib/vm。 js:11\n at frida/node_modules/frida-java-bridge/index.js:278\n at /script1.js:15", 'fileName': '/script1.js', 'lineNumber': 6, '列号':1}
对我有任何帮助。谢谢。
javascript - 你如何使用 frida 挂钩一个原生的剥离库?
在 java 内部,它从“something.so”调用本机函数:
如您所见,此函数应该返回字节数组。所以我尝试了这个:
但是 frida 无法返回任何结果。甚至没有打印“输入”。请注意,如果您使用 ida 打开,则无法看到名称“functionName”,因为它被剥离了 elf (.so)
我不知道“functionName”的这个位置在哪里,我想找到它,因为它包含很多垃圾代码。
有没有其他方法可以使用 frida 找到它?请写一个例子并与我分享。
android - 证书固定绕过实践的示例 apk
我正在研究android安全性,我试图使用frida-tools绕过android上的ssl pinning。我完全知道如何使用这个框架,但是我找不到任何示例 apk 来练习。是否有任何用于此目的的示例 apk 可用?!
多谢。
python - 没有名为 frida 的模块
为了安装frida,我使用了命令
sudo pip install frida-tools
并且安装成功:
Installing collected packages: frida, frida-tools
Successfully installed frida-12.7.16 frida-tools-5.1.0
但是在运行命令时:
frida --version
我收到以下错误:
android - 如何在android上的本机库中跟踪执行路径?
要对 Android 上的本机库(.so 文件)进行反向工程,我需要挂钩到该库中的函数调用。
使用 ghidra(或类似工具)我得到了相当好的反编译代码。但是,我可以访问的两个商业调试器(IDA 7.0 和 JEB)无法使用,因为它们速度极慢并最终崩溃(它们甚至没有充分利用可用的硬件)。
使用 Frida,我可以跟踪 Java 中所有方法的入口/出口点,包括本地方法。但在我失明之后。
我可以使用 Frida 来跟踪 arm 本机代码吗?(知道符号名称)
xcode - 禁用 iOS 固定
作为工作练习的一部分,我一直试图在未越狱的设备上使用 Frida 关闭应用程序上的 iOS 固定。我已经在线学习了多个教程,到目前为止,我只能在设备通过 USB 连接时执行此操作 - 并且项目通过 Xcode 运行。我的第一个问题是,我现在如何在同一设备上不使用 USB 和 Xcode 的情况下做到这一点?
我要做的下一件事是将 Frida 添加到我从另一个已发布应用程序获得的 IPA 文件中,重新签署 IPA 文件,然后看看它是如何工作的。不幸的是,我无法签署 IPA 文件,因为一旦我添加并签署 Frida 小工具并压缩 IPA,它就会返回以下错误:
我是一个非常新手的开发人员,并且很早就使用 Frida 这样的框架,所以非常感谢任何帮助。谢谢你。
android - 如何绕过 Android 应用的 SSL Pinning
我想使用 Frida Server 方法绕过 Android 应用程序的 SSL 固定。
以下是我遵循/执行的步骤:
0) 安装了 Frida 库和 Frida-tools
1)植根我的Android设备
2)安装目标应用程序
3) 为我的设备架构下载了 Frida 服务器
4) 将 Frida Server 发送到它在 Device 中的路径
5)授予Frida服务器必要的权限
6)已经启动了Frida Server
7) 准备好 Frida 脚本文件
8)现在,当我尝试生成一个应用程序时,它正在引发进程终止,如下所示:
我正在使用运行 Android lollipop 5.0 的真实且有根的 Android 设备从我的 Windows 笔记本电脑上尝试此操作。
我也在其他应用程序上尝试过它,但它也会导致它们出现问题。
在我看来,问题在于我的 Frida 脚本文件中的代码。
如果我的 Frida 脚本文件为空,则不会导致任何问题,但是每当我在文件中添加以下行时,都会导致进程终止。
这是导致问题的行。
Java.perform(function (){ });
该应用程序是设备正在启动,控制台立即将进程显示为已终止。我frida-server-12.7.22-android-arm.xz
用作服务器。我很确定设置是完全正确的,但唯一的问题是在将上述代码添加到 Frida 脚本文件时发生。
还。Java.IsAvailable
返回假。
任何帮助将不胜感激。
android - 挂钩运行后下载的 dex 文件
首先抱歉,如果以下任何术语不正确。我是 Frida/android 调查游戏的新手,目前主要是为了提高我的理解。
我有一个我正在分析的 APK。我可以通过通常的反编译看到某些方面被混淆了,其他方面似乎被加密了,调用似乎消失得无影无踪。通过挂钩加密库分析流量后,我可以看到它下载了一个开始 PK 的文件。
为了进一步调查,我已将 zip 写入磁盘并将其解压缩。里面是一个 classes.dex 文件,我相信它包含一些我一直在寻找的隐藏内容,以弥补我一直在寻找的空白。
不幸的是,这就是目前结束的地方。我可以看到新的函数和类,但是当我尝试挂钩它们进行操作时(绕过模拟器检测是其中的关键)Frida 抱怨说函数/类从一开始就不存在。在我看来,这些类是在运行时以某种方式导入的,启动后。
我接下来要做的是拦截下载,用我根据需要修改的 dex 文件替换它,这应该允许我继续我的分析,但我想知道是否有更简单的方法?是否可以针对这些未立即加载的类,如果可以,有人可以指出我需要调查的方向吗?我假设有一个内置的 android 函数需要执行此导入,我可以寻找,但我不确定从哪里开始。
任何帮助/方向/指导将不胜感激。为了确认,我想知道以下流程是否可行:
- 启动应用程序,挂钩加密库
- 等待下载新的 classes.dex 文件
- 在加载时挂钩这些类
- 自动绕过新加载的类
谢谢。
android - Frida - 打印类的静态变量
我有以下课程(通过 jadx 获得此代码)
我想使用 Frida 获取这两个静态变量的值。
我试过这个
但收到以下错误。
TypeError:无法读取未定义的属性“值”
编辑:
我使用这个脚本来获取方法和类字段,并且效果很好。我得到了变量的名称
但我仍然无法弄清楚如何获得这些变量的实际运行时值。