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
Hi @0ddc0de - thank you for reaching out. TLDR; this unfortunately appears to be a bug in Ghidrathon. In theory, after fixing this bug what you are trying to do should work, although, I am uncertain without testing how dropping into a REPL may mess with headless execution flow.
Long winded explanation and notes:
Based on ImportError: java.lang.ClassNotFoundException: pdb.Pdb it appears Ghidra's ghidra.app.util.bin.format.pdb package is overshadowing Python's pdb module. This is likely due to Jep's import hook giving preference to Java over Python when resolving imports.
We should give preference to Python when executing Python code but still allow access to the overshadowed Java package. This likely requires wrapping Jep's ClassEnquirer as discussed here or modifying Jep's java_import_hook.py.
Actual source of conflict from above is Ghidra's pdb plugin. It's unlikely that users want access to Ghidra's pdb from Python so we can simply give precedence to Python's pdb in this case. This may be as simple as adding pdb to the list of restricted package names.
Hi @0ddc0de - thank you for reaching out. TLDR; this unfortunately appears to be a bug in Ghidrathon. In theory, after fixing this bug what you are trying to do should work, although, I am uncertain without testing how dropping into a REPL may mess with headless execution flow.
Long winded explanation and notes:
Based on
ImportError: java.lang.ClassNotFoundException: pdb.Pdb
it appears Ghidra'sghidra.app.util.bin.format.pdb
package is overshadowing Python'spdb
module. This is likely due toJep
's import hook giving preference to Java over Python when resolving imports.We should give preference to Python when executing Python code but still allow access to the overshadowed Java package. This likely requires wrapping
Jep
'sClassEnquirer
as discussed here or modifyingJep
'sjava_import_hook.py
.Originally posted by @mike-hunhoff in #37 (comment)
The text was updated successfully, but these errors were encountered: