mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-02-22 03:19:04 +01:00
Refactor a few things
This commit is contained in:
parent
d7005e679e
commit
cb230d93e5
@ -80,7 +80,7 @@ typedef struct ___u128 {
|
||||
#define vdprintf(...) do{}while(0);
|
||||
#endif
|
||||
#else
|
||||
#define dprintf(...) do{}while(0);
|
||||
#define dprintf(...) real_dprintf(__VA_ARGS__)
|
||||
#define vdprintf(...) do{}while(0);
|
||||
#define SET_LOGGING_CONTEXT(...)
|
||||
#define INIT_LOGGING(...)
|
||||
|
@ -1,12 +1,12 @@
|
||||
/*!
|
||||
* @file main.c
|
||||
* @file bofloader.c
|
||||
* @brief Entry point for the bofloader extension.
|
||||
*/
|
||||
|
||||
#include "common.h"
|
||||
#include "common_metapi.h"
|
||||
#include <stdint.h>
|
||||
#include "main.h"
|
||||
#include "bofloader.h"
|
||||
#include "beacon_compatibility.h"
|
||||
#include "COFFLoader.h"
|
||||
|
||||
@ -15,10 +15,6 @@ MetApi* met_api = NULL;
|
||||
#define RDIDLL_NOEXPORT
|
||||
#include "../../ReflectiveDLLInjection/dll/src/ReflectiveLoader.c"
|
||||
|
||||
|
||||
extern int LoadAndRun(char *argsBuffer, uint32_t bufferSize);
|
||||
extern char * BeaconGetOutputData(int *outsize);
|
||||
|
||||
DWORD request_exec_cmd(Remote *remote, Packet *packet);
|
||||
|
||||
/*! @brief The enabled commands for this extension. */
|
||||
@ -28,7 +24,7 @@ Command customCommands[] =
|
||||
COMMAND_TERMINATOR
|
||||
};
|
||||
|
||||
static int LoadAndRun(char* argsBuffer, uint32_t bufferSize)
|
||||
static int load_and_run(char* argsBuffer, uint32_t bufferSize)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
// argsBuffer: functionname |coff_data | args_data
|
||||
@ -85,13 +81,13 @@ DWORD request_exec_cmd(Remote *remote, Packet *packet)
|
||||
}
|
||||
|
||||
buffer_size = packet->payloadLength;
|
||||
args_buffer = (char *) met_api->packet.get_tlv_value_raw(packet, TLV_TYPE_BOFLOADER_CMD_EXEC, &buffer_size);
|
||||
args_buffer = (char *)met_api->packet.get_tlv_value_raw(packet, TLV_TYPE_BOFLOADER_CMD_EXEC, &buffer_size);
|
||||
dprintf("[BOFLOADER] got pkt contents");
|
||||
|
||||
if (args_buffer != NULL)
|
||||
{
|
||||
dprintf("[BOFLOADER] calling LoadAndRun(%p, %u)", args_buffer, buffer_size);
|
||||
if (LoadAndRun(args_buffer, (uint32_t)buffer_size))
|
||||
if (load_and_run(args_buffer, (uint32_t)buffer_size))
|
||||
{
|
||||
dprintf("[BOFLOADER] load and run failed");
|
||||
result = ERROR_BAD_COMMAND;
|
||||
@ -129,12 +125,9 @@ DWORD request_exec_cmd(Remote *remote, Packet *packet)
|
||||
|
||||
DWORD InitServerExtension(MetApi* api, Remote* remote)
|
||||
{
|
||||
dprintf("[BOFLOADER] Loading...");
|
||||
met_api = api;
|
||||
SET_LOGGING_CONTEXT(api)
|
||||
met_api->command.register_all(customCommands);
|
||||
dprintf("[BOFLOADER] Loaded.");
|
||||
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
@ -29,7 +29,7 @@
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\source\extensions\bofloader\COFFLoader\beacon_compatibility.h" />
|
||||
<ClInclude Include="..\..\source\extensions\bofloader\COFFLoader\COFFLoader.h" />
|
||||
<ClInclude Include="..\..\source\extensions\bofloader\main.h" />
|
||||
<ClInclude Include="..\..\source\extensions\bofloader\bofloader.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\source\extensions\bofloader\COFFLoader\beacon_compatibility.c" />
|
||||
@ -41,7 +41,7 @@
|
||||
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">4018;4047;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|x64'">4018;4047;4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\bofloader\main.c" />
|
||||
<ClCompile Include="..\..\source\extensions\bofloader\bofloader.c" />
|
||||
<ClCompile Include="..\..\source\logging\logging.c" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
|
Loading…
x
Reference in New Issue
Block a user