Commit graph

752 commits

Author SHA1 Message Date
ghidra007
1ae9218eba GP-1832 improved isGcc checks in RecoverClassesFromRTTI script. 2022-03-18 13:39:41 +00:00
Ryan Kurtz
06e3580fdd Merge remote-tracking branch 'origin/GP-1792_CallfixupProtoOverride'
into patch (Closes #3319)
2022-03-09 00:42:50 -05:00
Ryan Kurtz
d03a6423d3 Merge remote-tracking branch
'origin/GP-1793-dragonmacher-decompiler-structure-field-hover--SQUASHED'
into patch (Closes #3920)
2022-03-09 00:38:51 -05:00
dragonmacher
c4054de5db GP-1793 - Updated the decompiler hover for structure fields to show the parent name and the offset in the parent 2022-03-08 17:22:19 -05:00
caheckman
6aefaa106d GP-1792 Prevent proto override from cancelling a callfixup 2022-03-03 19:14:43 -05:00
dragonmacher
68b7f88063 GP-1765 - Fixed sometimes incorrect Find Dialog result highlighting 2022-03-03 18:42:23 -05:00
caheckman
102ce52243 Allow DebugDecompilerAction to run even if decompiler produces no output 2022-02-04 13:13:57 -05:00
dragonmacher
871389897b GP-1721 - Decompiler - Fixed the Find dialog to not use the entire comment line when activated on a comment 2022-02-02 17:08:05 -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
ghidra1
4ba431c1bd Merge remote-tracking branch 'origin/GP-1687_emteere_switchrecoverybug' into patch 2022-01-24 12:21:50 -05:00
ghidra1
62a23e87da Merge remote-tracking branch 'origin/GP-1686_ghidra007_limit_gcc_typeinfo_structs_to_nonexe_mem--SQUASHED' into patch 2022-01-21 19:23:30 -05:00
emteere
961a9e7b75 GP-1687_emteere fix for CSEL AARCH64 instruction causing switches not to
recover
2022-01-21 21:47:26 +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
dragonmacher
f0d0dd532d GP-1685 - Fixed the Find Dialog incorrectly matching history entries
when the selected item was programmatically set
2022-01-20 17:35:15 -05:00
ghidra1
c0a81f9c8e Merge remote-tracking branch 'origin/GP-1671_ghidra007_RecoveredClass_FixSetLabel_InvalidChars' into patch 2022-01-14 19:19:52 -05:00
ghidra1
e90babdc78 Merge remote-tracking branch 'origin/GP-1659_SwitchWithInject' into patch 2022-01-14 19:18:37 -05:00
ghidra007
34efbc5f1c GP-1671 fixed space typo in createShortenedTemplateNames causing
symbol.setName stack trace.
2022-01-12 17:11:43 +00:00
ghidra1
bfd55195bb Merge remote-tracking branch 'origin/GP-1663_ghidra-007_FixFunctionDefinitionCreationForMultiInheritanceCases--SQUASHED' into patch 2022-01-11 16:58:57 -05: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
dragonmacher
15e267b606 GP-1654 - Decompiler - Fixed retype field to not rename the field
Closes #3783
2022-01-07 13:01:40 -05:00
caheckman
4234f1dc0b Do p-code injection prior to jumptable recovery 2022-01-06 18:09:54 -05: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
f290b1f6ba Merge remote-tracking branch 'origin/GP-1552_TypePointerRelParent' into Ghidra_10.1 2021-11-30 19:50:26 -05:00
caheckman
64534bc774 TypePointerRel adjustments 2021-11-30 19:05:04 -05: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
ghidra007
2aefe6a15d GP-1519 Changed getComponentAt to getComponentContaining in a breaking EditStructureUtils method and a couple other places. Various refactoring to clean up code. 2021-11-30 01:38:13 +00:00
ghidra1
b2e4e25147 Merge remote-tracking branch 'origin/GP-1499_ghidra007_ClassRecovery_code_cleanup--SQUASHED' into Ghidra_10.1 2021-11-29 10:32:50 -05:00
ghidra007
80538d8c49 GP-1499 Recover classes script various improvements. Updated checks for whether program has DWARF and whether DWARF has been applied so it works for old and new cases.
Improved error handling. Updated deprecated graph methods which were no longer using defined colors. Various code cleanup.
2021-11-25 19:02:53 +00:00
ghidra1
db393faca4 Merge remote-tracking branch 'origin/GP-1498_FunctionDefinitionMarshaling' into Ghidra_10.1 2021-11-18 15:09:23 -05:00
caheckman
e4451fcd49 Refactor TypeStruct and TypeCode restoration 2021-11-17 15:56:56 -05:00
ghidra1
835a2492a2 GP-0 allow decompiler to build for x86 with older compiler (e.g., g++
4.8.5)
2021-11-16 17:59:49 -05:00
ghidra1
331357f203 Merge remote-tracking branch
'origin/GP-1495_ghidra007_Add_check_for_error_decompiling_functions--SQUASHED'
into Ghidra_10.1
2021-11-16 11:58:18 -05:00
ghidra007
e2257ce96a GP-1495 added check for error decompiling function and put bad bookmarks if it happens. 2021-11-16 11:48:08 -05:00
caheckman
0ff0036121 Recalculate pointer submeta after structure definition is complete 2021-11-15 21:19:58 -05:00
ghidra1
f22e05af3f Merge remote-tracking branch
'origin/GP-1315_add_option_to_remove_replaced_class_structures--SQUASHED'
into Ghidra_10.1 (Closes #3443)
2021-11-10 16:40:22 -05:00
ghidra1
c8b143e551 Merge remote-tracking branch 'origin/GP-1464_ghidra007_ReplacePdbClassDataTypesInClassMethods--SQUASHED' into Ghidra_10.1 2021-11-10 16:34:03 -05:00
ghidra007
8610e23ae0 GP-1315 Added options to allow removal of replaced class structure data types when replaced with ones created by RecoverClassesFromRTTIScript. 2021-11-10 20:01:05 +00:00
ghidra007
0766c30048 GP-1464 RecoverClassesFromRTTIScript now consistently applies its class structures in programs that have PDB information applied. Also, an option was added so users can decide whether to replace existing class data in thiscall functions regardless of whether they originated as PDB or not. 2021-11-10 19:59:21 +00:00
ghidra1
040a431bc5 Merge remote-tracking branch 'origin/GP-1430-dragonmacher-symbol-table-set-namespace--SQUASHED' 2021-11-09 20:15:51 -05:00
dragonmacher
2b83cdbb86 GP-1430 - Updated the Symbol Table to support using '::' to set namespace 2021-11-09 17:11:00 -05:00
Ryan Kurtz
6792beee6a Merge remote-tracking branch 'origin/GP-1458_ghidra007_label_multi_parent_class_vftables--SQUASHED' 2021-11-09 10:24:58 -05:00
Ryan Kurtz
463f73caf8 Merge remote-tracking branch
'origin/GP-1311_ghidra007_remove_this_from_func_sigs_make_better_purevirt_sigs--SQUASHED'

(Closes #3417)

Conflicts:
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassUtils.java
2021-11-09 10:20:52 -05:00
ghidra007
a4349ba443 GP-1311 In RecoverClassesFromRTTIScript support, removed the 'this *' from vfunction definitions to enable generic class assignment and allowed purecall vfunction pointer to be replaced with pointers to correct class vfunction definition. 2021-11-09 15:02:03 +00:00
ghidra007
eb10067c0a GP-1458 Updated RecoverClassesFromRTTI to label multi parent vftables with parent name in Windows programs. 2021-11-09 14:58:34 +00:00
Ryan Kurtz
c9a3e3db27 Merge remote-tracking branch 'origin/GP-1408_ghidra007_splitVftablePtrsAndDataInChildClassStructs--SQUASHED' 2021-11-09 09:58:31 -05:00
ghidra007
a8e39d58c4 GP-1408 Changed inheriting class structures to contain individual base class structure components instead of whole structures. This allows correct class vftable and vbtable pointers to be used instead of base class ones. This makes structures messier but makes decompiler usage correct. Also updated methods that update virtual functions. 2021-11-09 14:56:19 +00:00
caheckman
cce187a4c5 Decompiler support for offset/relative pointers 2021-11-08 11:51:03 -05:00