Commit graph

106 commits

Author SHA1 Message Date
ghidra007
02b4a86df0 GP-0 removed debug lines 2023-05-09 19:34:55 +00:00
ghidra1
0b884e5bd8 Merge remote-tracking branch 'origin/GP-3406_ghidra007_add_mingw_not_fix_check_to_RTTI_script--SQUASHED' into Ghidra_10.3 2023-05-09 13:42:54 -04:00
ghidra007
8aa5ac7c47 GP-3406 RTTI script - added check that mingw analyzer fixed relocations correctly. 2023-05-09 13:41:26 -04:00
ghidra007
8580baddc3 GP-3417 fixed case where si vtable was not getting created bc too many refs. Added secondary check. Added check for same num special vtable and typeinfos. 2023-05-08 21:11:53 +00:00
Ryan Kurtz
7fa3389119 GP-2974: Fixing warnings 2023-05-01 07:23:48 -04:00
ghidra007
1d14222f37 GP-2679 Gcc class recovery improvements. Created classes for Vtable,
Typeinfo, etc. Reworked vtable, const vtable and vtt discovery. Now
works for static gcc and for mingw/cygwin programs.
2023-04-30 22:02:37 +00:00
ghidra1
19c1e8ae5b GP-3235 improved auto-assignment of VOID storage to void return type for
function
2023-04-26 12:19:26 -04:00
ghidra1
2cdaebf0c3 Merge branch 'GP-2308_1633_ghidra1_FunctionDefinitionCallingConventions'
(Closes #4537, Closes #4898, Closes #3723, Closes #3267)
2023-04-20 15:41:45 -04:00
ghidra1
a4776892bd GP-1633/GP-2308 Added ProgramArchitecture to datatype managers.
Refactored ProjectDataTypeManager to extend StandaloneDataTypeManager.
Added actions to datatype tree to allow setting archive architecture.
Added use of storage translators when switching architectures.  Allow
FunctionDefinition to accept arbitrary calling convention
names and many other misc changes.
2023-04-20 14:01:39 -04:00
Ryan Kurtz
687691f5c5 GP-3293: Fixing compilation issue 2023-04-14 15:11:33 -04:00
ghidra007
d8cdcfb068 GP-3293 - Added RTTI Analyzer option to the program information called 'RTTI Found' and use it to determine whether to rerun and also when deciding whether to run the RTTI script. 2023-04-14 18:57:55 +00:00
Ryan Kurtz
87cc8c2993 Merge branch
'GP-3120_ryanmkurtz_PR-4748_johanngan_switch-override-conditional'
(Closes #4747, Closes #4748)
2023-02-22 07:56:00 -05:00
ghidra1
552eb9dd61 GP-232 correct use of EXTERNAL block string 2022-12-22 14:38:02 -05:00
James
7ab05db386 GP-2697 addressing code review comments 2022-11-22 20:34:06 +00:00
James
dbd2098a59 GP-2697 added script to find problematic stack writes 2022-11-22 15:17:31 +00:00
dragonmacher
2dade60b3e GP-1981 - Theming - Decompiler Module 2022-11-15 14:53:40 -05:00
johanngan
680a7640cd Handle conditional computed jumps in SwitchOverride.java
SwitchOverride.java is one of the recommended ways to fix switch
statements in the decompiler when there are too many branches
(GhidraDocs/GhidraClass/Advanced/improvingDisassemblyAndDecompilation)

Currently the indirect jump is only allowed to be an unconditional
computed jump (or a call). However, compilers can sometimes implement
switch statements using conditional indirect jumps (via conditional
loads, conditional adds, etc.) if the target architecture supports them
(e.g., ARM). In this case, SwitchOverride.java will fail because the
instruction flow type will be RefType.CONDITIONAL_COMPUTED_JUMP rather
than the expected RefType.COMPUTED_JUMP, even though both should be
equally acceptable.
2022-11-13 20:22:02 -06:00
ghidra1
d729dd19ca GP-2820 corrected getPossibleCalledDestructors NPE 2022-11-10 13:34:58 -05:00
ghidra007
c4f4208f63 GP-1921 corrected analysisMode usage in recover class script 2022-10-13 14:54:30 +00:00
ghidra007
02db970aee GP-2075 Updated RecoverClassesFromRTTI script to fixup generic deleting destructor names into vector and scalar ones for windows programs and split into two functions when necessary. 2022-06-08 20:22:32 +00:00
ghidra007
d8396e7592 GP-1996 - code refactor to make op new and delete discovery more generic. 2022-05-26 22:12:07 +00:00
ghidra007
5d8574f9f4 GP-1962 Prevent RecoverClassFromRTTIScript from running more than once
on same program.
2022-05-18 13:19:33 -04:00
ghidra007
37f87c4874 GP-2010 updated to use preferred root class folder and removed code that
replaced other class structs
2022-05-13 22:47:22 +00:00
ghidra007
ba7b5a2dd3 GP-1947 updated class recovery script to handle shifted pointers. 2022-04-29 13:17:50 +00:00
ghidra007
b026a5f53a GP-1660 updated ApplyFunctionDef script to get selected func defs from
dtman.
2022-04-22 17:23:46 +00:00
ghidra1
526fcfe2c5 Merge remote-tracking branch 'origin/GP-1925_ghidra007_make_ddtests_not_rely_on_script_package--SQUASHED' 2022-04-15 18:12:56 -04:00
ghidra007
bf8a32a355 GP-1925 added test script to find deleting destructors and news to be called by deleting destructor tests 2022-04-15 18:12:28 -04:00
ghidra1
8f0589a6d8 GP-1403 Improved support for auto-named typedefs. Updated create
typedef action from pointer to use auto-naming.  Replaced old
ImageBaseOffsetDataType 32/64-bit BuiltIn types with new pointer-typedef
based implementations. Improved settings modification
restrictions.  Resolved various bugs.
2022-04-15 13:12:40 -04:00
ghidra007
22d4c2069b GP-1581 Recover classes script deleting destructor and clone discovery improvements. 2022-04-14 19:28:49 +00:00
dragonmacher
812ea4fe1e GP-1556 - Added support for searching for structure fields by offset 2022-03-25 09:43:50 -04:00
Ryan Kurtz
042030b8fd Merge remote-tracking branch 'origin/patch'
Conflicts:
	Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/DebuggerObjectsProvider.java
2022-03-19 01:28:52 -04:00
Ryan Kurtz
8315e6a77b Merge remote-tracking branch 'origin/GP-1832_ghidra007_improve_isGcc--SQUASHED' into patch 2022-03-19 01:01:10 -04:00
ghidra007
1ae9218eba GP-1832 improved isGcc checks in RecoverClassesFromRTTI script. 2022-03-18 13:39:41 +00:00
Ryan Kurtz
d4160bd88c Merge remote-tracking branch 'origin/patch' 2022-03-16 13:20:23 -04:00
Ryan Kurtz
0f3d24ebcc Merge remote-tracking branch 'origin/GP-1720_ghidra007_Remove_Extraneous_Make_thiscalls--SQUASHED' into patch 2022-03-16 13:02:46 -04:00
ghidra007
66c8333230 GP-1720 Moved creation of class thiscalls to after removal of non-constructors to remove the small number of incorrect thiscalls created by the RecoverClassesFromRTTI script. 2022-03-16 14:17:14 +00:00
Ryan Kurtz
a9ae964def Merge remote-tracking branch 'origin/patch' 2022-03-15 16:11:15 -04:00
ghidra007
387b307402 GP-1781 Fixed two replace in structure bugs in RecoverClassesFromRTTI script. 2022-03-15 14:23:50 +00:00
Ryan Kurtz
e267c8b8ae Merge remote-tracking branch 'origin/GP-1704_move_graphAST_script_to_tool_action--SQUASHED' 2022-02-22 23:39:12 -05:00
ghidravore
467133de3e Moving 'AST Graph' from scripting to an action in the decompiler window so that options are persistent. Also renamed it to 'Graph Data Flow'. Renamed existing graph action to 'Graph Control Flow'. 2022-02-22 14:26:01 -05:00
ghidra1
f2706bb1de Merge remote-tracking branch
'origin/GP-1670_ghidra007_RecoveredClass_ReplaceInStructureBug--SQUASHED'
into patch

Conflicts:
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIGccClassRecoverer.java
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassHelper.java
2022-01-24 17:07:32 -05:00
ghidra007
87d6ff4db3 GP-1670 Fixed bug in a class recovery helper class that in some cases was causing an exception when trying to replace a component in a structure. 2022-01-24 21:34:12 +00:00
ghidra1
c56961f06b Merge remote-tracking branch 'origin/GP-1601_ghidra007_ApplyClassFunctionDef_fixPureVirtualCase--SQUASHED' into patch 2022-01-24 16:20:29 -05:00
ghidra007
eeee6c1ba4 GP-1601 Fixed the ApplyClassFunctionDefinitionUpdatesScript and the ApplyClassFunctionSignatureUpdatesScript and related methods in RecoveredClassHelper to work with new 10.1 function definition changes. 2022-01-24 21:02:03 +00:00
ghidra007
19ace220cf GP-1686 updated gcc class recovery to only allow typeinfo structs in non-executable blocks. 2022-01-21 18:15:45 +00:00
ghidra1
c0a81f9c8e Merge remote-tracking branch 'origin/GP-1671_ghidra007_RecoveredClass_FixSetLabel_InvalidChars' into patch 2022-01-14 19:19:52 -05:00
ghidra007
34efbc5f1c GP-1671 fixed space typo in createShortenedTemplateNames causing
symbol.setName stack trace.
2022-01-12 17:11:43 +00:00
ghidra007
0c1c7d1acf GP-1663 The RecoverClassesForRTTIScript was updated to improve function definition creation for the multi-inheritance and single virtual inheritance cases. 2022-01-11 18:51:06 +00:00
ghidra007
9567e2f1ea GP-1506 Refactored to put new class structure code in RecoverClassHelper then added calls to it in gcc create structure code. Plus some code refactoring and cleanup. 2021-12-03 23:06:53 +00:00
ghidra1
659892a810 Merge remote-tracking branch
'origin/GP-1519_ghirdra007_RecoverClass_replaceGetComponentA--SQUASHED'
into Ghidra_10.1

Conflicts:
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/ExtraScriptUtils.java
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIGccClassRecoverer.java
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java
2021-11-29 22:35:26 -05:00