From 43675121b0408d0d2aa21d40257bdf8e8718f716 Mon Sep 17 00:00:00 2001 From: ghidra1 Date: Fri, 21 Oct 2022 13:02:33 -0400 Subject: [PATCH] GP-1 script cleanup --- .../developer_scripts/DumpCalls.java | 58 --------------- .../developer_scripts/DumpFunctionStarts.java | 47 ------------ .../ExampleTribuoRunner.java | 74 ------------------- 3 files changed, 179 deletions(-) delete mode 100644 Ghidra/Extensions/MachineLearning/developer_scripts/DumpCalls.java delete mode 100644 Ghidra/Extensions/MachineLearning/developer_scripts/DumpFunctionStarts.java delete mode 100644 Ghidra/Extensions/MachineLearning/developer_scripts/ExampleTribuoRunner.java diff --git a/Ghidra/Extensions/MachineLearning/developer_scripts/DumpCalls.java b/Ghidra/Extensions/MachineLearning/developer_scripts/DumpCalls.java deleted file mode 100644 index a589914918..0000000000 --- a/Ghidra/Extensions/MachineLearning/developer_scripts/DumpCalls.java +++ /dev/null @@ -1,58 +0,0 @@ -/* ### - * IP: GHIDRA - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -//Writes a list of the addresses of all call sites to a file. -//@category machineLearning - -import java.io.*; - -import ghidra.app.script.GhidraScript; -import ghidra.program.model.listing.*; -import ghidra.program.model.pcode.PcodeOp; - -public class DumpCalls extends GhidraScript { - - private static final String DATA_DIR = "/local/calls"; - - @Override - protected void run() throws Exception { - File outFile = new File(DATA_DIR + File.separator + currentProgram.getName() + "_calls"); - FileWriter fWriter = new FileWriter(outFile); - BufferedWriter bWriter = new BufferedWriter(fWriter); - InstructionIterator fIter = currentProgram.getListing().getInstructions(true); - int numCalls = 0; - int numInstructions = 0; - while (fIter.hasNext()) { - Instruction inst = fIter.next(); - if (inst.getPcode() == null || inst.getPcode().length == 0) { - continue; - } - numInstructions++; - for (int i = 0; i < inst.getPcode().length; i++) { - PcodeOp pCode = inst.getPcode()[i]; - int opCode = pCode.getOpcode(); - if (opCode == PcodeOp.CALL || opCode == PcodeOp.CALLIND) { - //printf("Inst: %s at %s\n", inst.toString(), inst.getAddress()); - numCalls++; - bWriter.write(inst.getAddress().toString() + "\n"); - } - } - } - printf("total num calls: %d\n", numCalls); - printf("total num instructions: %d\n", numInstructions); - bWriter.close(); - } - -} diff --git a/Ghidra/Extensions/MachineLearning/developer_scripts/DumpFunctionStarts.java b/Ghidra/Extensions/MachineLearning/developer_scripts/DumpFunctionStarts.java deleted file mode 100644 index db733e6beb..0000000000 --- a/Ghidra/Extensions/MachineLearning/developer_scripts/DumpFunctionStarts.java +++ /dev/null @@ -1,47 +0,0 @@ -/* ### - * IP: GHIDRA - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -//Writes a list of the addresses of all function starts and their sizes to a file -//@category machineLearning - -import java.io.*; - -import ghidra.app.script.GhidraScript; -import ghidra.program.model.listing.Function; -import ghidra.program.model.listing.FunctionIterator; - -public class DumpFunctionStarts extends GhidraScript { - - private static final String DATA_DIR = "/local/funcstarts/stripped"; - - @Override - protected void run() throws Exception { - File outFile = - new File(DATA_DIR + File.separator + currentProgram.getName() + "_stripped_funcs"); - FileWriter fWriter = new FileWriter(outFile); - BufferedWriter bWriter = new BufferedWriter(fWriter); - FunctionIterator fIter = currentProgram.getFunctionManager().getFunctions(true); - while (fIter.hasNext()) { - Function func = fIter.next(); - if (func.isExternal()) { - continue; - } - long size = func.getBody().getNumAddresses(); - bWriter.write(func.getEntryPoint().toString() + "," + size + "\n"); - } - bWriter.close(); - } - -} diff --git a/Ghidra/Extensions/MachineLearning/developer_scripts/ExampleTribuoRunner.java b/Ghidra/Extensions/MachineLearning/developer_scripts/ExampleTribuoRunner.java deleted file mode 100644 index e2bca66cd6..0000000000 --- a/Ghidra/Extensions/MachineLearning/developer_scripts/ExampleTribuoRunner.java +++ /dev/null @@ -1,74 +0,0 @@ -/* ### - * IP: GHIDRA - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import java.io.IOException; -import java.nio.file.Paths; - -import org.tribuo.*; -import org.tribuo.classification.Label; -import org.tribuo.classification.LabelFactory; -import org.tribuo.classification.dtree.CARTClassificationTrainer; -import org.tribuo.classification.ensemble.VotingCombiner; -import org.tribuo.classification.evaluation.LabelEvaluation; -import org.tribuo.classification.evaluation.LabelEvaluator; -import org.tribuo.common.tree.RandomForestTrainer; -import org.tribuo.data.csv.CSVLoader; -import org.tribuo.ensemble.EnsembleModel; -import org.tribuo.evaluation.TrainTestSplitter; - -public class ExampleTribuoRunner { - - public static void main(String args[]) throws IOException { - - var irisHeaders = - new String[] { "sepalLength", "sepalWidth", "petalLength", "petalWidth", "species" }; - DataSource