Browse Source

header parsing in a correct java loader module

master
parent
commit
6b162226d2
Signed by: govanify GPG Key ID: DE62E1E2A6145556
22 changed files with 593 additions and 14 deletions
  1. +5
    -0
      .antProperties.xml
  2. +434
    -0
      .classpath
  3. +2
    -0
      .gitignore
  4. BIN
      .gradle/5.0/fileHashes/fileHashes.bin
  5. BIN
      .gradle/5.0/fileHashes/fileHashes.lock
  6. BIN
      .gradle/5.0/fileHashes/resourceHashesCache.bin
  7. BIN
      .gradle/5.0/javaCompile/classAnalysis.bin
  8. BIN
      .gradle/5.0/javaCompile/jarAnalysis.bin
  9. BIN
      .gradle/5.0/javaCompile/javaCompile.lock
  10. BIN
      .gradle/5.0/javaCompile/taskHistory.bin
  11. BIN
      .gradle/5.0/taskHistory/taskHistory.bin
  12. BIN
      .gradle/5.0/taskHistory/taskHistory.lock
  13. BIN
      .gradle/buildOutputCleanup/buildOutputCleanup.lock
  14. BIN
      .gradle/buildOutputCleanup/outputFiles.bin
  15. +24
    -0
      .project
  16. +47
    -0
      .settings/org.eclipse.jdt.core.prefs
  17. BIN
      data/manuals/.swo
  18. +1
    -0
      ghidra_scripts/README.txt
  19. +0
    -0
      ghidra_scripts/import_kh2ai.py
  20. +80
    -10
      src/main/java/ghidra_kh2ai/ghidra_kh2aiLoader.java
  21. +0
    -2
      src/main/resources/images/README.txt
  22. +0
    -2
      src/test/java/README.test.txt

+ 5
- 0
.antProperties.xml View File

@ -0,0 +1,5 @@
<!-- This file is generated on each "Link Ghidra" command. Do not modify. -->
<project>
<property name="ghidra.install.dir" value="/home/govanify/Documents/projects/programming/hacking/tools/ghidra" />
</project>

+ 434
- 0
.classpath View File

