mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 17:59:46 +02:00
Merge remote-tracking branch
'origin/GP-990-dragonmacher-script-header-parsing--SQUASHED' into Ghidra_10.0
This commit is contained in:
commit
a94630a330
4 changed files with 37 additions and 17 deletions
|
@ -81,6 +81,9 @@ public abstract class GhidraScriptProvider
|
|||
* @param sourceFile the source file
|
||||
* @param writer the print writer to write warning/error messages
|
||||
* @return a GhidraScript instance for the specified source file
|
||||
* @throws ClassNotFoundException if the script class cannot be found
|
||||
* @throws InstantiationException if the construction of the script fails for some reason
|
||||
* @throws IllegalAccessException if the class constructor is not accessible
|
||||
*/
|
||||
public abstract GhidraScript getScriptInstance(ResourceFile sourceFile, PrintWriter writer)
|
||||
throws ClassNotFoundException, InstantiationException, IllegalAccessException;
|
||||
|
@ -168,8 +171,7 @@ public abstract class GhidraScriptProvider
|
|||
}
|
||||
|
||||
/**
|
||||
* Return the start of certification header line if this file type is
|
||||
* subject to certification.
|
||||
* Return the start of certification header line if this file type is subject to certification.
|
||||
* @return start of certification header or null if not supported
|
||||
*/
|
||||
protected String getCertifyHeaderStart() {
|
||||
|
@ -177,21 +179,19 @@ public abstract class GhidraScriptProvider
|
|||
}
|
||||
|
||||
/**
|
||||
* Return the prefix for each certification header bofy line if
|
||||
* this file is subject to certification
|
||||
* @return certification heaber body prefix or null if not supported
|
||||
* Return the prefix for each certification header body line if this file is subject to
|
||||
* certification.
|
||||
* @return certification header body prefix or null if not supported
|
||||
*/
|
||||
protected String getCertificationBodyPrefix() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the end of certification header line if this file type is
|
||||
* subject to certification.
|
||||
* Return the end of certification header line if this file type is subject to certification.
|
||||
* @return end of certification header or null if not supported
|
||||
*/
|
||||
protected String getCertifyHeaderEnd() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -198,6 +198,11 @@ public class JavaScriptProvider extends GhidraScriptProvider {
|
|||
return "*/";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getCertificationBodyPrefix() {
|
||||
return "*";
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Fix script name for search in script directories, such as Java package parts in the name and inner class names.
|
||||
|
|
|
@ -61,6 +61,21 @@ public class PythonScriptProvider extends GhidraScriptProvider {
|
|||
return "#";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getCertifyHeaderStart() {
|
||||
return "## ###";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getCertificationBodyPrefix() {
|
||||
return "#";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getCertifyHeaderEnd() {
|
||||
return "##";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Python";
|
||||
|
|
|
@ -137,15 +137,15 @@ public class PythonScriptInfoTest extends AbstractGhidraHeadedIntegrationTest {
|
|||
try {
|
||||
//@formatter:off
|
||||
scriptFile = createTempPyScriptFileWithLines(
|
||||
"## ###" +
|
||||
"# IP: GHIDRA" +
|
||||
"# " +
|
||||
"# Some license text..." +
|
||||
"# you may not use this file except in compliance with the License." +
|
||||
"# " +
|
||||
"# blah blah blah" +
|
||||
"##" +
|
||||
"" +
|
||||
"## ###",
|
||||
"# IP: GHIDRA",
|
||||
"# ",
|
||||
"# Some license text...",
|
||||
"# you may not use this file except in compliance with the License.",
|
||||
"# ",
|
||||
"# blah blah blah",
|
||||
"##",
|
||||
"",
|
||||
"'''",
|
||||
"This is a test block comment. It will be ignored.",
|
||||
"@category NotTheRealCategory",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue