You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Important update: starting this release, GEF now requires GDB 8+ compiled with a Python 3.6+. If you cannot meet this requirements, you can still use previous versions of GEF, or also gef-legacy. Check out the compatibility matrix for more details.
Major changes:
Internal code restructuring now exposes a bunch of new API via the gef namespace. See the API docs for complete reference
As a consequence, many existing functions available to gef and other plugins based on gef became obsolete and are now deprecated. Using those API will show a warning message in gef (which can be toggled off)
The Architecture base class has been reviewed and improved to allow new architectures to be (more) easily pluggable via a new decorator (@register_architecture)
Type hinting (with Python 3.6 compatibility) support, which makes the code globally more readable
Bunch of bugs squashed thanks to the type hinting
Taking advantage of Python 3.6 (again) allows to reduce code size by relying more on builtin Python classes
The pcustom command was entirely rewritten to allow external ctypes structures to be used by any other plugin or via the command line
2021-12-11 61782e4 • hugsy • [Refactor] Adds a global class Gef and instance gef that will be used to make the API simpler and more Pythonic. Also adds memory access (via gef.memory) and settings (via gef.config)
2021-12-13 cdfdf42 • hugsy • More changes to a more pythonic version - creates a GefHeapManager class - deprecates many functions to an equivalent more readable - made GlibcArena and GlibcChunk classes iterable
2021-12-13 e36152d • hugsy • - Separate gef managers initialization - Add gef.session which includes many runtime info (.pagesize, .canary, .constants, etc.) - Add more docstrings - The GDB command objects are now in the namespace gef.gdb - Adjust some gef functions to check result - Make endian_str, gef_pagesize, gef_read_canary, set_gef_setting and get_gef_setting deprecated APIs
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Changelog: 2022.01 - Irritating Cookie
Highlights of
Irritating Cookie
Important update: starting this release, GEF now requires GDB 8+ compiled with a Python 3.6+. If you cannot meet this requirements, you can still use previous versions of GEF, or also gef-legacy. Check out the compatibility matrix for more details.
Major changes:
gef
namespace. See the API docs for complete referenceArchitecture
base class has been reviewed and improved to allow new architectures to be (more) easily pluggable via a new decorator (@register_architecture
)pcustom
command was entirely rewritten to allow externalctypes
structures to be used by any other plugin or via the command lineContributors
Closed Issues
Closed Pull Requests
Commit details
100 commits since 2021.10
Commit log
new-release.py
in thegit
shell commanddocs/api.md
(Fix typo #747)assert
onget_register
(Remove theassert
onget_register
#754)assert
onget_register
#754nb_argument
when printing guessed arguments (fix Error incontext
command:max() arg is an empty sequence
#753) (Simplify hownb_argument
is calculated inprint_guessed_arguments
#755)assert
(Remove finalassert
#756)gef.py
for M68K support (ingef-extras
) (Adds constants togef.py
for M68K support (ingef-extras
) #757)Gef
and instancegef
that will be used to make the API simpler and more Pythonic. Also adds memory access (viagef.memory
) and settings (viagef.config
)GefHeapManager
class - deprecates many functions to an equivalent more readable - madeGlibcArena
andGlibcChunk
classes iterablegef.session
which includes many runtime info (.pagesize
,.canary
,.constants
, etc.) - Add more docstrings - The GDB command objects are now in the namespacegef.gdb
- Adjust some gef functions to check result - Makeendian_str
,gef_pagesize
,gef_read_canary
,set_gef_setting
andget_gef_setting
deprecated APIsget_memory_alignment()
->gef.arch.ptrsize
heap.base_address
get_pid()
->gef.session.pid
canary
commandelf-info
patch qword
GlibcArena.__eq__
get_register
->gef.arch.register()
- new context manager for output redirection:RedirectOutputContext
__str__
toSection
gef.memory.maps
gef.session.qemu_mode
andgef.session.remote
reset()
that allows to entirely reset the gef session usingpi reset()
__gef_redirect_output_fd__
->gef.ui.redirect_fd
__gef_int_stream_buffer__
->gef.ui.stream_buffer
__infos_files__
, was obsolete since we started usinglru_cache
__commands__
-->gef.session.commands
highlight_table
-->gef.ui.highlight_table
libc_args_definitions
-->gef.session.libc_args_definitions
new_objfile_handle
doesn't need to re-init the managers since we already reset its cache__watches__
->gef.ui.watches
__context_messages__
->gef.ui.context_messages
__gef_convenience_vars_index
->gef.session.convenience_vars_index
gef.session
ptrsize
static for x86 and x64ptrsize
static for arm, arm64 and mipspathlib.Path
(replace all pathes withpathlib.Path
#775) added test fordownload_file
ptrsize
cachingGEF_RC
to aPath
object (replace all pathes withpathlib.Path
#775)api/gef.md
@deprecated
adds a note in the api docheap set-arena
api.md
SHT_NUM
valueFormatStringSearchCommand
heap
CI failures (defered to Multiple issues inheap bins XX
commands #785) - minor type adjustmentsGefSetting
that prevented saved values to be loaded (Fixed bugs inGefSetting
that prevented saved values to be loaded #792)@deprecated
warning display can be toggled off (@deprecated
warning display can be toggled off #795)pcustom
command (Complete rewrite ofpcustom
command #794)theme
: use the gef settings managertry
/except
forgef restore
to indicate which setting name is missingFile diff
New Contributors
Full Changelog: 2021.10...2022.01
This discussion was created from the release 2022.01 - Irritating Cookie.
Beta Was this translation helpful? Give feedback.
All reactions