@ -0,0 +1,434 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/help"/>
<classpathentry kind="src" path="ghidra_scripts"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/openjdk-11"/>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/68000/lib/68000.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/68000/lib/68000-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/8051/lib/8051.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/AARCH64/lib/AARCH64.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/AARCH64/lib/AARCH64-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/ARM/lib/ARM.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/ARM/lib/ARM-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/Atmel/lib/Atmel.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/Atmel/lib/Atmel-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Base/lib/Base.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Base/lib/Base-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/BytePatterns/lib/BytePatterns.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/BytePatterns/lib/BytePatterns-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/ByteViewer/lib/ByteViewer.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/ByteViewer/lib/ByteViewer-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/DATA/lib/DATA.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/DATA/lib/DATA-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/DB/lib/DB.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/DB/lib/DB-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/Dalvik/lib/Dalvik.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/Dalvik/lib/Dalvik-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/DebugUtils/lib/DebugUtils.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/DebugUtils/lib/DebugUtils-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Decompiler/lib/Decompiler.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Decompiler/lib/Decompiler-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/DecompilerDependent/lib/DecompilerDependent.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/DecompilerDependent/lib/DecompilerDependent-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Demangler/lib/Demangler.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Demangler/lib/Demangler-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Docking/lib/timingframework-1.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Docking/lib/javahelp-2.0.05.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Docking/lib/Docking.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Docking/lib/Docking-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/baksmali-1.4.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/dex-reader-2.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/util-1.4.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/dex-ir-2.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/sevenzipjbinding-all-platforms-9.20-2.00beta.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/dexlib-1.4.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/dex-translator-2.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/sevenzipjbinding-9.20-2.00beta.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/FileFormats.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/FileFormats-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/AXMLPrinter2.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/asm-debug-all-4.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FileFormats/lib/dex-reader-api-2.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/FileSystem/lib/FileSystem.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/FileSystem/lib/FileSystem-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/FileSystem/lib/ganymed-ssh2-262.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FunctionGraph/lib/FunctionGraph.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FunctionGraph/lib/FunctionGraph-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FunctionGraphDecompilerExtension/lib/FunctionGraphDecompilerExtension.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FunctionGraphDecompilerExtension/lib/FunctionGraphDecompilerExtension-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FunctionID/lib/FunctionID.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/FunctionID/lib/FunctionID-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/commons-collections4-4.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/commons-io-2.6.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/commons-lang3-3.9.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/log4j-api-2.12.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/guava-19.0.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/Generic.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/Generic-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/cglib-nodep-2.2.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/log4j-core-2.12.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Generic/lib/jdom-legacy-1.1.3.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/GhidraServer/lib/GhidraServer.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/GhidraServer/lib/GhidraServer-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/GnuDemangler/lib/GnuDemangler.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/GnuDemangler/lib/GnuDemangler-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Graph/lib/jung-api-2.1.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Graph/lib/jung-graph-impl-2.1.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Graph/lib/Graph.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Graph/lib/Graph-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Graph/lib/jung-visualization-2.1.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Graph/lib/jung-algorithms-2.1.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/GraphFunctionCalls/lib/GraphFunctionCalls.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/GraphFunctionCalls/lib/GraphFunctionCalls-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/HCS12/lib/HCS12.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/HCS12/lib/HCS12-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Help/lib/Help.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Help/lib/Help-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/JVM/lib/JVM.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/JVM/lib/JVM-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/MIPS/lib/MIPS.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/MIPS/lib/MIPS-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/MicrosoftCodeAnalyzer/lib/MicrosoftCodeAnalyzer.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/MicrosoftCodeAnalyzer/lib/MicrosoftCodeAnalyzer-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/MicrosoftDemangler/lib/MicrosoftDemangler.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/MicrosoftDemangler/lib/MicrosoftDemangler-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/MicrosoftDmang/lib/MicrosoftDmang.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/MicrosoftDmang/lib/MicrosoftDmang-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/PDB/lib/PDB.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/PDB/lib/PDB-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/PIC/lib/PIC.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/PIC/lib/PIC-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/PowerPC/lib/PowerPC.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/PowerPC/lib/PowerPC-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/ProgramDiff/lib/ProgramDiff.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/ProgramDiff/lib/ProgramDiff-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Project/lib/commons-compress-1.19.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Project/lib/Project.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Project/lib/Project-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Configurations/Public_Release/lib/Public_Release.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Python/lib/Python.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Python/lib/Python-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Python/lib/jython-standalone-2.7.1.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/RISCV/lib/RISCV.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/RISCV/lib/RISCV-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Recognizers/lib/Recognizers.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/Recognizers/lib/Recognizers-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/antlr-3.5.2.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/isorelax-20050913.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/antlr-runtime-3.5.2.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/xsdlib-20050913.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/msv-20050913.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/relaxngDatatype-20050913.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/SourceCodeLookup/lib/SourceCodeLookup.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/SourceCodeLookup/lib/SourceCodeLookup-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/Sparc/lib/Sparc.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/Sparc/lib/Sparc-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/SuperH4/lib/SuperH4.jar">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Utility/lib/Utility.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Framework/Utility/lib/Utility-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/VersionTracking/lib/VersionTracking.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Features/VersionTracking/lib/VersionTracking-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Extensions/ghidra-emotionengine/lib/ghidra-emotionengine.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Extensions/ghidra-emotionengine/lib/ghidra-emotionengine-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/tricore/lib/tricore.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/tricore/lib/tricore-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/x86/lib/x86.jar" sourcepath="/home/govanify/Documents/projects/programming/hacking/tools/ghidra/Ghidra/Processors/x86/lib/x86-src.zip">
<attributes>
<attribute name="javadoc_location" value="jar:file:/home/govanify/Documents/projects/programming/hacking/tools/ghidra/docs/GhidraAPI_javadoc.zip!/api/"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>

+ 2
- 0
.gitignore View File

