问题标签 [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.

0 投票
0 回答
273 浏览

sockets - Frida SocketListener 可以接受多个连接吗?

我想使用 Frida Socket 创建一个 tcp 服务器,并接受多个客户端。

JS代码:

使用 Python 进行测试:

我运行了 4 次 python 代码,但仅第一次打印了“接受”。

0 投票
2 回答
1435 浏览

java - 如何通过 frida js 创建一个 Integer.TYPE(int.class) 数组

我有一个问题java.lang.Class.getMethod

第二个参数需要一个[java.lang.Object];类型,java代码如下:

那么如何array使用js或其他方式创建它?

另外,我创建了一个obj array这样的:

但是我得到一个无效的参数值错误,如何解决?:

{'type': 'error', 'description': 'Error: invalid argument value', 'stack': 'Error: invalid argument value\n at frida/node_modules/frida-java/lib/env.js:515\ n 在 frida/node_modules/frida-java/lib/class-factory.js:2592\n 在 toJniObjectArray (frida/node_modules/frida-java/lib/class-factory.js:2640)\n 在 java.js:4489 \n 在 frida/node_modules/frida-java/lib/class-factory.js:743\n 在 [anon] (script1.js:28)\n 在 input:1', 'fileName': 'frida/node_modules/ frida-java/lib/env.js','lineNumber':515,'columnNumber':1}

0 投票
1 回答
558 浏览

android - 谁能帮助我如何在 Android 设备上将 java.net.Socket.connect(java.net.SocketAddress, int) 与 frida 挂钩

我想使用 Frida 在 android 应用程序中挂钩 java.net.Socket.connect() 方法。但我失败了,应用程序崩溃了。

我正在使用带有 Android 7.1.1 和 frida-server-12.2.27-android-arm 的 Nexus 6 设备。

这是我使用的js代码:

我发现如果我只是挂钩 $init() 方法,一切都很好;但是如果我添加方法connect()的钩子,APP就会崩溃。

0 投票
2 回答
588 浏览

reverse-engineering - findExportByName 查找不在模块中的名称

我想挂钩connect套接字的功能。

首先,我需要找到它的地址。

我用以下方法枚举模块:

奇怪的是

返回任何 的预期地址(libsystem_kernel.dylib根据属于Process.findModuleByAddress(addr)i

我不明白它如何适用于与i包含导出的模块对应的值不同的值,如果它真的适用于所有模块,为什么不是findModuleByAddressa 的函数Process

我注意到

也可以,但我不知道有什么区别。

0 投票
2 回答
6884 浏览

reverse-engineering - 如何使用 Frida 在 Android 中从挂钩的本机函数中打印变量

我有一个加载mylib.so. 这个库有一个函数decryptChar,我想钩住并打印一个在那里计算的字符串变量。我为此目的使用frida 。我做了一些尝试,但考虑到我在这方面的经验不足,一切都失败了。我想Key在离开函数之前打印变量,以便获得它的最终值。

我使用的代码如下

这样做的正确方法是什么?

0 投票
2 回答
9062 浏览

android - (FRIDA) 生成失败:在准备应用启动时无法访问 zygote64;尝试禁用 Magisk Hide 以防它处于活动状态

我在 Android 8 (Oreo) 中以root身份运行 Frida Server (frida-server-12.5.8-android-arm64.xz) :

-rwxrwxrwx 1 根 38152536 2019-05-26 23:34 irwan

然后我尝试在 apk 中取消固定 ssl:

输出错误:

生成失败:准备应用启动时无法访问zygote64;尝试禁用 Magisk Hide 以防它处于活动状态

如下图:

这里的截图

  • 弗里达 12.5.8
  • Python 3.7.3
  • 视窗 10 专业版

有人可以帮助我为这个问题实施或逐步创建解决方案吗?谢谢。

0 投票
2 回答
4138 浏览

hook - How to hook fopen using Frida in Android?

I have an android application into which I load a library and at some point I read a file. This is the code that is being used in the app.

Now I am attempting using Frida to hook that fopen in order to force it to return null but I do not seem to be able to find out how.

The library that is included in the application is called libnative-lib.so and my attempt in hooking fopen includes the following code for frida

0 投票
0 回答
73 浏览

ios - iOS 捕获调试器陷阱 (BKPT 3)

我有一个正在分析/逆向工程的 iOS 应用程序。我想用 Frida 拦截一个函数。通常,这不是问题,但该函数在应用程序启动时或之后不久被调用,因此在调用该函数之前 Frida 没有时间附加。

我正在使用 32 位 armv7 设备的 iPhone 5。不幸的是,对于 armv7 上的 Frida,显然启动应用程序被破坏了。

因此,我尝试了一个不成功的远射。我写了一个 dylib 来调整目标方法。在 swizzled 实现中,我触发了调试器中断(__asm__('trap')我也尝试过bkpt 3)。我启动了调试服务器并将我机器上的 lldb 连接到它。我希望调试服务器会拦截来自应用程序的陷阱,但显然我错了。

有没有人知道a)通常如何拦截陷阱(比如说,调试器),b)关于调试服务器如何将自己附加到进程的任何信息,或者c)关于我如何实现这一点的任何其他想法?

0 投票
1 回答
159 浏览

frida - 有没有办法在 Frida 中访问“this”?

假设我有以下钩子:

它给了我

{$handle: '0x2345', '$weakRef': 283}

但我知道它有一个我想访问的字段。

我如何访问这个?

0 投票
1 回答
198 浏览

android - 我可以声明一个 OnClickListener 派生类并将其实例传递给 Frida 中视图的 setOnClickListener 方法吗

在 Frida 的挂钩 javascript 文件中,我可以声明一个派生自 OnClickListener 的新类吗?我想将一个新的 OnClickListener 实例传递给现有视图的 setOnClickListener 方法。

我可以得到一个现有的视图类,如下所示:

此视图在原始应用程序中没有任何 onClickListener。是否可以通过 Frida 将 onClickListener 实例附加到此视图?

我知道如何实例化一个现有的类,但我不知道如何在 Frida 中声明一个新类。

非常感谢你的建议。