Commit graph

69 commits

Author SHA1 Message Date
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
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
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
ghidravore
a8da2b761a GP-1073 updating uses of getSymbols(address) to be more efficient where possible 2021-10-06 16:59:58 -04:00
ghidra1
877b168224 GP-943 Corrected RecoverClassesFromRTTIScriptTest4 test failure 2021-09-27 01:22:51 -04:00
ghidra1
27892f659a GP-943 Resurected and revised Structure.getComponentAt method. Also
revised behavior of Structure.getComponentContaining.  Both will now
ignore zero-length components.
2021-09-26 19:11:34 -04:00
ghidra1
cfdec26da4 GP-943 Added support for zero-length arrays and
zero-length components.  NOTE: We still never return 0 for
DataType.getLength().  Added DataType.isZeroLength().
2021-09-24 16:29:29 -04:00
ghidra007
6d5f30f448 GP-1055 Improvements to prototype RecoverClassesFromRTTIScript for stripped gcc binaries including improved finding and creating of virtual tables, some constructor/destructor determination, and improved class data creation. 2021-07-30 18:50:08 -04:00
ghidra1
357500306e Merge remote-tracking branch 'origin/GP-1095_ghidra007_GraphRecoveredClassesImprovements--SQUASHED' into patch 2021-07-06 19:08:22 -04:00
ghidra007
90c517fcf9 GP-1095 Fixed duplicate name graph issues in RecoverClassesFromRTTIScript and GraphClassesScript. Fixed class name parsing flaws in GraphClassesScript. 2021-07-06 18:56:18 -04:00
ghidra007
b8e8c094a1 GP-1101 Added missing isPDBLoaded flag assignment to the RTTIWindowsClassRecoverer which was inadvertently left out during refactoring. 2021-07-06 14:35:02 -04:00
ghidra007
020df708e2 GP-1044 Fixed promotion of namespaces to only verified classes and added creation of typeinfo structs in stripped gcc binaries 2021-06-16 14:59:01 -04:00
ghidra007
e1953ebb22 GP-972 Improvements to Gcc RTTI Class Recovery 2021-06-10 14:19:33 -04:00
ghidra007
b6a5ce659b GP-973 Added ApplyClassFunctionSignatureUpdatesScript and ApplyClassFunctionDefinitionUpdatesScript fix-up scripts for when users update RecoveredClass virtual function signatures or definitions. 2021-06-09 17:08:44 -04:00
ghidra007
224f15b20a GP-971 Moved ClassRecovery class files to subpackage so they would not appear in script manager window. 2021-05-19 14:24:59 -04:00