Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install LX loader to Ghidra 9.2 #6

Open
xrayer opened this issue Dec 2, 2020 · 4 comments
Open

Cannot install LX loader to Ghidra 9.2 #6

xrayer opened this issue Dec 2, 2020 · 4 comments

Comments

@xrayer
Copy link

xrayer commented Dec 2, 2020

Hi,
I wanted to use this plugin (latest ver. 9.1.2) but Ghidra 9.2 refuses it to install (it's showed in the extension list for install but checkbox cannot be selected). Other plugin e.g. gas that came with Ghidra installs OK. Doest it perform some version checking? Could you update the plugin or can I bypass version check some way?

@oshogbo
Copy link
Owner

oshogbo commented Dec 2, 2020

Thank you for reporting the issue.
Could you please try the new release:
https://github.com/oshogbo/ghidra-lx-loader/releases/tag/1.3

@xrayer
Copy link
Author

xrayer commented Dec 8, 2020

Thanks, the new plugin got installed without problem but when I tried to load a VXD file in I got the following error:
http://www.rayer.g6.cz/1tmp/lxerr.png
the file I tried can got here (nvidia w9x driver)
http://www.rayer.g6.cz/1tmp/7772mod.vxd

Unsupported fixup type
java.lang.UnknownError: Unsupported fixup type
at lx.LXFixupRecordTable.(LXFixupRecordTable.java:61)
at lx.LX.loadFixupRecordTable(LX.java:104)
at lx.LX.(LX.java:120)
at lx.LXLoader.load(LXLoader.java:66)
at ghidra.app.util.opinion.AbstractLibrarySupportLoader.doLoad(AbstractLibrarySupportLoader.java:347)
at ghidra.app.util.opinion.AbstractLibrarySupportLoader.loadProgram(AbstractLibrarySupportLoader.java:83)
at ghidra.app.util.opinion.AbstractProgramLoader.load(AbstractProgramLoader.java:112)
at ghidra.plugin.importer.ImporterUtilities.importSingleFile(ImporterUtilities.java:400)
at ghidra.plugin.importer.ImporterDialog.lambda$okCallback$7(ImporterDialog.java:349)
at ghidra.util.task.TaskLauncher$1.run(TaskLauncher.java:90)
at ghidra.util.task.Task.monitoredRun(Task.java:124)
at ghidra.util.task.TaskRunner.lambda$startTaskThread$1(TaskRunner.java:94)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)


Build Date: 2020-Nov-13 1112 EST
Ghidra Version: 9.2
Java Home: C:\Program Files\JRE
JVM Version: Oracle Corporation 11.0.2
OS: Windows 10 10.0 amd64
Workstation:

@oshogbo
Copy link
Owner

oshogbo commented Dec 8, 2020

Yes unfortunately the loader doesn't support everything in LX format because, at least for me the documentation is not very clear.
I added missing Fixup Record Table Source types, but this is still not enough for this program to be loaded.
Right now it crashes on unsupported flags for the fix up.

@xrayer
Copy link
Author

xrayer commented Dec 8, 2020

Yes, I also didn't find any well documentation of VXD/LE. All my effort is to understand the meaning of 3 Bytes at offset 144-146h from the beginning of VXD file. It starts with MZ header and standard DOS stub, LE header statrts at offset 80h. The LE headrer ends before 144h so I cannot figure what this bytes belongs. I need to understand it if it is ncessary to change it fort porting a patch of the NV driver from one version to another and when I don't know what this bytes do I don't know how to modify the counterpart VXD file...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants