hugsy / gef-extras

Extra goodies for GEF to (try to) make GDB suck even less
https://hugsy.github.io/gef-extras
MIT License
148 stars 50 forks source link

libc_function_args and syscall_args error when installing gef-extras #79

Closed pctripsesp closed 5 months ago

pctripsesp commented 1 year ago

Step 1: Describe your environment

gef➤  version
GEF: (Standalone)
Blob Hash(/home/kali/.gef-2b72f5d0d9f0f218a91cd1ca5148e45923b950d5.py): 8dc57b700e3c1c85822449033a01c94dfae9e4a6
SHA256(/home/kali/.gef-2b72f5d0d9f0f218a91cd1ca5148e45923b950d5.py): 63d3e10d38a367c3e4d37de8e0701bcdff2a4e7c9a0a4ec5d83ccb8b2fe6188d
GDB: 12.1
GDB-Python: 3.10

Step 2: Describe your problem

Running gef after installing gef-extras leaves me with this:

GNU gdb (Debian 12.1-3) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
GEF for linux ready, type `gef' to start, `gef config' to configure
90 commands loaded and 5 functions added for GDB 12.1 in 0.00ms using Python engine 3.10
Traceback (most recent call last):
  File "/home/kali/.config/gef-extras/scripts/libc_function_args/__init__.py", line 139, in <module>
    register_external_context_pane(
TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'
Traceback (most recent call last):
  File "/home/kali/.config/gef-extras/scripts/syscall_args/__init__.py", line 138, in <module>
    register_external_context_pane(
TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'
[+] 41 extra commands added from '/home/kali/.config/gef-extras/scripts' in 0.40 seconds
Reading symbols from myapp...
(No debugging symbols found in myapp)
[*] Not a valid file format: Config `context.libc_args_path` set but it's not a directory
pctripsesp commented 1 year ago

There is no folder called glibc-function-args at /home/kali/.config/gef-extras/

>gef config

context.libc_args_path (str) = "/home/kali/.config/gef-extras/glibc-function-args"
hugsy commented 1 year ago

This is not a bug in GEF, you need to set context.libc_args_path setting properly (see gef-extras/scripts/libc_function_args/tables/)

pctripsesp commented 1 year ago

Traceback (most recent call last): File "/home/kali/.config/gef-extras/scripts/libc_function_args/init.py", line 139, in register_external_context_pane( TypeError: register_external_context_pane() got an unexpected keyword argument 'condition' Traceback (most recent call last): File "/home/kali/.config/gef-extras/scripts/syscall_args/init.py", line 138, in register_external_context_pane( TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'

Yes, this solves 3d error, there are still two more

Traceback (most recent call last):
  File "/home/kali/.config/gef-extras/scripts/libc_function_args/__init__.py", line 139, in <module>
    register_external_context_pane(
TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'
Traceback (most recent call last):
  File "/home/kali/.config/gef-extras/scripts/syscall_args/__init__.py", line 138, in <module>
    register_external_context_pane(
TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'
Emiluren commented 1 year ago

I just ran into this problem as well. I solved it by switching to the dev branch for gef. (At first I tried using the main branch for gef-extras instead but got a lot of warnings about deprecated functions)

MUWASEC commented 1 year ago

i also get the same bug, switching between main to dev branch and vice versa still not fix the issue

gef➤  gef config gef.extra_plugins_dir '/home/xxx/gdb-src/gef-extras/scripts/'
Traceback (most recent call last):
  File "/home/xxx/gdb-src/gef-extras/scripts/syscall_args/__init__.py", line 138, in <module>
    register_external_context_pane(
TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'
Traceback (most recent call last):
  File "/home/xxx/gdb-src/gef-extras/scripts/libc_function_args/__init__.py", line 139, in <module>
    register_external_context_pane(
TypeError: register_external_context_pane() got an unexpected keyword argument 'condition'
[+] 41 extra commands added from '/home/xxx/gdb-src/gef-extras/scripts/' in 0.52 seconds

setting the context.libc_args_path to gef-extras/scripts/libc_function_args/tables/ is also still not fixing the issue

hugsy commented 5 months ago

Closing, this was fixed with #98