1
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:
Spencer McIntyre 2022-09-08 16:07:00 -04:00
parent d7005e679e
commit cb230d93e5
4 changed files with 8 additions and 15 deletions

View File

@ -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(...)

View File

@ -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;
}

View File

@ -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">