MCPcopy Create free account
hub / github.com/SecurityAnalysts01/ShellcodeLoader / OpenfileA

Function OpenfileA

ShellQMaker/ShellQMaker/ShellQMaker.h:8–36  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6
7typedef struct { DWORD size; PBYTE pbufr; }FILEINFO;
8FILEINFO OpenfileA(char* ptrFile)
9{
10 DWORD dwReadTotal = 0;
11 DWORD dwReaded = 0;
12 FILEINFO fileinfo = { 0 };
13 HANDLE hFile = NULL;
14 hFile = CreateFileA(ptrFile, FILE_SHARE_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
15 if (hFile == INVALID_HANDLE_VALUE)
16 goto FAISE;
17 fileinfo.size = GetFileSize(hFile, NULL);
18 if (fileinfo.size == 0)
19 goto FAISE;
20 fileinfo.pbufr = (byte*)HeapAlloc(GetProcessHeap(), 0, fileinfo.size);
21 if (fileinfo.pbufr == 0)
22 goto FAISE;
23 SecureZeroMemory(fileinfo.pbufr, fileinfo.size);
24
25 while (dwReadTotal < fileinfo.size
26 && ReadFile(hFile, fileinfo.pbufr + dwReadTotal, fileinfo.size - dwReadTotal, &dwReaded, NULL))
27 {
28 dwReadTotal += dwReaded;
29 }
30FAISE:
31 if (hFile != INVALID_HANDLE_VALUE)
32 {
33 CloseHandle(hFile);
34 }
35 return fileinfo;
36};
37
38void* MMcpy(void* dst, const void* src, size_t len)
39{

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected