Commit graph

107 commits

Author SHA1 Message Date
ghidra007
e2b60a52f9 GP-5461 updated RecoverClassesFromRTTI script to correctly handle case
where some vftable addresses have more than one valid vftable symbol.
2025-03-07 21:33:16 +00:00
ghidra007
1b6254547c GP-5389 added check in vmi structure creation so numBases is valid 2025-02-18 21:41:38 +00:00
Ryan Kurtz
57df41297f Merge remote-tracking branch 'origin/patch' 2024-12-06 11:45:38 -05:00
ghidra007
8892384b71 GP-5146 fixed rttiUtil issue resulting from previous pdb anon fix. Main fix was to remove incorrect pdb secondary symbols causing rtti script to blow up. Also updated to remove known functions from other class possible const/dest lists. Also updated to remove ticks from pdb rtti instead of just removing the symbols and recreating. This fixed the missing _forParent symbols so also updated script to handle for parent case now that it is getting them. 2024-12-06 15:59:20 +00:00
Ryan Kurtz
2bebb96f77 Merge branch 'GP-0_ryanmkurtz_PR-7225_hippietrail_the-the' 2024-11-26 09:05:43 -05:00
hippietrail
13598df8db many doubled words in comments etc, plus some nearby typos 2024-11-26 13:18:05 +07:00
chuangjinglu
149e03c847 chore: remove redundant word in comment
Signed-off-by: chuangjinglu <chuangjinglu@outlook.com>
2024-11-25 11:16:20 +08:00
Ryan Kurtz
f8dc74b43e Merge remote-tracking branch 'origin/patch' 2024-10-31 06:03:45 -04:00
ghidra007
c4132d02d8 GP-5079 added null check to parentOffsetMap 2024-10-30 17:36:36 +00:00
Ryan Kurtz
24cdf2d01e GP-0: Certify 2024-10-28 13:40:52 -04:00
hippietrail
d28b139933 correct decendant/decendent/descendent in identifiers, errors, and comments 2024-10-28 23:48:28 +07:00
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
Ryan Kurtz
d87add933e Merge remote-tracking branch 'origin/GP-4863_ghidra007_PR-6834_epinter_RTTI_Script_cache_vfunctions' 2024-08-23 11:50:04 -04:00
ghidra007
07d2c34b3f GP-4862 fixed gcc dupe namespace creation mechanism. 2024-08-21 16:57:21 +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
Ryan Kurtz
2760eebc92 Merge remote-tracking branch 'origin/patch' 2024-07-17 13:27:11 -04:00
ghidra007
c2bf8d0464 GP-4763 Added check that ClassHierarchyDescriptor symbols are not in Global namespace. If they are skip processing it and the associated class. 2024-07-17 16:44:40 +00:00
ghidra007
02aba11104 GP-4708 updated createStructure to fix logic error. 2024-06-24 23:11:26 +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
Ryan Kurtz
fef0b92cad Merge remote-tracking branch 'origin/GP-4396_ghidra007_RTTI_gcc_handle_copy_relocations_nonMangledClassNames' 2024-04-05 08:55:56 -04:00
ghidra007
b04d5335ca GP-4376 Updated gcc class recovery to allow for special typeinfos that
are not in program memory or external block. Also updated to add a check
for unhandled relocations. Also updated to allow for non-mangled
typeinfo-name strings.
2024-04-04 16:46:02 +00:00
Ryan Kurtz
4360104a9e Merge remote-tracking branch 'origin/patch'
Conflicts:
	Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java
2024-04-04 08:29:23 -04:00
ghidra007
cd780a7b63 GP-4459 put back parentList check 2024-04-03 18:25:23 +00:00
ghidra1
624a3c4e9e GP-4408 Refactor of FillOutStructureCmd. Added FillOutStructureHelper and additional DecompilerUtils methods. 2024-04-03 09:53:53 -04:00
ghidra007
f0f2ffc97e GP-4459 fixed review notes 2024-04-01 20:14:57 +00:00
Ryan Kurtz
740f8251ae GP-4459 removed unnecessary restrictive check which was causing a later
null exception. Also, added null check in later place.
2024-03-26 18:31:21 +00:00
Ryan Kurtz
6cd4fd80f7 Merge remote-tracking branch 'origin/GP-3868_ghidra007_RTTIscript_FixExtFuncAddressLabelError' into Ghidra_10.4 2023-09-22 14:04:58 -04:00
ghidra007
81ad8d3043 GP-3868 rtti script - added code to skip external function editing 2023-09-22 17:52:35 +00:00
ghidra007
cb410f732c GP-3861 added exceptions if missing expected windows rtti info 2023-09-22 16:35:41 +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
84705bb8fb GP-3674 updated RTTI script to work in headless mode. 2023-07-31 18:55:59 +00:00
ghidragon
04fa097f58 GP-3667 Cleaning up weird behavior of GraphDisplayOptions to register options when given a tool 2023-07-25 12:26:07 -04:00
Ryan Kurtz
6b2bd61588 Merge remote-tracking branch 'origin/GP-3463_ghidra007_rtti_script_improve_find_internal_vtables--SQUASHED' into patch 2023-06-09 11:14:46 -04:00
ghidra007
0f66077ce2 GP-3463 RecoverClassesFromRTTIScript - improved finding of special vtables to account for ones in memory blocks that do not contain real bytes. 2023-06-09 15:09:00 +00:00
ghidra007
ec8d9f018b GP-3841 rtti script - fixed increment issue caused when fixing
incrementer
2023-06-06 22:34:57 +00:00
ghidra007
4c7be8be0d GP-3481 added missing incrementer causing infinite loop in some cases 2023-06-05 17:15:47 +00:00
Ryan Kurtz
ea5b5e4c28 Merge remote-tracking branch 'origin/GP-3481_ghidra007_' into patch 2023-06-01 06:10:12 -04:00
ghidra007
ecade19183 GP-3467 rtti script fixed issue clearing/creating mangled typeinfo-name mangled string of correct length. Was breaking when more than one existing dt in string range because was only clearing first one. 2023-05-31 18:01:55 +00:00
ghidra007
81ba94a3b8 GP-3481 Fixed incorrect checks of getData and getDataContaining in rtti script and replaced api versions with non-api versions and updated checks to work with new way. 2023-05-31 15:54:12 +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