Make some commands available from lldb (#2556)

* ghidra: fix decompile

* commands: move some commands as they are safe to load from lldb
pull/2566/head
patryk4815 1 year ago committed by GitHub
parent f7379ae760
commit cef203d8a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -687,24 +687,18 @@ def load_commands() -> None:
if pwndbg.dbg.is_gdblib_available(): if pwndbg.dbg.is_gdblib_available():
import pwndbg.commands.ai import pwndbg.commands.ai
import pwndbg.commands.argv import pwndbg.commands.argv
import pwndbg.commands.aslr
import pwndbg.commands.asm
import pwndbg.commands.attachp import pwndbg.commands.attachp
import pwndbg.commands.auxv
import pwndbg.commands.binder import pwndbg.commands.binder
import pwndbg.commands.binja import pwndbg.commands.binja
import pwndbg.commands.branch import pwndbg.commands.branch
import pwndbg.commands.cymbol import pwndbg.commands.cymbol
import pwndbg.commands.dt import pwndbg.commands.dt
import pwndbg.commands.gdt
import pwndbg.commands.ghidra
import pwndbg.commands.godbg import pwndbg.commands.godbg
import pwndbg.commands.got import pwndbg.commands.got
import pwndbg.commands.got_tracking import pwndbg.commands.got_tracking
import pwndbg.commands.heap_tracking import pwndbg.commands.heap_tracking
import pwndbg.commands.ida import pwndbg.commands.ida
import pwndbg.commands.ignore import pwndbg.commands.ignore
import pwndbg.commands.integration
import pwndbg.commands.ipython_interactive import pwndbg.commands.ipython_interactive
import pwndbg.commands.kbase import pwndbg.commands.kbase
import pwndbg.commands.kchecksec import pwndbg.commands.kchecksec
@ -713,15 +707,10 @@ def load_commands() -> None:
import pwndbg.commands.killthreads import pwndbg.commands.killthreads
import pwndbg.commands.klookup import pwndbg.commands.klookup
import pwndbg.commands.kversion import pwndbg.commands.kversion
import pwndbg.commands.linkmap
import pwndbg.commands.memoize
import pwndbg.commands.onegadget import pwndbg.commands.onegadget
import pwndbg.commands.pcplist import pwndbg.commands.pcplist
import pwndbg.commands.peda import pwndbg.commands.peda
import pwndbg.commands.plist
import pwndbg.commands.radare2
import pwndbg.commands.reload import pwndbg.commands.reload
import pwndbg.commands.rizin
import pwndbg.commands.rop import pwndbg.commands.rop
import pwndbg.commands.ropper import pwndbg.commands.ropper
import pwndbg.commands.segments import pwndbg.commands.segments
@ -729,9 +718,11 @@ def load_commands() -> None:
import pwndbg.commands.slab import pwndbg.commands.slab
import pwndbg.commands.start import pwndbg.commands.start
import pwndbg.commands.tips import pwndbg.commands.tips
import pwndbg.commands.tls
import pwndbg.commands.version import pwndbg.commands.version
import pwndbg.commands.aslr
import pwndbg.commands.asm
import pwndbg.commands.auxv
import pwndbg.commands.canary import pwndbg.commands.canary
import pwndbg.commands.checksec import pwndbg.commands.checksec
import pwndbg.commands.comments import pwndbg.commands.comments
@ -744,10 +735,15 @@ def load_commands() -> None:
import pwndbg.commands.dumpargs import pwndbg.commands.dumpargs
import pwndbg.commands.elf import pwndbg.commands.elf
import pwndbg.commands.flags import pwndbg.commands.flags
import pwndbg.commands.gdt
import pwndbg.commands.ghidra
import pwndbg.commands.heap import pwndbg.commands.heap
import pwndbg.commands.hex2ptr import pwndbg.commands.hex2ptr
import pwndbg.commands.hexdump import pwndbg.commands.hexdump
import pwndbg.commands.integration
import pwndbg.commands.leakfind import pwndbg.commands.leakfind
import pwndbg.commands.linkmap
import pwndbg.commands.memoize
import pwndbg.commands.misc import pwndbg.commands.misc
import pwndbg.commands.mmap import pwndbg.commands.mmap
import pwndbg.commands.mprotect import pwndbg.commands.mprotect
@ -759,11 +755,14 @@ def load_commands() -> None:
import pwndbg.commands.plist import pwndbg.commands.plist
import pwndbg.commands.probeleak import pwndbg.commands.probeleak
import pwndbg.commands.procinfo import pwndbg.commands.procinfo
import pwndbg.commands.radare2
import pwndbg.commands.retaddr import pwndbg.commands.retaddr
import pwndbg.commands.rizin
import pwndbg.commands.search import pwndbg.commands.search
import pwndbg.commands.sigreturn import pwndbg.commands.sigreturn
import pwndbg.commands.spray import pwndbg.commands.spray
import pwndbg.commands.telescope import pwndbg.commands.telescope
import pwndbg.commands.tls
import pwndbg.commands.valist import pwndbg.commands.valist
import pwndbg.commands.vmmap import pwndbg.commands.vmmap
import pwndbg.commands.windbg import pwndbg.commands.windbg

@ -97,7 +97,9 @@ def decompile(func=None):
if pwndbg.config.syntax_highlight: if pwndbg.config.syntax_highlight:
# highlighting depends on the file extension to guess the language, so try to get one... # highlighting depends on the file extension to guess the language, so try to get one...
src_filename = pwndbg.gdblib.symbol.selected_frame_source_absolute_filename() src_filename = None
if pwndbg.dbg.is_gdblib_available():
src_filename = pwndbg.gdblib.symbol.selected_frame_source_absolute_filename()
if not src_filename: if not src_filename:
filename = pwndbg.dbg.selected_inferior().main_module_name() filename = pwndbg.dbg.selected_inferior().main_module_name()
src_filename = filename + ".c" if os.path.basename(filename).find(".") < 0 else filename src_filename = filename + ".c" if os.path.basename(filename).find(".") < 0 else filename

Loading…
Cancel
Save