Commit graph

135 commits

Author SHA1 Message Date
ghidra007
fd8fcebe09 GP-4371 Added check to RecoverClassesFromRTTIScript to not run when there are unhandled relocations. 2024-03-04 18:23:46 +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
Ryan Kurtz
5184648bf8 Merge remote-tracking branch
'origin/GP-3752_James_graph_ast_script_and_fixup' (Closes #5657)
2023-08-23 13:05:55 -04:00
ghidra007
45eb6eb187 GP-3747 PR-5644 reworked updateFunctionDefinition part of PR. 2023-08-21 19:47:55 +00:00
James
3a43696001 GP-3752 added callfixup in x86win.cspec and updated GraphASTScript 2023-08-17 20:56:53 +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
ghidra1
f8ec071906 Merge remote-tracking branch 'origin/patch' 2023-07-10 19:54:55 -04:00
emteere
b02101298f GP-5 Fixed WindowsResource Analyzer wasting time decompiling functions
that have previously failed to decompile due to timeout
2023-07-10 20:40:57 +00:00
Ryan Kurtz
f3ebcf679b Merge remote-tracking branch 'origin/patch' 2023-06-09 11:19:29 -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
Ryan Kurtz
cc48928827 Merge remote-tracking branch 'origin/patch' 2023-06-07 05:50:55 -04:00
ghidra007
ec8d9f018b GP-3841 rtti script - fixed increment issue caused when fixing
incrementer
2023-06-06 22:34:57 +00:00
Ryan Kurtz
00d56d5afd Merge remote-tracking branch 'origin/patch' 2023-06-05 13:50:11 -04:00
ghidra007
4c7be8be0d GP-3481 added missing incrementer causing infinite loop in some cases 2023-06-05 17:15:47 +00:00
Ryan Kurtz
d91a60f201 Merge remote-tracking branch 'origin/patch' 2023-06-01 06:17:13 -04: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
Ryan Kurtz
3e9419d4d7 Merge remote-tracking branch
'origin/GP-3503_emteere_PR-5242_befoulad_show-constuse-multeq'
(Closes #5242)
2023-05-26 16:41:31 -04:00
emteere
b97b3ec5d5 GP-3503 Minor cleanup 2023-05-26 19:37:58 +00:00
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
Behrang Fouladi
d4c7f37fc4 remove annotation & clone() 2023-04-21 10:18:04 +02: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
Behrang Fouladi
3ca0ed52ed process all input varnodes of multiequal pcodeop 2023-04-20 16:17:06 +02: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