Skip to content

Commit 22212b0

Browse files
committed
Added beaengine.
1 parent 56bb5a7 commit 22212b0

File tree

5 files changed

+74
-11
lines changed

5 files changed

+74
-11
lines changed
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
11
#include <vector>
22
#include <cstdint>
3-
//#include <beaengine/BeaEngine.h>
3+
#include <beaengine/BeaEngine.h>
44

55
#include "NativeCore.hpp"
66

77
extern "C" bool DisassembleCode(RC_Pointer address, RC_Size length, RC_Pointer virtualAddress, InstructionData* instruction)
88
{
9-
return false;
9+
DISASM disasm = {};
10+
disasm.Options = NasmSyntax + PrefixedNumeral;
11+
#ifdef NATIVE_CORE_64
12+
disasm.Archi = 64;
13+
#endif
14+
disasm.VirtualAddr = (UInt64)virtualAddress;
15+
disasm.EIP = (UIntPtr)address;
16+
disasm.SecurityBlock = (UInt32)length;
17+
18+
auto disamLength = Disasm(&disasm);
19+
if (disamLength == OUT_OF_BLOCK || disamLength == UNKNOWN_OPCODE)
20+
{
21+
return false;
22+
}
23+
24+
instruction->Length = disamLength;
25+
std::memcpy(instruction->Data, address, disamLength);
26+
MultiByteToUnicode(disasm.CompleteInstr, instruction->Instruction, 64);
27+
28+
return true;
1029
}

