include changes from fix_indexing_into_arrays

This commit is contained in:
kkots 2024-10-02 09:40:08 +03:00
parent 64af870c02
commit 337d81fd9b
19 changed files with 443 additions and 0 deletions

View File

@ -0,0 +1,77 @@
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\action.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\action.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\address.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\address.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\architecture.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\architecture.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\block.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\block.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\blockaction.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\blockaction.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\capability.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\capability.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\cast.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\cast.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\comment.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\comment.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\comment_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\comment_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\condexe.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\condexe.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\constseq.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\constseq.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\coreaction.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\coreaction.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\cover.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\cover.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\cpool.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\cpool.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\cpool_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\cpool_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\crc32.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\crc32.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\database.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\database.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\database_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\database_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\double.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\double.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\dynamic.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\dynamic.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\emulate.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\emulate.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\emulateutil.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\emulateutil.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\float.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\float.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\flow.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\flow.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\fspec.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\fspec.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\funcdata.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\funcdata.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\funcdata_block.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\funcdata_block.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\funcdata_op.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\funcdata_op.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\funcdata_varnode.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\funcdata_varnode.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\ghidra_arch.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\ghidra_arch.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\ghidra_context.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\ghidra_context.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\ghidra_process.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\ghidra_process.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\ghidra_translate.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\ghidra_translate.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\globalcontext.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\globalcontext.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\graph.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\graph.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\heritage.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\heritage.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\inject_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\inject_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\jumptable.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\jumptable.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\loadimage.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\loadimage.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\loadimage_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\loadimage_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\marshal.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\marshal.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\memstate.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\memstate.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\merge.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\merge.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\modelrules.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\modelrules.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\multiprecision.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\multiprecision.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\op.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\op.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\opbehavior.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\opbehavior.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\opcodes.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\opcodes.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\options.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\options.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\override.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\override.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\paramid.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\paramid.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\pcodeinject.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\pcodeinject.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\pcoderaw.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\pcoderaw.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\prefersplit.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\prefersplit.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\prettyprint.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\prettyprint.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\printc.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\printc.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\printjava.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\printjava.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\printlanguage.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\printlanguage.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\rangeutil.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\rangeutil.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\ruleaction.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\ruleaction.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\signature.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\signature.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\signature_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\signature_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\space.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\space.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\stringmanage.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\stringmanage.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\string_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\string_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\subflow.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\subflow.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\transform.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\transform.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\translate.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\translate.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\type.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\type.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\typegrp_ghidra.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\typegrp_ghidra.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\typeop.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\typeop.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\unionresolve.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\unionresolve.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\userop.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\userop.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\variable.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\variable.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\varmap.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\varmap.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\varnode.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\varnode.obj
D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\src\decompile\cpp\xml.cc;D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\Ghidra D.f8fb6e02\x64\Debug\xml.obj

View File

@ -0,0 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.41.34120:TargetPlatformVersion=10.0.22621.0:
Debug|x64|D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\|

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>D:\Downloads\ghidrafork\ghidra\Ghidra\Features\Decompiler\Ghidra Decompiler New\x64\Debug\Ghidra Decompiler New.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>

