Patch _fs_gs_helper when debugging windows remotely (#2478)

* move remote check earlier

* move remote check earlier

* add try except if register does not exist

* check if register eists before trying to fetch

* moved register check to only x86-64

* use .find() to determine wether register exists
pull/2501/head
Anders Felde 1 year ago committed by GitHub
parent f7bb9b59a8
commit 4ca87e39c1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -32,6 +32,13 @@ from pwndbg.lib.regs import RegisterSet
from pwndbg.lib.regs import reg_sets
@pwndbg.gdblib.proc.OnlyWhenRunning
def register_exists(register_name: str, frame: gdb.Frame | None = None) -> bool:
if frame is None:
frame = gdb.selected_frame()
return bool(frame.architecture().registers().find(register_name))
@pwndbg.gdblib.proc.OnlyWhenRunning
def gdb_get_register(name: str, frame: gdb.Frame | None = None) -> gdb.Value | None:
if frame is None:
@ -247,6 +254,8 @@ class module(ModuleType):
Requires ptrace'ing the child directory if i386."""
if pwndbg.aglib.arch.name == "x86-64":
if not register_exists(regname):
return 0
reg_value = gdb_get_register(regname)
return int(reg_value) if reg_value is not None else 0

Loading…
Cancel
Save