Commit graph

33 commits

Author SHA1 Message Date
ghidra007
6db5e3017e GP-4932 fixed code unit insertion issue 2024-09-16 17:47:31 +00:00
ghidra007
150fe43efd GP-4865/PR-6833 added missing javadoc, minor format improvement 2024-09-11 19:31:12 +00:00
Emerson Pinter
527cee1b76 fix: stop recursion if function was already processed
Fixes issue #6832
2024-09-11 16:15:49 +00:00
ghidra007
c3e618a2bb GP-4904 added method to fixup purecall defs 2024-09-09 18:38:49 +00:00
ghidra007
7825f8fd4d GP-4872 update to all add function to namespaces methods to commit the function so as to not overwrite decomipler when making other changes via listing. Also added check for existing equivalent listing constructor return type before setting it to class structure pointer. 2024-08-30 14:47:36 +00:00
Emerson Pinter
cab8ed6068 feat: cache vfunctions list
The vfunctions are collected and compared in two loops against all the
recoveredClasses, this takes time if the binary have many classes. This
commit makes the vfunctions list and the vftable address to be stored
in a map, making the vfunctions list and create happen only once.
2024-08-19 23:13:23 -03:00
ghidra007
12fcbe63bc GP-4812 update vfunctions to use void* this instead of formal signature 2024-08-02 20:39:03 +00:00
ghidra007
f657b11c1d GP-4748 Updated RttiUtil's find end of vftable to be more accurate. 2024-07-19 21:48:15 +00:00
caheckman
184c657cfd GP-4708 Adjustments to RecoverClassesFromRTTIScript and
FillOutStructureHelper
2024-06-24 23:11:26 +00:00
ghidra007
78425f441d GP-4586 corrected and simplified method to generate class description to
fix order of parents.
2024-05-08 22:39:41 +00:00
ghidra1
624a3c4e9e GP-4408 Refactor of FillOutStructureCmd. Added FillOutStructureHelper and additional DecompilerUtils methods. 2024-04-03 09:53:53 -04:00
ghidra007
81ad8d3043 GP-3868 rtti script - added code to skip external function editing 2023-09-22 17:52:35 +00:00
ghidra007
4076cb9ec9 GP-3777 added code to RTTI script to update any class functions not already using new class struct to use it. 2023-08-30 16:22:54 +00:00
ghidra007
5709ca80d3 GP-3464 Improved gcc rtti script class struct recovery to better use dwarf info, split out parent struct in class struct, fix align issue keeping data from being created correctly, better id and name vftables in multi-inheritance case, clean up of exceptions, start of improved modeling vftables. 2023-08-29 23:07:18 +00:00
ghidra007
45eb6eb187 GP-3747 PR-5644 reworked updateFunctionDefinition part of PR. 2023-08-21 19:47:55 +00:00
saruman9
152b6349b0
fix(rtti): fix some problems in ApplyClassFunctionSignatureUpdatesScript.java
Don't create List from null, check the fact that the Symbol of `vftable` is not null, change the signature of a function in any case.
2023-08-07 13:22:44 +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
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
ghidra1
d729dd19ca GP-2820 corrected getPossibleCalledDestructors NPE 2022-11-10 13:34:58 -05: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
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
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
ghidra007
387b307402 GP-1781 Fixed two replace in structure bugs in RecoverClassesFromRTTI script. 2022-03-15 14:23:50 +00: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
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
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
Renamed from Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassUtils.java (Browse further)