View File

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.35027.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ghidra Decompiler New", "Ghidra Decompiler New.vcxproj", "{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Debug|x64.ActiveCfg = Debug|x64
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Debug|x64.Build.0 = Debug|x64
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Debug|x86.ActiveCfg = Debug|Win32
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Debug|x86.Build.0 = Debug|Win32
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Release|x64.ActiveCfg = Release|x64
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Release|x64.Build.0 = Release|x64
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Release|x86.ActiveCfg = Release|Win32
{F8FB6E02-1ABF-45E2-A7D9-2A5FF53B3670}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D6B7F69D-46D1-4B33-90F2-245CC3981FE9}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,290 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\decompile\cpp\action.cc" />
<ClCompile Include="..\src\decompile\cpp\address.cc" />
<ClCompile Include="..\src\decompile\cpp\architecture.cc" />
<ClCompile Include="..\src\decompile\cpp\block.cc" />
<ClCompile Include="..\src\decompile\cpp\blockaction.cc" />
<ClCompile Include="..\src\decompile\cpp\capability.cc" />
<ClCompile Include="..\src\decompile\cpp\cast.cc" />
<ClCompile Include="..\src\decompile\cpp\comment.cc" />
<ClCompile Include="..\src\decompile\cpp\comment_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\condexe.cc" />
<ClCompile Include="..\src\decompile\cpp\constseq.cc" />
<ClCompile Include="..\src\decompile\cpp\coreaction.cc" />
<ClCompile Include="..\src\decompile\cpp\cover.cc" />
<ClCompile Include="..\src\decompile\cpp\cpool.cc" />
<ClCompile Include="..\src\decompile\cpp\cpool_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\crc32.cc" />
<ClCompile Include="..\src\decompile\cpp\database.cc" />
<ClCompile Include="..\src\decompile\cpp\database_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\double.cc" />
<ClCompile Include="..\src\decompile\cpp\dynamic.cc" />
<ClCompile Include="..\src\decompile\cpp\emulate.cc" />
<ClCompile Include="..\src\decompile\cpp\emulateutil.cc" />
<ClCompile Include="..\src\decompile\cpp\float.cc" />
<ClCompile Include="..\src\decompile\cpp\flow.cc" />
<ClCompile Include="..\src\decompile\cpp\fspec.cc" />
<ClCompile Include="..\src\decompile\cpp\funcdata.cc" />
<ClCompile Include="..\src\decompile\cpp\funcdata_block.cc" />
<ClCompile Include="..\src\decompile\cpp\funcdata_op.cc" />
<ClCompile Include="..\src\decompile\cpp\funcdata_varnode.cc" />
<ClCompile Include="..\src\decompile\cpp\ghidra_arch.cc" />
<ClCompile Include="..\src\decompile\cpp\ghidra_context.cc" />
<ClCompile Include="..\src\decompile\cpp\ghidra_process.cc" />
<ClCompile Include="..\src\decompile\cpp\ghidra_translate.cc" />
<ClCompile Include="..\src\decompile\cpp\globalcontext.cc" />
<ClCompile Include="..\src\decompile\cpp\graph.cc" />
<ClCompile Include="..\src\decompile\cpp\heritage.cc" />
<ClCompile Include="..\src\decompile\cpp\inject_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\jumptable.cc" />
<ClCompile Include="..\src\decompile\cpp\loadimage.cc" />
<ClCompile Include="..\src\decompile\cpp\loadimage_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\marshal.cc" />
<ClCompile Include="..\src\decompile\cpp\memstate.cc" />
<ClCompile Include="..\src\decompile\cpp\merge.cc" />
<ClCompile Include="..\src\decompile\cpp\modelrules.cc" />
<ClCompile Include="..\src\decompile\cpp\multiprecision.cc" />
<ClCompile Include="..\src\decompile\cpp\op.cc" />
<ClCompile Include="..\src\decompile\cpp\opbehavior.cc" />
<ClCompile Include="..\src\decompile\cpp\opcodes.cc" />
<ClCompile Include="..\src\decompile\cpp\options.cc" />
<ClCompile Include="..\src\decompile\cpp\override.cc" />
<ClCompile Include="..\src\decompile\cpp\paramid.cc" />
<ClCompile Include="..\src\decompile\cpp\pcodeinject.cc" />
<ClCompile Include="..\src\decompile\cpp\pcoderaw.cc" />
<ClCompile Include="..\src\decompile\cpp\prefersplit.cc" />
<ClCompile Include="..\src\decompile\cpp\prettyprint.cc" />
<ClCompile Include="..\src\decompile\cpp\printc.cc" />
<ClCompile Include="..\src\decompile\cpp\printjava.cc" />
<ClCompile Include="..\src\decompile\cpp\printlanguage.cc" />
<ClCompile Include="..\src\decompile\cpp\rangeutil.cc" />
<ClCompile Include="..\src\decompile\cpp\ruleaction.cc" />
<ClCompile Include="..\src\decompile\cpp\signature.cc" />
<ClCompile Include="..\src\decompile\cpp\signature_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\space.cc" />
<ClCompile Include="..\src\decompile\cpp\stringmanage.cc" />
<ClCompile Include="..\src\decompile\cpp\string_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\subflow.cc" />
<ClCompile Include="..\src\decompile\cpp\transform.cc" />
<ClCompile Include="..\src\decompile\cpp\translate.cc" />
<ClCompile Include="..\src\decompile\cpp\type.cc" />
<ClCompile Include="..\src\decompile\cpp\typegrp_ghidra.cc" />
<ClCompile Include="..\src\decompile\cpp\typeop.cc" />
<ClCompile Include="..\src\decompile\cpp\unionresolve.cc" />
<ClCompile Include="..\src\decompile\cpp\userop.cc" />
<ClCompile Include="..\src\decompile\cpp\variable.cc" />
<ClCompile Include="..\src\decompile\cpp\varmap.cc" />
<ClCompile Include="..\src\decompile\cpp\varnode.cc" />
<ClCompile Include="..\src\decompile\cpp\xml.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\decompile\cpp\action.hh" />
<ClInclude Include="..\src\decompile\cpp\address.hh" />
<ClInclude Include="..\src\decompile\cpp\architecture.hh" />
<ClInclude Include="..\src\decompile\cpp\block.hh" />
<ClInclude Include="..\src\decompile\cpp\blockaction.hh" />
<ClInclude Include="..\src\decompile\cpp\capability.hh" />
<ClInclude Include="..\src\decompile\cpp\cast.hh" />
<ClInclude Include="..\src\decompile\cpp\comment.hh" />
<ClInclude Include="..\src\decompile\cpp\comment_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\condexe.hh" />
<ClInclude Include="..\src\decompile\cpp\constseq.hh" />
<ClInclude Include="..\src\decompile\cpp\coreaction.hh" />
<ClInclude Include="..\src\decompile\cpp\cover.hh" />
<ClInclude Include="..\src\decompile\cpp\cpool.hh" />
<ClInclude Include="..\src\decompile\cpp\cpool_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\crc32.hh" />
<ClInclude Include="..\src\decompile\cpp\database.hh" />
<ClInclude Include="..\src\decompile\cpp\database_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\double.hh" />
<ClInclude Include="..\src\decompile\cpp\dynamic.hh" />
<ClInclude Include="..\src\decompile\cpp\emulate.hh" />
<ClInclude Include="..\src\decompile\cpp\emulateutil.hh" />
<ClInclude Include="..\src\decompile\cpp\float.hh" />
<ClInclude Include="..\src\decompile\cpp\flow.hh" />
<ClInclude Include="..\src\decompile\cpp\fspec.hh" />
<ClInclude Include="..\src\decompile\cpp\funcdata.hh" />
<ClInclude Include="..\src\decompile\cpp\ghidra_arch.hh" />
<ClInclude Include="..\src\decompile\cpp\ghidra_context.hh" />
<ClInclude Include="..\src\decompile\cpp\ghidra_process.hh" />
<ClInclude Include="..\src\decompile\cpp\ghidra_translate.hh" />
<ClInclude Include="..\src\decompile\cpp\globalcontext.hh" />
<ClInclude Include="..\src\decompile\cpp\graph.hh" />
<ClInclude Include="..\src\decompile\cpp\heritage.hh" />
<ClInclude Include="..\src\decompile\cpp\inject_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\jumptable.hh" />
<ClInclude Include="..\src\decompile\cpp\loadimage.hh" />
<ClInclude Include="..\src\decompile\cpp\loadimage_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\marshal.hh" />
<ClInclude Include="..\src\decompile\cpp\memstate.hh" />
<ClInclude Include="..\src\decompile\cpp\merge.hh" />
<ClInclude Include="..\src\decompile\cpp\modelrules.hh" />
<ClInclude Include="..\src\decompile\cpp\multiprecision.hh" />
<ClInclude Include="..\src\decompile\cpp\op.hh" />
<ClInclude Include="..\src\decompile\cpp\opbehavior.hh" />
<ClInclude Include="..\src\decompile\cpp\opcodes.hh" />
<ClInclude Include="..\src\decompile\cpp\options.hh" />
<ClInclude Include="..\src\decompile\cpp\override.hh" />
<ClInclude Include="..\src\decompile\cpp\paramid.hh" />
<ClInclude Include="..\src\decompile\cpp\pcodeinject.hh" />
<ClInclude Include="..\src\decompile\cpp\pcoderaw.hh" />
<ClInclude Include="..\src\decompile\cpp\prefersplit.hh" />
<ClInclude Include="..\src\decompile\cpp\prettyprint.hh" />
<ClInclude Include="..\src\decompile\cpp\printc.hh" />
<ClInclude Include="..\src\decompile\cpp\printjava.hh" />
<ClInclude Include="..\src\decompile\cpp\printlanguage.hh" />
<ClInclude Include="..\src\decompile\cpp\rangeutil.hh" />
<ClInclude Include="..\src\decompile\cpp\ruleaction.hh" />
<ClInclude Include="..\src\decompile\cpp\signature.hh" />
<ClInclude Include="..\src\decompile\cpp\signature_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\space.hh" />
<ClInclude Include="..\src\decompile\cpp\stringmanage.hh" />
<ClInclude Include="..\src\decompile\cpp\string_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\subflow.hh" />
<ClInclude Include="..\src\decompile\cpp\transform.hh" />
<ClInclude Include="..\src\decompile\cpp\translate.hh" />
<ClInclude Include="..\src\decompile\cpp\type.hh" />
<ClInclude Include="..\src\decompile\cpp\typegrp_ghidra.hh" />
<ClInclude Include="..\src\decompile\cpp\typeop.hh" />
<ClInclude Include="..\src\decompile\cpp\unionresolve.hh" />
<ClInclude Include="..\src\decompile\cpp\userop.hh" />
<ClInclude Include="..\src\decompile\cpp\variable.hh" />
<ClInclude Include="..\src\decompile\cpp\varmap.hh" />
<ClInclude Include="..\src\decompile\cpp\varnode.hh" />
<ClInclude Include="..\src\decompile\cpp\xml.hh" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{f8fb6e02-1abf-45e2-a7d9-2a5ff53b3670}</ProjectGuid>
<RootNamespace>GhidraDecompilerNew</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level1</WarningLevel>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<DisableSpecificWarnings>4703;4146</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -5717,6 +5717,7 @@ AddTreeState::AddTreeState(Funcdata &d,PcodeOp *op,int4 slot)
distributeOp = (PcodeOp *)0;
int4 unitsize = AddrSpace::addressToByteInt(1,ct->getWordSize());
isDegenerate = (baseType->getAlignSize() <= unitsize && baseType->getAlignSize() > 0);
inspectedMultiequals = false;
}
/// \brief Given an offset into the base data-type and array hints find sub-component being referenced
@ -6294,9 +6295,15 @@ bool AddTreeState::apply(void)
if (isDegenerate)
return buildDegenerate();
spanAddTree(baseOp,1);
if (!preventDistribution && distributeOp != (PcodeOp *)0 && !isDistributeUsed) {
clear();
preventDistribution = true;
spanAddTree(baseOp,1);
}
if (!valid) return false; // Were there any show stoppers
if (multiple.empty() && !multiequalsToInspect.empty() && size != 0) {
if (inspectMultiequals()) {
inspectedMultiequals = true;
clear();
spanAddTree(baseOp,1);
}
@ -6306,7 +6313,29 @@ bool AddTreeState::apply(void)
preventDistribution = true;
spanAddTree(baseOp,1);
}
if (!valid) return false;
calcSubtype();
if (!valid) {
if (!preventDistribution && distributeOp != (PcodeOp *)0) {
clear();
preventDistribution = true;
spanAddTree(baseOp,1);
if (valid) {
calcSubtype();
}
}
if (!valid && !inspectedMultiequals
&& !multiequalsToInspect.empty() && size != 0) {
if (inspectMultiequals()) {
inspectedMultiequals = true;
clear();
spanAddTree(baseOp,1);
if (valid) {
calcSubtype();
}
}
}
}
if (!valid) return false;
while(valid && distributeOp != (PcodeOp *)0) {
if (!data.distributeIntMultAdd(distributeOp)) {

View File

@ -67,6 +67,7 @@ class AddTreeState {
bool isSubtype; ///< Is there a sub-type (using CPUI_PTRSUB)
bool valid; ///< Set to \b true if the whole expression can be transformed
bool isDegenerate; ///< Set to \b true if pointer to unitsize or smaller
bool inspectedMultiequals;
bool hasMatchingSubType(int8 off,uint4 arrayHint,int8 *newoff) const;
bool checkMultTerm(Varnode *vn,PcodeOp *op,uint8 treeCoeff); ///< Accumulate details of INT_MULT term and continue traversal if appropriate
bool checkTerm(Varnode *vn,uint8 treeCoeff); ///< Accumulate details of given term and continue tree traversal