Disassemble.java 948 B

12345678910111213141516171819202122232425262728293031323334
  1. import java.io.File;
  2. import java.io.IOException;
  3. import org.apache.logging.log4j.LogManager;
  4. import org.apache.logging.log4j.Logger;
  5. import ghidra.app.script.GhidraScript;
  6. import ghidra.app.util.exporter.AsciiExporter;
  7. public class Disassemble extends GhidraScript {
  8. private static Logger log;
  9. public Disassemble() {
  10. log = LogManager.getLogger(Disassemble.class);
  11. }
  12. public void export(String filename) {
  13. File outputFile = new File(filename);
  14. AsciiExporter asciiExporter = new AsciiExporter();
  15. asciiExporter.setExporterServiceProvider(state.getTool());
  16. try {
  17. asciiExporter.export(outputFile, currentProgram, null, monitor);
  18. } catch (IOException e) {
  19. log.error("Failed writing disassembled code as output", e);
  20. }
  21. }
  22. @Override
  23. public void run() throws Exception {
  24. String[] args = getScriptArgs();
  25. export(args[0]);
  26. }
  27. }