mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 01:39:21 +02:00
GP-0: Bumping master to 12.0
This commit is contained in:
parent
53552616ec
commit
413949b64a
16 changed files with 45 additions and 45 deletions
|
@ -73,7 +73,7 @@ public class TraceRmiHandler extends AbstractTraceRmiConnection {
|
|||
* NOTE: This can't just be Application.getApplicationVersion(), because the Python client only
|
||||
* specifies up to the minor, not patch, release.
|
||||
*/
|
||||
public static final String VERSION = "11.5";
|
||||
public static final String VERSION = "12.0";
|
||||
|
||||
protected static class VersionMismatchError extends TraceRmiError {
|
||||
public VersionMismatchError(String remote) {
|
||||
|
|
|
@ -48,7 +48,7 @@ from .util import send_delimited, recv_delimited
|
|||
# Other places to change:
|
||||
# * every pyproject.toml file (incl. deps)
|
||||
# * TraceRmiHandler.VERSION
|
||||
VERSION = '11.5'
|
||||
VERSION = '12.0'
|
||||
|
||||
|
||||
E = TypeVar('E')
|
||||
|
|
|
@ -67,7 +67,7 @@ public interface TraceBreakpointLocation extends TraceBreakpointCommon {
|
|||
* @param snap the snap
|
||||
* @return the (possibly empty) set of affected threads
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "11.5")
|
||||
@Deprecated(forRemoval = true, since = "12.0")
|
||||
Set<TraceThread> getThreads(long snap);
|
||||
|
||||
/**
|
||||
|
|
|
@ -204,7 +204,7 @@ public abstract class GhidraScript extends FlatProgramAPI {
|
|||
* @deprecated Use {@link #set(GhidraState)} or {@link #set(GhidraState, ScriptControls)}
|
||||
* instead
|
||||
*/
|
||||
@Deprecated(since = "11.5")
|
||||
@Deprecated(since = "12.0")
|
||||
public final void set(GhidraState state, TaskMonitor monitor, PrintWriter writer) {
|
||||
set(state, new ScriptControls(writer, writer, monitor));
|
||||
}
|
||||
|
@ -267,7 +267,7 @@ public abstract class GhidraScript extends FlatProgramAPI {
|
|||
* @deprecated Use {@link #execute(GhidraState, ScriptControls)} instead to also set a
|
||||
* {@link PrintWriter} for {@code stderr}
|
||||
*/
|
||||
@Deprecated(since = "11.5")
|
||||
@Deprecated(since = "12.0")
|
||||
public final void execute(GhidraState runState, TaskMonitor runMonitor, PrintWriter runWriter)
|
||||
throws Exception {
|
||||
execute(runState, new ScriptControls(runWriter, runWriter, runMonitor));
|
||||
|
@ -1003,7 +1003,7 @@ public abstract class GhidraScript extends FlatProgramAPI {
|
|||
* @return a demangled version of the mangled string, or null if it could not be demangled
|
||||
* @deprecated Use {@link DemanglerUtil#demangle(Program, String, Address)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5")
|
||||
@Deprecated(since = "12.0")
|
||||
public String getDemangled(String mangled) {
|
||||
List<DemangledObject> demangledObjs = DemanglerUtil.demangle(currentProgram, mangled, null);
|
||||
if (!demangledObjs.isEmpty()) {
|
||||
|
|
|
@ -57,7 +57,7 @@ public interface DataTypeQueryService {
|
|||
* @deprecated use {@link #promptForDataType(String)}
|
||||
*/
|
||||
@SuppressWarnings("javadoc")
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public DataType getDataType(String filterText);
|
||||
|
||||
/**
|
||||
|
|
|
@ -227,7 +227,7 @@ public class XReferenceUtils {
|
|||
* ProgramLocation, Supplier)}. That method takes a supplier that can regenerate the current
|
||||
* xrefs for the table.
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static void showXrefs(Navigatable navigatable, ServiceProvider serviceProvider,
|
||||
TableService service, ProgramLocation location, Collection<Reference> xrefs) {
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ import ghidra.util.task.TaskMonitor;
|
|||
*
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public final class AutoImporter {
|
||||
private AutoImporter() {
|
||||
// service class; cannot instantiate
|
||||
|
@ -79,7 +79,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingBestGuess(File file, Project project,
|
||||
String projectFolderPath, Object consumer, MessageLog messageLog, TaskMonitor monitor)
|
||||
throws IOException, CancelledException, DuplicateNameException, InvalidNameException,
|
||||
|
@ -129,7 +129,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingBestGuess(FSRL fsrl, Project project,
|
||||
String projectFolderPath, Object consumer, MessageLog messageLog, TaskMonitor monitor)
|
||||
throws IOException, CancelledException, DuplicateNameException, InvalidNameException,
|
||||
|
@ -179,7 +179,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingBestGuess(ByteProvider provider,
|
||||
Project project, String projectFolderPath, Object consumer, MessageLog messageLog,
|
||||
TaskMonitor monitor) throws IOException, CancelledException, DuplicateNameException,
|
||||
|
@ -230,7 +230,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingSpecificLoaderClass(File file,
|
||||
Project project, String projectFolderPath, Class<? extends Loader> loaderClass,
|
||||
List<Pair<String, String>> loaderArgs, Object consumer, MessageLog messageLog,
|
||||
|
@ -284,7 +284,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingSpecificLoaderClass(FSRL fsrl, Project project,
|
||||
String projectFolderPath, Class<? extends Loader> loaderClass,
|
||||
List<Pair<String, String>> loaderArgs, Object consumer, MessageLog messageLog,
|
||||
|
@ -339,7 +339,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByLookingForLcs(File file, Project project,
|
||||
String projectFolderPath, Language language, CompilerSpec compilerSpec, Object consumer,
|
||||
MessageLog messageLog, TaskMonitor monitor) throws IOException, CancelledException,
|
||||
|
@ -393,7 +393,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByLookingForLcs(FSRL fsrl, Project project,
|
||||
String projectFolderPath, Language language, CompilerSpec compilerSpec, Object consumer,
|
||||
MessageLog messageLog, TaskMonitor monitor) throws IOException, CancelledException,
|
||||
|
@ -448,7 +448,7 @@ public final class AutoImporter {
|
|||
* failed language upgrade
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingSpecificLoaderClassAndLcs(File file,
|
||||
Project project, String projectFolderPath, Class<? extends Loader> loaderClass,
|
||||
List<Pair<String, String>> loaderArgs, Language language, CompilerSpec compilerSpec,
|
||||
|
@ -506,7 +506,7 @@ public final class AutoImporter {
|
|||
* failed language upgrade
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importByUsingSpecificLoaderClassAndLcs(FSRL fsrl,
|
||||
Project project, String projectFolderPath, Class<? extends Loader> loaderClass,
|
||||
List<Pair<String, String>> loaderArgs, Language language, CompilerSpec compilerSpec,
|
||||
|
@ -562,7 +562,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static Loaded<Program> importAsBinary(File file, Project project,
|
||||
String projectFolderPath, Language language, CompilerSpec compilerSpec, Object consumer,
|
||||
MessageLog messageLog, TaskMonitor monitor) throws IOException, CancelledException,
|
||||
|
@ -618,7 +618,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static Loaded<Program> importAsBinary(ByteProvider bytes, Project project,
|
||||
String projectFolderPath, Language language, CompilerSpec compilerSpec,
|
||||
Object consumer, MessageLog messageLog, TaskMonitor monitor) throws IOException,
|
||||
|
@ -680,7 +680,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importFresh(File file, Project project,
|
||||
String projectFolderPath, Object consumer, MessageLog messageLog, TaskMonitor monitor,
|
||||
Predicate<Loader> loaderFilter, LoadSpecChooser loadSpecChooser,
|
||||
|
@ -743,7 +743,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importFresh(FSRL fsrl, Project project,
|
||||
String projectFolderPath, Object consumer, MessageLog messageLog, TaskMonitor monitor,
|
||||
Predicate<Loader> loaderFilter, LoadSpecChooser loadSpecChooser,
|
||||
|
@ -806,7 +806,7 @@ public final class AutoImporter {
|
|||
* @throws LoadException if nothing was loaded
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public static LoadResults<Program> importFresh(ByteProvider provider, Project project,
|
||||
String projectFolderPath, Object consumer, MessageLog messageLog, TaskMonitor monitor,
|
||||
Predicate<Loader> loaderFilter, LoadSpecChooser loadSpecChooser,
|
||||
|
|
|
@ -28,7 +28,7 @@ import ghidra.util.Msg;
|
|||
*
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaderArgs(List)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public class LoaderArgsOptionChooser implements OptionChooser {
|
||||
|
||||
private List<Pair<String, String>> loaderArgs;
|
||||
|
@ -39,7 +39,7 @@ public class LoaderArgsOptionChooser implements OptionChooser {
|
|||
* @param loaderArgs The {@link Loader} arguments
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaderArgs(List)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public LoaderArgsOptionChooser(List<Pair<String, String>> loaderArgs) {
|
||||
this.loaderArgs = loaderArgs;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ import ghidra.program.model.address.AddressFactory;
|
|||
*
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaderArgs(List)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
@FunctionalInterface
|
||||
public interface OptionChooser {
|
||||
public static final OptionChooser DEFAULT_OPTIONS = (choices, addressFactory) -> choices;
|
||||
|
@ -40,7 +40,7 @@ public interface OptionChooser {
|
|||
* @return The {@link List} of {@link Loader} options to use
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaderArgs(List)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
List<Option> choose(List<Option> optionChoices, AddressFactory addressFactory);
|
||||
|
||||
/**
|
||||
|
@ -50,7 +50,7 @@ public interface OptionChooser {
|
|||
* @throws UnsupportedOperationException if a subclass has not implemented this method
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaderArgs(List)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public default List<Pair<String, String>> getArgs() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
|
|
@ -447,7 +447,7 @@ public class ProgramLoader {
|
|||
* @deprecated Use {@link #load()} instead
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
LoadResults<Program> load(Object consumer) throws IOException, LanguageNotFoundException,
|
||||
CancelledException, VersionException, LoadException {
|
||||
try (ByteProvider p = getSourceAsProvider()) {
|
||||
|
|
|
@ -24,7 +24,7 @@ import ghidra.app.util.opinion.Loader;
|
|||
*
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaders(Class)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public class SingleLoaderFilter implements Predicate<Loader> {
|
||||
private final Class<? extends Loader> single;
|
||||
|
||||
|
@ -34,7 +34,7 @@ public class SingleLoaderFilter implements Predicate<Loader> {
|
|||
* @param single The loader class used for this filter.
|
||||
* @deprecated Use {@link ProgramLoader.Builder#loaders(Class)} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public SingleLoaderFilter(Class<? extends Loader> single) {
|
||||
this.single = single;
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ public class LoadResults<T extends DomainObject> implements Iterable<Loaded<T>>,
|
|||
* this class, instead use {@link #getPrimaryDomainObject(Object)} and independently clean up
|
||||
* the new reference with a separate call to {@link DomainObject#release(Object)}.
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public T getPrimaryDomainObject() {
|
||||
return loadedList.get(0).getDomainObject();
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ public class LoadResults<T extends DomainObject> implements Iterable<Loaded<T>>,
|
|||
* @param consumer the consumer
|
||||
* @deprecated Use {@link #close()} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public void release(Object consumer) {
|
||||
loadedList.forEach(loaded -> loaded.release(consumer));
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ public class LoadResults<T extends DomainObject> implements Iterable<Loaded<T>>,
|
|||
* release
|
||||
* @deprecated Use {@link #close()} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public void release(Object consumer, Predicate<? super Loaded<T>> filter) {
|
||||
loadedList.stream().filter(filter).forEach(loaded -> loaded.release(consumer));
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ public class LoadResults<T extends DomainObject> implements Iterable<Loaded<T>>,
|
|||
* @deprecated Use {@link #getNonPrimary()} and {@link Loaded#close()} on the {@link List}
|
||||
* elements instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public void releaseNonPrimary(Object consumer) {
|
||||
for (int i = 0; i < loadedList.size(); i++) {
|
||||
if (i > 0) {
|
||||
|
|
|
@ -101,7 +101,7 @@ public class Loaded<T extends DomainObject> implements AutoCloseable {
|
|||
* class, instead use {@link #getDomainObject(Object)} and independently clean up the new
|
||||
* reference with a separate call to {@link DomainObject#release(Object)}.
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public T getDomainObject() {
|
||||
return domainObject;
|
||||
}
|
||||
|
@ -267,7 +267,7 @@ public class Loaded<T extends DomainObject> implements AutoCloseable {
|
|||
* @param consumer the consumer
|
||||
* @deprecated Use {@link #close()} instead
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public void release(Object consumer) {
|
||||
if (!domainObject.isClosed() && domainObject.isUsedBy(consumer)) {
|
||||
domainObject.release(consumer);
|
||||
|
|
|
@ -613,7 +613,7 @@ public class GhidraProject {
|
|||
* @throws LoadException if there was a problem loading
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public Program importProgram(File file, Language language, CompilerSpec compilerSpec)
|
||||
throws CancelledException, VersionException, LanguageNotFoundException, LoadException,
|
||||
IOException {
|
||||
|
@ -649,7 +649,7 @@ public class GhidraProject {
|
|||
* @throws LoadException if there was a problem loading
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public Program importProgram(File file, Processor processor) throws CancelledException,
|
||||
VersionException, LanguageNotFoundException, LoadException, IOException {
|
||||
LanguageService svc = DefaultLanguageService.getLanguageService();
|
||||
|
@ -676,7 +676,7 @@ public class GhidraProject {
|
|||
* @throws LoadException if there was a problem loading
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public Program importProgram(File file, Class<? extends Loader> loaderClass)
|
||||
throws CancelledException, VersionException, LanguageNotFoundException, LoadException,
|
||||
IOException {
|
||||
|
@ -713,7 +713,7 @@ public class GhidraProject {
|
|||
* @throws LoadException if there was a problem loading
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public Program importProgram(File file, Class<? extends Loader> loaderClass, Language language,
|
||||
CompilerSpec compilerSpec) throws CancelledException, VersionException,
|
||||
LanguageNotFoundException, LoadException, IOException {
|
||||
|
@ -748,7 +748,7 @@ public class GhidraProject {
|
|||
* @throws LoadException if there was a problem loading
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public Program importProgram(File file) throws CancelledException, VersionException,
|
||||
LanguageNotFoundException, LoadException, IOException {
|
||||
try (LoadResults<Program> loadResults = ProgramLoader.builder()
|
||||
|
@ -779,7 +779,7 @@ public class GhidraProject {
|
|||
* @throws LoadException if there was a problem loading
|
||||
* @deprecated Use {@link ProgramLoader}
|
||||
*/
|
||||
@Deprecated(since = "11.5", forRemoval = true)
|
||||
@Deprecated(since = "12.0", forRemoval = true)
|
||||
public Program importProgramFast(File file) throws CancelledException, VersionException,
|
||||
LanguageNotFoundException, LoadException, IOException {
|
||||
return importProgram(file);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
application.name=Ghidra
|
||||
application.version=11.5
|
||||
application.version=12.0
|
||||
application.release.name=DEV
|
||||
application.layout.version=3
|
||||
application.gradle.min=8.5
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Getting Started with Ghidra
|
||||
The information provided in this document is effective as of Ghidra 11.4 and is subject to change
|
||||
The information provided in this document is effective as of Ghidra 12.0 and is subject to change
|
||||
with future releases.
|
||||
|
||||
## Table of Contents
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue