mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-04-25 17:25:17 +02:00
Merge remote-tracking branch 'origin/patch'
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@@ -231,7 +231,7 @@ public class PcodeParserTest extends AbstractGhidraHeadlessIntegrationTest {
|
||||
|
||||
assertEquals(vec[1].getOpcode(), PcodeOp.INT_EQUAL);
|
||||
assertTrue(
|
||||
testVarnode(vec[1].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x80, 1));
|
||||
testVarnode(vec[1].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x100, 1));
|
||||
assertEquals(vec[1].getInput().length, 2);
|
||||
assertTrue(testVarnode(vec[1].getInput()[0], "register", 0, 2));
|
||||
assertTrue(testVarnode(vec[1].getInput()[1], SpaceNames.CONSTANT_SPACE_NAME, 0, 2));
|
||||
@@ -241,18 +241,18 @@ public class PcodeParserTest extends AbstractGhidraHeadlessIntegrationTest {
|
||||
assertEquals(vec[2].getInput().length, 2);
|
||||
assertTrue(testInstNext(vec[2].getInput()[0]));
|
||||
assertTrue(
|
||||
testVarnode(vec[2].getInput()[1], SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x80, 1));
|
||||
testVarnode(vec[2].getInput()[1], SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x100, 1));
|
||||
|
||||
// inst_next2
|
||||
assertEquals(vec[3].getOpcode(), PcodeOp.COPY);
|
||||
assertTrue(
|
||||
testVarnode(vec[3].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x100, 1));
|
||||
testVarnode(vec[3].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x200, 1));
|
||||
assertEquals(vec[3].getInput().length, 1);
|
||||
assertTrue(testInstNext2Constant(vec[3].getInput()[0], 1));
|
||||
|
||||
assertEquals(vec[4].getOpcode(), PcodeOp.INT_EQUAL);
|
||||
assertTrue(
|
||||
testVarnode(vec[4].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x180, 1));
|
||||
testVarnode(vec[4].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x300, 1));
|
||||
assertEquals(vec[4].getInput().length, 2);
|
||||
assertTrue(testVarnode(vec[4].getInput()[0], "register", 0xc, 2));
|
||||
assertTrue(testVarnode(vec[4].getInput()[1], SpaceNames.CONSTANT_SPACE_NAME, 0, 2));
|
||||
@@ -262,7 +262,7 @@ public class PcodeParserTest extends AbstractGhidraHeadlessIntegrationTest {
|
||||
assertEquals(vec[5].getInput().length, 2);
|
||||
assertTrue(testInstNext2(vec[5].getInput()[0]));
|
||||
assertTrue(
|
||||
testVarnode(vec[5].getInput()[1], SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x180, 1));
|
||||
testVarnode(vec[5].getInput()[1], SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x300, 1));
|
||||
|
||||
// call
|
||||
assertEquals(vec[6].getOpcode(), PcodeOp.CALLIND);
|
||||
@@ -272,7 +272,7 @@ public class PcodeParserTest extends AbstractGhidraHeadlessIntegrationTest {
|
||||
|
||||
assertEquals(vec[7].getOpcode(), PcodeOp.INT_NOTEQUAL);
|
||||
assertTrue(
|
||||
testVarnode(vec[7].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x200, 1));
|
||||
testVarnode(vec[7].getOutput(), SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x400, 1));
|
||||
assertEquals(vec[7].getInput().length, 2);
|
||||
assertTrue(testVarnode(vec[7].getInput()[0], "register", 0xc, 2));
|
||||
assertTrue(testVarnode(vec[7].getInput()[1], SpaceNames.CONSTANT_SPACE_NAME, 1, 2));
|
||||
@@ -282,7 +282,7 @@ public class PcodeParserTest extends AbstractGhidraHeadlessIntegrationTest {
|
||||
assertEquals(vec[8].getInput().length, 2);
|
||||
assertTrue(testRelative(vec[8].getInput()[0], 0, 4));
|
||||
assertTrue(
|
||||
testVarnode(vec[8].getInput()[1], SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x200, 1));
|
||||
testVarnode(vec[8].getInput()[1], SpaceNames.UNIQUE_SPACE_NAME, uniqueBase + 0x400, 1));
|
||||
|
||||
assertEquals(vec[9].getOpcode(), PcodeOp.COPY);
|
||||
assertTrue(testVarnode(vec[9].getOutput(), "register", 4, 2));
|
||||
|
||||
@@ -56,7 +56,7 @@ a specific need.
|
||||
* [Adoptium Temurin](https://adoptium.net/temurin/releases)
|
||||
* [Amazon Corretto](https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html)
|
||||
* Python3 (3.9 to 3.13)
|
||||
* Python 3.7 to 3.13 for [Debugger support](#debugger-notes)
|
||||
* Python 3.9 to 3.13 for [Debugger support](#debugger-notes)
|
||||
* Python 3.9 to 3.13 for [PyGhidra support](#pyghidra-mode)
|
||||
* This is available from [Python.org](https://python.org) or most operating system's app stores or
|
||||
software repositories. For Linux it is recommended that the system's package repository be used
|
||||
@@ -161,17 +161,17 @@ __NOTE:__ Do not extract Ghidra on top of an existing installation.
|
||||
environment variable in order for Ghidra to use the `JAVA_HOME_OVERRIDE` property.
|
||||
|
||||
### Debugger Notes
|
||||
The Debugger now uses Python to connect to the host platform's native debuggers. This requires
|
||||
The Debugger uses Python to connect to the host platform's native debuggers. This requires
|
||||
a [supported](#minimum-requirements) version of Python and some additional packages. These packages
|
||||
are included in the distribution, but you may still install them from PyPI if you prefer:
|
||||
* psutil
|
||||
* protobuf>=3.20.3
|
||||
* Pybag>=2.2.12 (for WinDbg support)
|
||||
* Pybag>=2.2.16 (for WinDbg support)
|
||||
|
||||
Different native debuggers have varying requirements, so you do not necessarily have to install all
|
||||
of the above packages. Each connector will inform you of its specific requirements and where they
|
||||
must be installed. In some cases, you may need to install packages on the target system.
|
||||
For more information, see `<GhidraInstallDir>/docs/GhidraClass/Debugger/A1=GettingStarted.html`
|
||||
For more information, see `<GhidraInstallDir>/docs/GhidraClass/Debugger/A1-GettingStarted.html`
|
||||
|
||||
## Ghidra Installation Directory Layout
|
||||
When Ghidra is installed, the runnable software gets extracted to a new directory we will refer
|
||||
|
||||
Reference in New Issue
Block a user