frida objection注入时frida.core.RPCException: ReferenceError: ‘ObjC‘ is not defined解决

最新的17.0.xx版本frida进行objection注入时会报错

PS C:\Users\19583> objection -g com.example.hellojni explore
C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\objection\utils\update_checker.py:7: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  from pkg_resources import parse_version
Using USB device `SM S9110`
Agent injected and responds ok!
Traceback (most recent call last):
  File "", line 198, in _run_module_as_main
  File "", line 88, in _run_code
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Scripts\objection.exe\__main__.py", line 7, in 
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\click\core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\click\core.py", line 1363, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\click\core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\click\core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\click\core.py", line 794, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\objection\console\cli.py", line 156, in explore
    device_info = get_device_info()
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\objection\commands\device.py", line 22, in get_device_info
    environment = api.env_runtime()
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\frida\core.py", line 180, in method
    return script._rpc_request(request, data, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\frida\core.py", line 86, in wrapper
    return f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\19583\AppData\Local\Programs\Python\Python312\Lib\site-packages\frida\core.py", line 497, in _rpc_request
    raise result.error
frida.core.RPCException: ReferenceError: 'ObjC' is not defined
    at  (/script1.js:19748)
    at envRuntime (/script1.js:22652)
    at call (native)
    at handleRpcMessage (/frida/runtime/message-dispatcher.js:39)
    at handleMessage (/frida/runtime/message-dispatcher.js:25)
Asking jobs to stop...
Unloading objection agent...

https://github.com/frida/frida/issues/3460

从issue可以看出是17版本下objc_msgSend 的代码逻辑问题

那找到对应的16版本即可

先把直接之前的frida和frida-tools给pip uninstall掉

然后直接安装能用的版本

pip install frida==16.7.19
pip install frida-tools==13.7.1

即可运行

frida objection注入时frida.core.RPCException: ReferenceError: ‘ObjC‘ is not defined解决_第1张图片

一直卡在Agent injected and responds ok!的话,【解决objection框架对于多进程app卡死的情况】_objection卡死-CSDN博客

你可能感兴趣的:(java,android)