Использовать в лоадереа что надо зделать с .bin?
class VacWinApiTable_t
{
public:
DWORD KERNEL32_LoadLibraryExA; //0x0000
DWORD KERNEL32_GetProcAddress; //0x0004
DWORD ntdll_ZwOpenProcess; //0x0008
DWORD KERNEL32_FreeLibrary; //0x000C
DWORD KERNEL32_GetVolumeInformationW; //0x0010
DWORD KERNEL32_GetFileInformationByHandleEx; //0x0014
DWORD KERNEL32_QueryFullProcessImageNameW; //0x0018
DWORD KERNEL32_GetLastError; //0x001C
DWORD KERNEL32_OpenProcess; //0x0020
DWORD CRYPT32_CryptMsgGetParam; //0x0024
DWORD ADVAPI32_OpenSCManagerA; //0x0028
DWORD ADVAPI32_GetTokenInformation; //0x002C
DWORD CRYPT32_CertCloseStore; //0x0030
DWORD KERNEL32_WideCharToMultiByte; //0x0034
DWORD KERNEL32_GetModuleHandleExA; //0x0038
DWORD KERNEL32_SetFilePointerEx; //0x003C
DWORD KERNEL32_FindFirstVolumeW; //0x0040
DWORD KERNEL32_Module32FirstW; //0x0044
DWORD CRYPT32_CryptMsgClose; //0x0048
DWORD VERSION_GetFileVersionInfoSizeA; //0x004C
DWORD KERNEL32_GetCurrentProcess; //0x0050
DWORD PSAPI_GetModuleInformation; //0x0054
DWORD VERSION_VerQueryValueA; //0x0058
DWORD KERNEL32_FlushInstructionCache; //0x005C
DWORD KERNEL32_Sleep; //0x0060
DWORD KERNEL32_ResumeThread; //0x0064
DWORD WINTRUST_WinVerifyTrust; //0x0068
DWORD PSAPI_GetModuleFileNameExA; //0x006C
DWORD KERNEL32_GetCurrentThread; //0x0070
DWORD KERNEL32_GetProcessId; //0x0074
DWORD KERNEL32_GetFileInformationByHandle; //0x0078
DWORD KERNEL32_GetVolumePathNamesForVolumeNameW; //0x007C
DWORD SETUPAPI_SetupDiGetClassDevsA; //0x0080
DWORD KERNEL32_CreateToolhelp32Snapshot; //0x0084
DWORD ADVAPI32_ConvertSidToStringSidA; //0x0088
DWORD KERNEL32_WriteFile; //0x008C
DWORD unk; //0x0090
DWORD PSAPI_GetModuleBaseNameA; //0x0094
DWORD ADVAPI32_RegEnumKeyExA; //0x0098
DWORD CRYPT32_CertGetNameStringW; //0x009C
DWORD KERNEL32_GetSystemDirectoryW; //0x00A0
DWORD PSAPI_GetProcessImageFileNameA; //0x00A4
DWORD ADVAPI32_QueryServiceConfigA; //0x00A8
DWORD SSPICLI_GetUserNameExW; //0x00AC
DWORD KERNEL32_IsBadReadPtr; //0x00B0
DWORD CRYPT32_CryptQueryObject; //0x00B4
DWORD VERSION_GetFileVersionInfoSizeW; //0x00B8
DWORD ADVAPI32_CloseServiceHandle; //0x00BC
DWORD ADVAPI32_RegQueryValueExA; //0x00C0
DWORD ntdll_NtQuerySystemInformation; //0x00C4
DWORD KERNEL32_GetVolumeInformationByHandleW; //0x00C8
DWORD ntdll_RtlEncodePointer; //0x00CC
DWORD KERNEL32_OpenThread; //0x00D0
DWORD VERSION_GetFileVersionInfoA; //0x00D4
DWORD ADVAPI32_QueryServiceConfigW; //0x00D8
DWORD ntdll_ZwMapViewOfSection; //0x00DC
DWORD KERNEL32_ReadFile; //0x00E0
DWORD KERNEL32_GetProcessTimes; //0x00E4
DWORD CRYPT32_CertFindCertificateInStore; //0x00E8
DWORD ADVAPI32_EnumServicesStatusA; //0x00EC
DWORD VERSION_VerQueryValueW; //0x00F0
DWORD KERNEL32_GetComputerNameExW; //0x00F4
DWORD PSAPI_GetMappedFileNameW; //0x00F8
DWORD KERNEL32_VirtualQueryEx; //0x00FC
DWORD KERNEL32_GetThreadId; //0x0100
DWORD KERNEL32_GetProcessHeap; //0x0104
DWORD PSAPI_GetModuleBaseNameW; //0x0108
DWORD PSAPI_GetModuleFileNameExW; //0x010C
DWORD KERNEL32_CloseHandle; //0x0110
DWORD ntdll_NtQueryInformationThread; //0x0114
DWORD ADVAPI32_OpenProcessToken; //0x0118
DWORD KERNEL32_MultiByteToWideChar; //0x011C
DWORD KERNEL32_VirtualFreeEx; //0x0120
DWORD KERNEL32_Module32NextW; //0x0124
DWORD ADVAPI32_OpenServiceA; //0x0128
DWORD ADVAPI32_OpenServiceW; //0x012C
DWORD ADVAPI32_EnumServicesStatusW; //0x0130
DWORD KERNEL32_GetFileSizeEx; //0x0134
DWORD ADVAPI32_LookupPrivilegeValueA; //0x0138
DWORD KERNEL32_GetThreadContext; //0x013C
DWORD KERNEL32_GetWindowsDirectoryW; //0x0140
DWORD ntdll_RtlAllocateHeap; //0x0144
DWORD KERNEL32_Heap32First; //0x0148
DWORD KERNEL32_UnmapViewOfFile; //0x014C
DWORD ADVAPI32_RegCloseKey; //0x0150
DWORD IPHLPAPI_GetUdp6Table; //0x0154
DWORD PSAPI_EnumProcessModules; //0x0158
DWORD KERNEL32_MapViewOfFile; //0x015C
DWORD ntdll_NtDuplicateObject; //0x0160
DWORD KERNEL32_Thread32Next; //0x0164
DWORD KERNEL32_CreateFileW; //0x0168
DWORD dbghelp_StackWalk64; //0x016C
DWORD KERNEL32_HeapFree; //0x0170
DWORD ntdll_NtWow64ReadVirtualMemory64; //0x0174
DWORD PSAPI_GetProcessImageFileNameW; //0x0178
DWORD ntdll_ZwOpenSection; //0x017C
DWORD KERNEL32_CreateFileMappingW; //0x0180
DWORD KERNEL32_QueryDosDeviceA; //0x0184
DWORD KERNEL32_GetVersionExW; //0x0188
DWORD KERNEL32_SwitchToThread; //0x018C
DWORD KERNEL32_WriteProcessMemory; //0x0190
DWORD KERNEL32_LocalAlloc; //0x0194
DWORD PSAPI_EnumProcesses; //0x0198
DWORD VERSION_GetFileVersionInfoW; //0x019C
DWORD ntdll_ZwQueryObject; //0x01A0
DWORD ntdll_NtWow64QueryInformationProcess64; //0x01A4
DWORD KERNEL32_QueryDosDeviceW; //0x01A8
DWORD WINTRUST_WinVerifyTrustEx; //0x01AC
DWORD KERNEL32_GetCurrentProcessId; //0x01B0
DWORD IPHLPAPI_GetTcp6Table; //0x01B4
DWORD KERNEL32_SetThreadAffinityMask; //0x01B8
DWORD KERNEL32_VirtualAlloc; //0x01BC
DWORD KERNEL32_VirtualQuery; //0x01C0
DWORD KERNEL32_SetFilePointer; //0x01C4
DWORD KERNEL32_Process32FirstW; //0x01C8
DWORD KERNEL32_CreateRemoteThread; //0x01CC
DWORD ntdll_NtQueryVirtualMemory; //0x01D0
DWORD KERNEL32_SuspendThread; //0x01D4
DWORD CRYPT32_CryptDecodeObject; //0x01D8
DWORD ntdll_ZwQueryInformationProcess; //0x01DC
DWORD KERNEL32_LoadLibraryA; //0x01E0
DWORD SETUPAPI_SetupDiGetDeviceRegistryPropertyA; //0x01E4
DWORD KERNEL32_FindVolumeClose; //0x01E8
DWORD ntdll_ZwReadVirtualMemory; //0x01EC
DWORD KERNEL32_IsWow64Process; //0x01F0
DWORD KERNEL32_GetModuleHandleA; //0x01F4
DWORD KERNEL32_GetDriveTypeW; //0x01F8
DWORD ADVAPI32_RegQueryInfoKeyA; //0x01FC
DWORD ADVAPI32_AdjustTokenPrivileges; //0x0200
DWORD KERNEL32_Thread32First; //0x0204
DWORD KERNEL32_GetVersionExA; //0x0208
DWORD KERNEL32_FindNextVolumeW; //0x020C
DWORD KERNEL32_GetCurrentThreadId; //0x0210
DWORD ntdll_ZwQueryDirectoryObject; //0x0214
DWORD ntdll_RtlGetCompressionWorkSpaceSize; //0x0218
DWORD KERNEL32_GetSystemDirectoryA; //0x021C
DWORD SETUPAPI_SetupDiDestroyDeviceInfoList; //0x0220
DWORD USERENV_GetUserProfileDirectoryA; //0x0224
DWORD KERNEL32_GetTickCount; //0x0228
DWORD KERNEL32_ReadProcessMemory; //0x022C
DWORD KERNEL32_VirtualFree; //0x0230
DWORD CRYPT32_CryptHashCertificate; //0x0234
DWORD KERNEL32_VirtualAllocEx; //0x0238
DWORD ntdll_NtClose; //0x023C
DWORD KERNEL32_Process32NextW; //0x0240
DWORD CRYPT32_CertFreeCTLContext; //0x0244
DWORD ntdll_NtOpenDirectoryObject; //0x0248
DWORD KERNEL32_GetSystemTimeAsFileTime; //0x024C
DWORD KERNEL32_OutputDebugStringA; //0x0250
DWORD USERENV_GetUserProfileDirectoryW; //0x0254
DWORD ntdll_RtlAddVectoredExceptionHandler; //0x0258
DWORD KERNEL32_GetSystemInfo; //0x025C
DWORD KERNEL32_GetModuleFileNameA; //0x0260
DWORD KERNEL32_WaitForSingleObject; //0x0264
DWORD dbghelp_SymFunctionTableAccess64; //0x0268
DWORD SETUPAPI_SetupDiEnumDeviceInfo; //0x026C
DWORD KERNEL32_SetLastError; //0x0270
DWORD IPHLPAPI_GetUdpTable; //0x0274
DWORD KERNEL32_LocalFree; //0x0278
DWORD ADVAPI32_RegOpenKeyExA; //0x027C
DWORD ntdll_ZwQuerySection; //0x0280
DWORD dbghelp_SymGetModuleBase64; //0x0284
DWORD KERNEL32_GetFileSize; //0x0288
DWORD ntdll_RtlDecompressBufferEx; //0x028C
DWORD KERNEL32_VirtualProtect; //0x0290
DWORD KERNEL32_GetLogicalDriveStringsA; //0x0294
DWORD KERNEL32_OpenFileById; //0x0298
DWORD KERNEL32_GetLogicalDriveStringsW; //0x029C
DWORD KERNEL32_CreateFileA; //0x02A0
DWORD IPHLPAPI_GetTcpTable; //0x02A4
DWORD KERNEL32_GetWindowsDirectoryA; //0x02A8
DWORD PSAPI_GetMappedFileNameA; //0x02AC
}; //Size: 0x02B0
Я думаю, что тот для кого это очень полезно и так осилит рав адреса на виртуальные поставить, за структурку большое спасибо и за критикуТы бы хоть добавил исправление дампа, так-как ты дампил Virtual память, а не Raw.
Пример:
Посмотреть вложение 209864
Так-же смысл от дампа, если ты никакой информации об этом не собрал, к примеру где структура из 172 импортов, которую можно достать лишь в runtime, ты же просто скачал куски памяти.
Вот структура кстати, поинтер на таблицу можно найти самостоятельно, это не так сложно если пройтись по функциям и посмотреть вызовы (причем это самый минимум, в некоторых модулях есть небольшое число импортов которые вызываются не с этой таблицы, так-что их тоже надо достать):
Дамп без импортов и без информации с импортов, по каким адресам они вызывались и их аргументы (с помощью хуков на импортах можно было бы это достать, а без этой информации ты никогда не поймешь что вызывалось и какие аргументы в модуль поступили).C++:class VacWinApiTable_t { public: DWORD KERNEL32_LoadLibraryExA; //0x0000 DWORD KERNEL32_GetProcAddress; //0x0004 DWORD ntdll_ZwOpenProcess; //0x0008 DWORD KERNEL32_FreeLibrary; //0x000C DWORD KERNEL32_GetVolumeInformationW; //0x0010 DWORD KERNEL32_GetFileInformationByHandleEx; //0x0014 DWORD KERNEL32_QueryFullProcessImageNameW; //0x0018 DWORD KERNEL32_GetLastError; //0x001C DWORD KERNEL32_OpenProcess; //0x0020 DWORD CRYPT32_CryptMsgGetParam; //0x0024 DWORD ADVAPI32_OpenSCManagerA; //0x0028 DWORD ADVAPI32_GetTokenInformation; //0x002C DWORD CRYPT32_CertCloseStore; //0x0030 DWORD KERNEL32_WideCharToMultiByte; //0x0034 DWORD KERNEL32_GetModuleHandleExA; //0x0038 DWORD KERNEL32_SetFilePointerEx; //0x003C DWORD KERNEL32_FindFirstVolumeW; //0x0040 DWORD KERNEL32_Module32FirstW; //0x0044 DWORD CRYPT32_CryptMsgClose; //0x0048 DWORD VERSION_GetFileVersionInfoSizeA; //0x004C DWORD KERNEL32_GetCurrentProcess; //0x0050 DWORD PSAPI_GetModuleInformation; //0x0054 DWORD VERSION_VerQueryValueA; //0x0058 DWORD KERNEL32_FlushInstructionCache; //0x005C DWORD KERNEL32_Sleep; //0x0060 DWORD KERNEL32_ResumeThread; //0x0064 DWORD WINTRUST_WinVerifyTrust; //0x0068 DWORD PSAPI_GetModuleFileNameExA; //0x006C DWORD KERNEL32_GetCurrentThread; //0x0070 DWORD KERNEL32_GetProcessId; //0x0074 DWORD KERNEL32_GetFileInformationByHandle; //0x0078 DWORD KERNEL32_GetVolumePathNamesForVolumeNameW; //0x007C DWORD SETUPAPI_SetupDiGetClassDevsA; //0x0080 DWORD KERNEL32_CreateToolhelp32Snapshot; //0x0084 DWORD ADVAPI32_ConvertSidToStringSidA; //0x0088 DWORD KERNEL32_WriteFile; //0x008C DWORD unk; //0x0090 DWORD PSAPI_GetModuleBaseNameA; //0x0094 DWORD ADVAPI32_RegEnumKeyExA; //0x0098 DWORD CRYPT32_CertGetNameStringW; //0x009C DWORD KERNEL32_GetSystemDirectoryW; //0x00A0 DWORD PSAPI_GetProcessImageFileNameA; //0x00A4 DWORD ADVAPI32_QueryServiceConfigA; //0x00A8 DWORD SSPICLI_GetUserNameExW; //0x00AC DWORD KERNEL32_IsBadReadPtr; //0x00B0 DWORD CRYPT32_CryptQueryObject; //0x00B4 DWORD VERSION_GetFileVersionInfoSizeW; //0x00B8 DWORD ADVAPI32_CloseServiceHandle; //0x00BC DWORD ADVAPI32_RegQueryValueExA; //0x00C0 DWORD ntdll_NtQuerySystemInformation; //0x00C4 DWORD KERNEL32_GetVolumeInformationByHandleW; //0x00C8 DWORD ntdll_RtlEncodePointer; //0x00CC DWORD KERNEL32_OpenThread; //0x00D0 DWORD VERSION_GetFileVersionInfoA; //0x00D4 DWORD ADVAPI32_QueryServiceConfigW; //0x00D8 DWORD ntdll_ZwMapViewOfSection; //0x00DC DWORD KERNEL32_ReadFile; //0x00E0 DWORD KERNEL32_GetProcessTimes; //0x00E4 DWORD CRYPT32_CertFindCertificateInStore; //0x00E8 DWORD ADVAPI32_EnumServicesStatusA; //0x00EC DWORD VERSION_VerQueryValueW; //0x00F0 DWORD KERNEL32_GetComputerNameExW; //0x00F4 DWORD PSAPI_GetMappedFileNameW; //0x00F8 DWORD KERNEL32_VirtualQueryEx; //0x00FC DWORD KERNEL32_GetThreadId; //0x0100 DWORD KERNEL32_GetProcessHeap; //0x0104 DWORD PSAPI_GetModuleBaseNameW; //0x0108 DWORD PSAPI_GetModuleFileNameExW; //0x010C DWORD KERNEL32_CloseHandle; //0x0110 DWORD ntdll_NtQueryInformationThread; //0x0114 DWORD ADVAPI32_OpenProcessToken; //0x0118 DWORD KERNEL32_MultiByteToWideChar; //0x011C DWORD KERNEL32_VirtualFreeEx; //0x0120 DWORD KERNEL32_Module32NextW; //0x0124 DWORD ADVAPI32_OpenServiceA; //0x0128 DWORD ADVAPI32_OpenServiceW; //0x012C DWORD ADVAPI32_EnumServicesStatusW; //0x0130 DWORD KERNEL32_GetFileSizeEx; //0x0134 DWORD ADVAPI32_LookupPrivilegeValueA; //0x0138 DWORD KERNEL32_GetThreadContext; //0x013C DWORD KERNEL32_GetWindowsDirectoryW; //0x0140 DWORD ntdll_RtlAllocateHeap; //0x0144 DWORD KERNEL32_Heap32First; //0x0148 DWORD KERNEL32_UnmapViewOfFile; //0x014C DWORD ADVAPI32_RegCloseKey; //0x0150 DWORD IPHLPAPI_GetUdp6Table; //0x0154 DWORD PSAPI_EnumProcessModules; //0x0158 DWORD KERNEL32_MapViewOfFile; //0x015C DWORD ntdll_NtDuplicateObject; //0x0160 DWORD KERNEL32_Thread32Next; //0x0164 DWORD KERNEL32_CreateFileW; //0x0168 DWORD dbghelp_StackWalk64; //0x016C DWORD KERNEL32_HeapFree; //0x0170 DWORD ntdll_NtWow64ReadVirtualMemory64; //0x0174 DWORD PSAPI_GetProcessImageFileNameW; //0x0178 DWORD ntdll_ZwOpenSection; //0x017C DWORD KERNEL32_CreateFileMappingW; //0x0180 DWORD KERNEL32_QueryDosDeviceA; //0x0184 DWORD KERNEL32_GetVersionExW; //0x0188 DWORD KERNEL32_SwitchToThread; //0x018C DWORD KERNEL32_WriteProcessMemory; //0x0190 DWORD KERNEL32_LocalAlloc; //0x0194 DWORD PSAPI_EnumProcesses; //0x0198 DWORD VERSION_GetFileVersionInfoW; //0x019C DWORD ntdll_ZwQueryObject; //0x01A0 DWORD ntdll_NtWow64QueryInformationProcess64; //0x01A4 DWORD KERNEL32_QueryDosDeviceW; //0x01A8 DWORD WINTRUST_WinVerifyTrustEx; //0x01AC DWORD KERNEL32_GetCurrentProcessId; //0x01B0 DWORD IPHLPAPI_GetTcp6Table; //0x01B4 DWORD KERNEL32_SetThreadAffinityMask; //0x01B8 DWORD KERNEL32_VirtualAlloc; //0x01BC DWORD KERNEL32_VirtualQuery; //0x01C0 DWORD KERNEL32_SetFilePointer; //0x01C4 DWORD KERNEL32_Process32FirstW; //0x01C8 DWORD KERNEL32_CreateRemoteThread; //0x01CC DWORD ntdll_NtQueryVirtualMemory; //0x01D0 DWORD KERNEL32_SuspendThread; //0x01D4 DWORD CRYPT32_CryptDecodeObject; //0x01D8 DWORD ntdll_ZwQueryInformationProcess; //0x01DC DWORD KERNEL32_LoadLibraryA; //0x01E0 DWORD SETUPAPI_SetupDiGetDeviceRegistryPropertyA; //0x01E4 DWORD KERNEL32_FindVolumeClose; //0x01E8 DWORD ntdll_ZwReadVirtualMemory; //0x01EC DWORD KERNEL32_IsWow64Process; //0x01F0 DWORD KERNEL32_GetModuleHandleA; //0x01F4 DWORD KERNEL32_GetDriveTypeW; //0x01F8 DWORD ADVAPI32_RegQueryInfoKeyA; //0x01FC DWORD ADVAPI32_AdjustTokenPrivileges; //0x0200 DWORD KERNEL32_Thread32First; //0x0204 DWORD KERNEL32_GetVersionExA; //0x0208 DWORD KERNEL32_FindNextVolumeW; //0x020C DWORD KERNEL32_GetCurrentThreadId; //0x0210 DWORD ntdll_ZwQueryDirectoryObject; //0x0214 DWORD ntdll_RtlGetCompressionWorkSpaceSize; //0x0218 DWORD KERNEL32_GetSystemDirectoryA; //0x021C DWORD SETUPAPI_SetupDiDestroyDeviceInfoList; //0x0220 DWORD USERENV_GetUserProfileDirectoryA; //0x0224 DWORD KERNEL32_GetTickCount; //0x0228 DWORD KERNEL32_ReadProcessMemory; //0x022C DWORD KERNEL32_VirtualFree; //0x0230 DWORD CRYPT32_CryptHashCertificate; //0x0234 DWORD KERNEL32_VirtualAllocEx; //0x0238 DWORD ntdll_NtClose; //0x023C DWORD KERNEL32_Process32NextW; //0x0240 DWORD CRYPT32_CertFreeCTLContext; //0x0244 DWORD ntdll_NtOpenDirectoryObject; //0x0248 DWORD KERNEL32_GetSystemTimeAsFileTime; //0x024C DWORD KERNEL32_OutputDebugStringA; //0x0250 DWORD USERENV_GetUserProfileDirectoryW; //0x0254 DWORD ntdll_RtlAddVectoredExceptionHandler; //0x0258 DWORD KERNEL32_GetSystemInfo; //0x025C DWORD KERNEL32_GetModuleFileNameA; //0x0260 DWORD KERNEL32_WaitForSingleObject; //0x0264 DWORD dbghelp_SymFunctionTableAccess64; //0x0268 DWORD SETUPAPI_SetupDiEnumDeviceInfo; //0x026C DWORD KERNEL32_SetLastError; //0x0270 DWORD IPHLPAPI_GetUdpTable; //0x0274 DWORD KERNEL32_LocalFree; //0x0278 DWORD ADVAPI32_RegOpenKeyExA; //0x027C DWORD ntdll_ZwQuerySection; //0x0280 DWORD dbghelp_SymGetModuleBase64; //0x0284 DWORD KERNEL32_GetFileSize; //0x0288 DWORD ntdll_RtlDecompressBufferEx; //0x028C DWORD KERNEL32_VirtualProtect; //0x0290 DWORD KERNEL32_GetLogicalDriveStringsA; //0x0294 DWORD KERNEL32_OpenFileById; //0x0298 DWORD KERNEL32_GetLogicalDriveStringsW; //0x029C DWORD KERNEL32_CreateFileA; //0x02A0 DWORD IPHLPAPI_GetTcpTable; //0x02A4 DWORD KERNEL32_GetWindowsDirectoryA; //0x02A8 DWORD PSAPI_GetMappedFileNameA; //0x02AC }; //Size: 0x02B0
Хотя бы базовую информацию по RPM, WPM и NtOpenFile с фильтрацией стека, чтобы захватывать только вызовы shellcode'а (то есть VAC'а, нужно сдампить цепочку вызовов непосредственное в shellcode'е) и показом этой цепочки вызовов, причем в runtime, так-как надо понимать что именно VAC сканирует в csgo.exe + чтобы далее в IDA пройдясь по адресам вызовов в вак модуле понимать, что вызвалось и с какими аргументами.
Пример:
Посмотреть вложение 209866
Так-что толку мало от этих пустышек без информации о состоянии памяти csgo (чтобы понимать что RPM прочитал из csgo.exe), и без runtime информации модуля. Да и лично я как-то ничего особенного не нашел, все по стандарту, чеки процессов (к примеру для cheat engine), 0x20 байтов начальных в интерфесе (против VMT хуков), и .text/.rdata сопоставление с тем, что на диске
я думаю тот кто осилит рав адреса на виртуальные поставить - сможет сдампить сам все.Я думаю, что тот для кого это очень полезно и так осилит рав адреса на виртуальные поставить, за структурку большое спасибо и за критику
Скинь оставшиеся 14я думаю тот кто осилит рав адреса на виртуальные поставить - сможет сдампить сам все.
из 23 модулей у тебя только 9. так что юзлесс.
Sure, there are way more modules. But to be fair there are only 16 which are loaded regularly, so at least he has more than half of them ;)out of 23 modules you only have 9. so useless.
I've been dumping modules for a very long time. and there are a couple of new modules(november/december 2021)Sure, there are way more modules. But to be fair there are only 16 which are loaded regularly, so at least he has more than half of them ;)
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz