andr3colonel / ghidra_wasm

Module to load WebAssembly files into ghidra
98 stars 10 forks source link

Error importing file #3

Open DoDoENT opened 3 years ago

DoDoENT commented 3 years ago

I've built your extension from master branch (commit 416a6d2624bffd4b49abc93aadb963302dce549c) and installed the extension to GHidra 9.1.2.

When attempting to import a WASM file for decompilation, I get following error:

Error importing file: alp_wasm_bg.wasm
ghidra.app.plugin.processors.sleigh.SleighException: .sla file for wasm:LE:32:default has the wrong format
    at ghidra.app.plugin.processors.sleigh.SleighLanguage.restoreXml(SleighLanguage.java:850)
    at ghidra.app.plugin.processors.sleigh.SleighLanguage.readSpecification(SleighLanguage.java:842)
    at ghidra.app.plugin.processors.sleigh.SleighLanguage.initialize(SleighLanguage.java:133)
    at ghidra.app.plugin.processors.sleigh.SleighLanguage.<init>(SleighLanguage.java:101)
    at ghidra.app.plugin.processors.sleigh.SleighLanguageProvider.getNewSleigh(SleighLanguageProvider.java:112)
    at ghidra.app.plugin.processors.sleigh.SleighLanguageProvider.getLanguage(SleighLanguageProvider.java:99)
    at ghidra.program.util.DefaultLanguageService$LanguageInfo.getLanguage(DefaultLanguageService.java:394)
    at ghidra.program.util.DefaultLanguageService.getLanguage(DefaultLanguageService.java:111)
    at ghidra.app.util.opinion.AbstractLibrarySupportLoader.doLoad(AbstractLibrarySupportLoader.java:332)
    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:401)
    at ghidra.plugin.importer.ImporterDialog.lambda$okCallback$7(ImporterDialog.java:351)
    at ghidra.util.task.TaskLauncher$1.run(TaskLauncher.java:90)
    at ghidra.util.task.Task.monitoredRun(Task.java:126)
    at ghidra.util.task.TaskRunner.lambda$startTaskThread$1(TaskRunner.java:94)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:832)

---------------------------------------------------
Build Date: 2020-Feb-12 1149 EST
Ghidra Version: 9.1.2
Java Home: /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
JVM Version: Oracle Corporation 14.0.1
OS: Mac OS X 10.15.7 x86_64
Workstation: 172.24.131.149

Did I do something wrong?

PeroKetStory commented 3 years ago

Hi ! I've been facing the same issue. This error is thrown by Ghidra because the .sla file does not match with new Ghidra updates. To make it work:

"Great that should be working now !" Well... Welcome to hell now, please take a sit, it might take a while.. The .slaspec is not working anymore, and kind of roughly. Basically it's the 6502 .slaspec that has been used that has been updated to handle 32bits (size=4) and few other stuff. But the OP1 and OP2 sections does not work anymore. I am trying to investigate through this, but I have no real idea concerning what I am looking at neither doing there, so...

If I succeed in making it work, I'll post my solution here ;)

garrettgu10 commented 3 years ago

I know it's been a while, but for future reference I have this new fork working with Ghidra 10.0.0