NativeCore/Unix/NativeCore.Unix.vcxproj

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,20 @@
9191
<TargetExt>.so</TargetExt>
9292
</PropertyGroup>
9393
<ItemGroup>
94+
<ClCompile Include="..\Dependencies\beaengine\src\BeaEngine.c">
95+
<RemoteFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/home/kn4ck3r/projects/Dependencies/beaengine/src/BeaEngine.c</RemoteFile>
96+
<RemoteCopyFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</RemoteCopyFile>
97+
<RemoteFile Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">/home/kn4ck3r/projects/Dependencies/beaengine/src/BeaEngine.c</RemoteFile>
98+
<RemoteCopyFile Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</RemoteCopyFile>
99+
<RemoteFile Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">/home/kn4ck3r/projects/Dependencies/beaengine/src/BeaEngine.c</RemoteFile>
100+
<RemoteCopyFile Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</RemoteCopyFile>
101+
<RemoteFile Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">/home/kn4ck3r/projects/Dependencies/beaengine/src/BeaEngine.c</RemoteFile>
102+
<RemoteCopyFile Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">false</RemoteCopyFile>
103+
<RemoteFile Condition="'$(Configuration)|$(Platform)'=='Release|x86'">/home/kn4ck3r/projects/Dependencies/beaengine/src/BeaEngine.c</RemoteFile>
104+
<RemoteCopyFile Condition="'$(Configuration)|$(Platform)'=='Release|x86'">false</RemoteCopyFile>
105+
<RemoteFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/home/kn4ck3r/projects/Dependencies/beaengine/src/BeaEngine.c</RemoteFile>
106+
<RemoteCopyFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</RemoteCopyFile>
107+
</ClCompile>
94108
<ClCompile Include="CloseRemoteProcess.cpp" />
95109
<ClCompile Include="ControlRemoteProcess.cpp" />
96110
<ClCompile Include="Debugger.cpp" />
@@ -111,18 +125,25 @@
111125
<PositionIndependentCode>true</PositionIndependentCode>
112126
<CppLanguageStandard>c++1y</CppLanguageStandard>
113127
</ClCompile>
128+
<Link>
129+
<LibraryDependencies>boost_system;boost_filesystem</LibraryDependencies>
130+
</Link>
114131
</ItemDefinitionGroup>
115132
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
116133
<ClCompile>
117134
<PositionIndependentCode>true</PositionIndependentCode>
118135
<CppLanguageStandard>c++1y</CppLanguageStandard>
119136
</ClCompile>
137+
<Link>
138+
<LibraryDependencies>boost_system;boost_filesystem</LibraryDependencies>
139+
</Link>
120140
</ItemDefinitionGroup>
121141
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
122142
<ClCompile>
123143
<PositionIndependentCode>true</PositionIndependentCode>
124144
<CppLanguageStandard>c++1y</CppLanguageStandard>
125-
<AdditionalIncludeDirectories>$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
145+
<AdditionalIncludeDirectories>../Dependencies/beaengine/include;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
146+
<PreprocessorDefinitions>NATIVE_CORE_64</PreprocessorDefinitions>
126147
</ClCompile>
127148
<Link>
128149
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
@@ -133,19 +154,36 @@
133154
<ClCompile>
134155
<PositionIndependentCode>true</PositionIndependentCode>
135156
<CppLanguageStandard>c++1y</CppLanguageStandard>
157+
<AdditionalIncludeDirectories>../Dependencies/beaengine/include;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
158+
<PreprocessorDefinitions>NATIVE_CORE_64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
136159
</ClCompile>
160+
<Link>
161+
<LibraryDependencies>boost_system;boost_filesystem</LibraryDependencies>
162+
</Link>
137163
</ItemDefinitionGroup>
138164
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
139165
<ClCompile>
140166
<PositionIndependentCode>true</PositionIndependentCode>
141167
<CppLanguageStandard>c++1y</CppLanguageStandard>
168+
<AdditionalIncludeDirectories>../Dependencies/beaengine/include;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
169+
<AdditionalOptions>-m32 %(AdditionalOptions)</AdditionalOptions>
142170
</ClCompile>
171+
<Link>
172+
<AdditionalOptions>-m32 %(AdditionalOptions)</AdditionalOptions>
173+
<LibraryDependencies>boost_system;boost_filesystem</LibraryDependencies>
174+
</Link>
143175
</ItemDefinitionGroup>
144176
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
145177
<ClCompile>
146178
<PositionIndependentCode>true</PositionIndependentCode>
147179
<CppLanguageStandard>c++1y</CppLanguageStandard>
180+
<AdditionalIncludeDirectories>../Dependencies/beaengine/include;$(Sysroot)\usr\include;$(StlIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
181+
<AdditionalOptions>-m32 %(AdditionalOptions)</AdditionalOptions>
148182
</ClCompile>
183+
<Link>
184+
<AdditionalOptions>-m32 %(AdditionalOptions)</AdditionalOptions>
185+
<LibraryDependencies>boost_system;boost_filesystem</LibraryDependencies>
186+
</Link>
149187
</ItemDefinitionGroup>
150188
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
151189
<ImportGroup Label="ExtensionTargets" />

NativeCore/Unix/NativeCore.Unix.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
<Filter Include="Functions">
55
<UniqueIdentifier>{32941fcb-69a5-43e7-86ba-38eb1ece3de9}</UniqueIdentifier>
66
</Filter>
7+
<Filter Include="Dependencies">
8+
<UniqueIdentifier>{eaf85ecc-eda1-49c6-a3be-14f2f8f4002c}</UniqueIdentifier>
9+
</Filter>
710
</ItemGroup>
811
<ItemGroup>
912
<ClCompile Include="CloseRemoteProcess.cpp">
@@ -36,6 +39,9 @@
3639
<ClCompile Include="WriteRemoteMemory.cpp">
3740
<Filter>Functions</Filter>
3841
</ClCompile>
42+
<ClCompile Include="..\Dependencies\beaengine\src\BeaEngine.c">
43+
<Filter>Dependencies</Filter>
44+
</ClCompile>
3945
</ItemGroup>
4046
<ItemGroup>
4147
<ClInclude Include="NativeCore.hpp" />

NativeCore/Windows/NativeCore.vcxproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,25 +73,25 @@
7373
<LinkIncremental>true</LinkIncremental>
7474
<TargetName>$(ProjectName)</TargetName>
7575
<OutDir>$(SolutionDir)bin\$(PlatformTarget)\$(Configuration)\</OutDir>
76-
<IncludePath>.\beaengine\include;$(IncludePath)</IncludePath>
76+
<IncludePath>..\Dependencies\beaengine\include;$(IncludePath)</IncludePath>
7777
</PropertyGroup>
7878
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
7979
<LinkIncremental>true</LinkIncremental>
8080
<TargetName>$(ProjectName)</TargetName>
8181
<OutDir>$(SolutionDir)bin\$(PlatformTarget)\$(Configuration)\</OutDir>
82-
<IncludePath>.\beaengine\include;$(IncludePath)</IncludePath>
82+
<IncludePath>..\Dependencies\beaengine\include;$(IncludePath)</IncludePath>
8383
</PropertyGroup>
8484
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
8585
<LinkIncremental>false</LinkIncremental>
8686
<TargetName>$(ProjectName)</TargetName>
8787
<OutDir>$(SolutionDir)bin\$(PlatformTarget)\$(Configuration)\</OutDir>
88-
<IncludePath>.\beaengine\include;$(IncludePath)</IncludePath>
88+
<IncludePath>..\Dependencies\beaengine\include;$(IncludePath)</IncludePath>
8989
</PropertyGroup>
9090
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
9191
<LinkIncremental>false</LinkIncremental>
9292
<TargetName>$(ProjectName)</TargetName>
9393
<OutDir>$(SolutionDir)bin\$(PlatformTarget)\$(Configuration)\</OutDir>
94-
<IncludePath>.\beaengine\include;$(IncludePath)</IncludePath>
94+
<IncludePath>..\Dependencies\beaengine\include;$(IncludePath)</IncludePath>
9595
</PropertyGroup>
9696
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
9797
<ClCompile>
@@ -158,7 +158,7 @@
158158
</Link>
159159
</ItemDefinitionGroup>
160160
<ItemGroup>
161-
<ClCompile Include="beaengine\src\BeaEngine.c" />
161+
<ClCompile Include="..\Dependencies\beaengine\src\BeaEngine.c" />
162162
<ClCompile Include="CloseRemoteProcess.cpp" />
163163
<ClCompile Include="ControlRemoteProcess.cpp" />
164164
<ClCompile Include="Debugger.cpp" />

NativeCore/Windows/NativeCore.vcxproj.filters

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
4-
<ClCompile Include="beaengine\src\BeaEngine.c">
5-
<Filter>Dependencies</Filter>
6-
</ClCompile>
74
<ClCompile Include="CloseRemoteProcess.cpp">
85
<Filter>Functions</Filter>
96
</ClCompile>
@@ -34,6 +31,9 @@
3431
<ClCompile Include="Debugger.cpp">
3532
<Filter>Functions</Filter>
3633
</ClCompile>
34+
<ClCompile Include="..\Dependencies\beaengine\src\BeaEngine.c">
35+
<Filter>Dependencies</Filter>
36+
</ClCompile>
3737
</ItemGroup>
3838
<ItemGroup>
3939
<None Include="exports.def" />

0 commit comments

Comments
 (0)