1
0
Fork 0

DBG: Re-add fixed analysis.cpp files

This commit is contained in:
Nukem 2015-07-11 16:21:40 -04:00
parent 9fa4c9dece
commit 0bfc496a7a
4 changed files with 59 additions and 8 deletions

25
x64_dbg_dbg/analysis.cpp Normal file
View File

@ -0,0 +1,25 @@
#include "analysis.h"
#include "memory.h"
Analysis::Analysis(uint base, uint size)
{
_base = base;
_size = size;
_data = new unsigned char[_size + MAX_DISASM_BUFFER];
MemRead((void*)_base, _data, _size, 0);
}
Analysis::~Analysis()
{
delete[] _data;
}
bool Analysis::IsValidAddress(uint addr)
{
return addr >= _base && addr < _base + _size;
}
const unsigned char* Analysis::TranslateAddress(uint addr)
{
return IsValidAddress(addr) ? _data + (addr - _base) : nullptr;
}

26
x64_dbg_dbg/analysis.h Normal file
View File

@ -0,0 +1,26 @@
#ifndef _ANALYSIS_H
#define _ANALYSIS_H
#include "_global.h"
#include "capstone_wrapper.h"
class Analysis
{
public:
explicit Analysis(uint base, uint size);
Analysis(const Analysis & that) = delete;
~Analysis();
virtual void Analyse() = 0;
virtual void SetMarkers() = 0;
protected:
uint _base;
uint _size;
unsigned char* _data;
Capstone _cp;
bool IsValidAddress(uint addr);
const unsigned char* TranslateAddress(uint addr);
};
#endif //_ANALYSIS_H

View File

@ -20,7 +20,7 @@
</ItemGroup>
<ItemGroup>
<ClCompile Include="addrinfo.cpp" />
<ClCompile Include="Analysis.cpp" />
<ClCompile Include="analysis.cpp" />
<ClCompile Include="AnalysisPass.cpp" />
<ClCompile Include="assemble.cpp" />
<ClCompile Include="bookmark.cpp" />
@ -84,7 +84,7 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="addrinfo.h" />
<ClInclude Include="Analysis.h" />
<ClInclude Include="analysis.h" />
<ClInclude Include="AnalysisPass.h" />
<ClInclude Include="assemble.h" />
<ClInclude Include="BasicBlock.h" />

View File

@ -246,9 +246,6 @@
<ClCompile Include="AnalysisPass.cpp">
<Filter>Source Files\Analysis</Filter>
</ClCompile>
<ClCompile Include="Analysis.cpp">
<Filter>Source Files\Analysis</Filter>
</ClCompile>
<ClCompile Include="LinearPass.cpp">
<Filter>Source Files\Analysis</Filter>
</ClCompile>
@ -273,6 +270,9 @@
<ClCompile Include="_scriptapi_stack.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="analysis.cpp">
<Filter>Source Files\Analysis</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="x64_dbg.h">
@ -599,9 +599,6 @@
<ClInclude Include="AnalysisPass.h">
<Filter>Header Files\Analysis</Filter>
</ClInclude>
<ClInclude Include="Analysis.h">
<Filter>Header Files\Analysis</Filter>
</ClInclude>
<ClInclude Include="LinearPass.h">
<Filter>Header Files\Analysis</Filter>
</ClInclude>
@ -626,5 +623,8 @@
<ClInclude Include="_scriptapi_stack.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="analysis.h">
<Filter>Header Files\Analysis</Filter>
</ClInclude>
</ItemGroup>
</Project>