@ -10,3 +10,5 @@
*.zip
*.kate-swp
bin/*
build/*
dist/*

BIN
.gradle/5.0/fileHashes/fileHashes.bin View File


BIN
.gradle/5.0/fileHashes/fileHashes.lock View File


BIN
.gradle/5.0/fileHashes/resourceHashesCache.bin View File


BIN
.gradle/5.0/javaCompile/classAnalysis.bin View File


BIN
.gradle/5.0/javaCompile/jarAnalysis.bin View File


BIN
.gradle/5.0/javaCompile/javaCompile.lock View File


BIN
.gradle/5.0/javaCompile/taskHistory.bin View File


BIN
.gradle/5.0/taskHistory/taskHistory.bin View File


BIN
.gradle/5.0/taskHistory/taskHistory.lock View File


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock View File


BIN
.gradle/buildOutputCleanup/outputFiles.bin View File


+ 24
- 0
.project View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ghidra_kh2ai</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>Ghidra</name>
<type>2</type>
<location>/home/govanify/Documents/projects/programming/hacking/tools/ghidra</location>
</link>
</linkedResources>
</projectDescription>

+ 47
- 0
.settings/org.eclipse.jdt.core.prefs View File

@ -0,0 +1,47 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=11

BIN
data/manuals/.swo View File


+ 1
- 0
ghidra_scripts/README.txt View File

@ -0,0 +1 @@
Java source directory to hold module-specific Ghidra scripts.

import_kh2ai.py → ghidra_scripts/import_kh2ai.py View File


+ 80
- 10
src/main/java/ghidra_kh2ai/ghidra_kh2aiLoader.java View File

@ -22,17 +22,32 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.util.*;
import ghidra.app.util.MemoryBlockUtils;
import ghidra.app.util.Option;
import ghidra.app.util.bin.BinaryReader;
import ghidra.app.util.bin.ByteProvider;
import ghidra.app.util.importer.MessageLog;
import ghidra.app.util.opinion.AbstractLibrarySupportLoader;
import ghidra.app.util.opinion.LoadSpec;
import ghidra.app.util.opinion.QueryResult;
import ghidra.framework.model.DomainObject;
import ghidra.program.model.listing.Data;
import ghidra.program.model.listing.Listing;
import ghidra.program.model.listing.Program;
import ghidra.program.model.util.CodeUnitInsertionException;
import ghidra.util.Msg;
import ghidra.util.exception.CancelledException;
import ghidra.util.task.TaskMonitor;
import ghidra.program.model.data.Structure;
import ghidra.program.model.data.StructureDataType;
import ghidra.program.database.mem.FileBytes;
import ghidra.program.model.address.Address;
import ghidra.program.model.address.AddressOverflowException;
import ghidra.program.model.data.DataType;
import ghidra.program.model.data.DataTypeConflictException;
import ghidra.program.model.data.DataUtilities;
import ghidra.program.model.lang.LanguageCompilerSpecPair;
import ghidra.program.model.data.DataUtilities.ClearDataMode;
/**
* TODO: Provide class-level documentation that describes what this loader does.
@ -41,10 +56,6 @@ public class ghidra_kh2aiLoader extends AbstractLibrarySupportLoader {
@Override
public String getName() {
// TODO: Name the loader. This name must match the name of the loader in the .opinion
// files.
return "KH2 AI";
}
@ -54,32 +65,91 @@ public class ghidra_kh2aiLoader extends AbstractLibrarySupportLoader {
ByteBuffer buf = ByteBuffer.wrap(barr);
try {
decoder.decode(buf);
String head = decoder.decode(buf).toString();
// only lowercase, underscore and numbers. hopefully this will throw less false negatives
boolean kh = head.matches("[a-z0-9_].*");
if (kh) { return true; }
}
catch(CharacterCodingException e){
return false;
}
return true;
return false;
}
public Data createData(Program program, Address address, Listing listing, DataType dt) {
try {
Data d = listing.getDataAt(address);
if (d == null || !dt.isEquivalent(d.getDataType())) {
d = DataUtilities.createData(program, address, dt, -1, false,
ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
}
return d;
}
catch (CodeUnitInsertionException e) {
Msg.warn(this, "ELF data markup conflict at " + address);
}
catch (DataTypeConflictException e) {
Msg.error(this, "ELF data type markup conflict:" + e.getMessage());
}
return null;
}
@Override
public Collection<LoadSpec> findSupportedLoadSpecs(ByteProvider provider) throws IOException {
List<LoadSpec> loadSpecs = new ArrayList<>();
// TODO: have a better check than this
if (checkUTF8(provider.readBytes(0,0x10)) == true) {
if (checkUTF8(provider.readBytes(0,0x10)) & !checkUTF8(provider.readBytes(0x10,0x20))) {
loadSpecs.add(new LoadSpec(this, 0,
new LanguageCompilerSpecPair("kh2_ai:le:32:default", "default"), true));
}
return loadSpecs;
}
public boolean checkZero(byte[] arr) {
for (byte b : arr) {
if (b != 0) {
return false;
}
}
return true;
}
@Override
protected void load(ByteProvider provider, LoadSpec loadSpec, List<Option> options,
Program program, TaskMonitor monitor, MessageLog log)
throws CancelledException, IOException {
Structure struct = new StructureDataType("header_item", 0);
struct.add(ghidra.app.util.bin.StructConverter.STRING, 0x10, "filename", null);
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "unk1", null);
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "unk2", null);
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "unk3", null);
int off = 0;
while (1==1) {
byte[] first = provider.readBytes(0x1c+(off*8), 0x4);
byte[] second = provider.readBytes(0x1c+4+(off*8), 0x4);
if(checkZero(first) && checkZero(second)){
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "end_trigger", null);
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "end_entry", null);
break;
}
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "trigger"+(off+1), null);
struct.add(ghidra.app.util.bin.StructConverter.DWORD, 4, "entry"+(off+1), null);
off++;
}
MemoryBlockUtils mbu = new MemoryBlockUtils();
Address start = program.getAddressFactory().getDefaultAddressSpace().getAddress(0);
BinaryReader reader = new BinaryReader( provider, true );
FileBytes fileBytes = MemoryBlockUtils.createFileBytes(program, provider, TaskMonitor.DUMMY);
try {
MemoryBlockUtils.createInitializedBlock(program, false, "ram", start, fileBytes, 0, provider.length(), "", "KH2AI Header", true, true, true, log);
} catch (AddressOverflowException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
createData(program, start, program.getListing(), struct);
// TODO: Load the bytes from 'provider' into the 'program'.
}


+ 0
- 2
src/main/resources/images/README.txt View File

@ -1,2 +0,0 @@
The "src/resources/images" directory is intended to hold all image/icon files used by
this module.

+ 0
- 2
src/test/java/README.test.txt View File

@ -1,2 +0,0 @@
The "test" directory is intended to hold unit test cases. The package structure within
this folder should correspond to that found in the "src" folder.

Loading…
Cancel
Save