Проверка целостности ASAR Электронная безопасность |
Проверка целостности ASAR Электронная безопасность |

0x01 Введение

Привет всем, сегодня я с вами обсуждаю ASAR честностьисследовать,ASAR Не стратегия, а формат файла

Electron из asar(Archive)да Что-то вроде Воля Несколькодокументи Оглавление Пакетв единыйдокументиз Формат архива,Предназначен для Electron Дизайн приложения. Он похож на сжатую упаковку, но имеет специальную конструкцию, облегчающую Electron Возможность напрямую архивировать ресурсы загрузки документов из этого архива без необходимости его предварительного разархивирования. использовать asar из Ключевые преимущества включают в себя:

  1. Оптимизация производительности:путем сокращениядокументсистемаиз I/O Эксплуатация, повышение скорости применения изнагрузки. потому что что Electron можно получить непосредственно из одного asar документ в ресурсах для чтения без необходимости просматривать несколько небольших документов.
  2. Защитите исходный код:Воляприложениеизисходный кодиресурс Пакет Вход на страницу не может быть просмотрен напрямую.из Архивдокументсередина,Добавляет уровень защиты,Конечным пользователям становится сложнее напрямую редактировать или изменять внутреннюю структуру и исходный код приложения.
  3. Упрощение развертывания:один asar Пакет заменяет исходный пакет «Понятно из нескольких документов Оглавление», упрощая процесс распространения и обновления приложения.

использовать MacOS из пользователей может быть очень легко понять, MacOS В приложении суффикс программаиз .app , вы можете дважды щелкнуть, чтобы выполнить, но вы также можете щелкнуть правой кнопкой мыши -> Явное содержимое пакета идет по этому пути.

Это тоже немного похоже Linux серединаиз tar Файл — это набор файлов, объединенных вместе.

Соберите всех вместе, чтобы решить проблему длинного пути.,Также было бы лучше провести полную проверку организма.,Вам нужно только проверить это после комплектации.,Это гарантирует, что программа сможет своевременно обнаружить подделку исходного кода.

В общедоступной учетной записи открыта функция сообщения, каждый может оставить сообщение для обсуждения ~

В этой статье также представлены PDF версиякнига及 Github , смотрите конец статьи

0x02 ASAR Как использовать файлы

Официально соедините файлы вместе или вы можете сделать что-то вроде ELF Этот вид документа,использовать ресурс для поиска документа по смещению,Или просто создайте систему документов,Могут быть сопоставлены один за другим через ссылку,Если говорить о сути начальства,Это определенно то же самое

С официальной точки зрения существования они связаны .asar Документ рассматривается как виртуальная система Оглавленияиздокументов. Позже официальное правительство улучшило эту функцию. Node API и Web API , что позволяет поддерживать этот формат вызова, но вполне возможно, что невозможно все Изменить. на поддержку, так что официальный список Понятно некоторые методы, которые можно использовать

существовать MacOS начальство,asar Файл находится по адресу /Applications/xxx.app/Contents/Resources/app.asar

1. Node API

потому что Electron из специальной патч-программы, Node API например fs.readFile и require использовать ASAR нравитьсяиспользоватьвиртуальный Оглавление Такой же, Внутридокументтакже нравитсядасуществоватьдокументсистема内Такой же

Например, предположим, что мы существуем /path/to В папке есть один example.asar Сумка:

1) Список внутренних файлов asar
Язык кода:javascript
копировать
asar list /path/to/example.asar
Язык кода:javascript
копировать
$ asar list /path/to/example.asar
/app.js
/file.txt
/dir/module.js
/static/index.html
/static/main.css
/static/jquery.min.js
2) Читать файлы в asar
Язык кода:javascript
копировать
const fs = require('node:fs')
fs.readFileSync('/path/to/example.asar/file.txt')

file.txt вставить символы flag,проходить process.resourcesPath Вы можете вернуть путь к ресурсу, который является текущим путем после сращивания.

После упаковки выполните его, чтобы проверить, можно ли его успешно вывести.

3) Получите все файлы в корневом каталоге asar.
Язык кода:javascript
копировать
const fs = require('node:fs')
fs.readdirSync('/path/to/example.asar')
4) Используйте модули в asar
Язык кода:javascript
копировать
require('./path/to/example.asar/dir/module.js')

Модуль успешно загружен

5) Загрузите веб-страницу в asar.
Язык кода:javascript
копировать
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()

win.loadURL('file:///path/to/example.asar/static/index.html')

успешно загружено

2. Web API

1) Рассматривать файлы asar как папки.

существовать网页середина,Можетиспользовать file: Запрос протокола находится в файле. нравиться Node API, ASAR Архивы можно рассматривать как каталоги.

Язык кода:javascript
копировать
<script>
let $ = require('./jquery.min.js')
$.get('file:///path/to/example.asar/file.txt', (data) => {
  console.log(data)
})
</script>
2) Рассматривать файлы asar как независимые файлы.

некоторыйслучайнапримерверно ASAR Чтобы проверить файл архива, нам нужно прочитать его так: "документ" читай так ASAR документ. 为此你Можетиспользоватьвстроенныйиз НетasarФункцияизиоригинальныйfsмодуль一模Такой жеизoriginal-fsмодуль。

Язык кода:javascript
копировать
const originalFs = require('original-fs')
originalFs.readFileSync('/path/to/example.asar')

Вы также можете использовать process.noAsar установлен на true отключить fs пара в модуле asar поддержка:

Язык кода:javascript
копировать
const fs = require('node:fs')
process.noAsar = true
fs.readFileSync('/path/to/example.asar')

3. Запустить бинарный файл в архиве ASAR.

Есть несколько узлов APIМожетосуществлятьдвоичныйдокумент,Напримерchild_process.execchild_process.spawnиchild_process.execFile,но толькоexecFileподдерживатьсуществоватьASARв файлеосуществлятьдвоичныйдокумент.

потому что exec и spawn позволять command заменять file в качестве входных данных, в то время как command дануждатьсясуществовать shell Внизосуществлятьиз

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

4. Добавьте распакованные файлы в архив АСАР.

Некоторые API-интерфейсы Node при вызове распаковывают файлы в файловую систему. Помимо проблем с производительностью, могут быть обижены различные антивирусные сканеры.

你Может把использовать--unpack Варианты, как Воля, различные документы остаются в несжатом состоянии из обходного пути. В приведенном ниже примере собственная общая библиотека модуля Node.js Воля не будет заблокирована:

Язык кода:javascript
копировать
$ asar pack app app.asar --unpack *.node

После запуска команды вы увидите app.asar.unpacked Папки и app.asar файлы создаются вместе. Нет被Пакетиздокументи app.asar Будут заархивированы и опубликованы вместе.

Справочная статья https://www.electronjs.org/zh/docs/latest/tutorial/asar-archives

0x03 ASAR честность

Честность ASAR — экспериментальная функция, которая существует во время проверки приложения из архива ASAR в контенте.

В настоящее время поддерживается ASAR честностьизверсиякнигаследующее

  • MacOS начальство Electron >= 16.0.0
  • Windows начальство Electron >= 30.0.0

В настоящее время поддерживается только @electron/asar Генерировать ASAR документизчестностьисследовать

существоватьasar@3.1.0середина引入Понятноподдерживать。пожалуйста, обрати внимание,Этот пакет был перенесен на @electron/asar 所иметьверсиякнигаиз @electron/asar Все поддерживают АСАР честность

1. Принцип работы

каждый ASAR файлы содержат JSON Строка формат голова, головаиз содержит integrity объект, этот объект содержит 16 Базовый код из hash ценность, это hash ценность – это весь ASAR документиз hash ценить также содержит массив Понятно, в котором хранятся издакаждые блоки из 16 Базовый код из hash ценить

Язык кода:javascript
копировать
{
  "algorithm": "SHA256",
  "hash": "...",
  "blockSize": 1024,
  "blocks": ["...", "..."]
}

кроме того,существовать ПакетElectronприложениепрограммачас,Вам необходимо определить весь заголовок ASAR в шестнадцатеричном виде.

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

2. Включить в бинарной программе ASAR честность

Проверка честности ASAR в настоящее время отключена по умолчанию в существовании и может быть переключена при построении существования. EnableEmbeddedAsarIntegrityValidation этот fuse Включить, обычно тоже нужно включить onlyLoadAppFromAsar в противном случае проверку достоверности можно обойти через путь поиска кода приложения Electron.

Язык кода:javascript
копировать
const { flipFuses, FuseVersion, FuseV1Options } = require('@electron/fuses')

flipFuses(
  // E.g. /a/b/Foo.app
  pathToPackagedApp,
  {
    version: FuseVersion.V1,
    [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
    [FuseV1Options.OnlyLoadAppFromAsar]: true
  }
)

Конечно, ты можешь пройти Electron Forge Настройка при упаковке

3. Соберите хэш заголовка ASAR.

ASAR честностьпо твоемусуществовать Пакетчас提供изголова hash проверить ASAR Архив контента. Предоставьте хэш этого пакета из процесса верно macOS иWindows дадругойиз

1) Использование Electron Forge и Electron Packager

Electron Forge и Electron Packager автоматически настраивают это для вас, никакой дополнительной настройки не требуется. Минимальная версия требуемой честности ASAR:

  • @electron/packager@18.3.1
  • @electron/forge@7.4.0
2) Используйте другую систему сборки.

MacOS

Для пакета macOS вы должны существовать Пакетизаппиз. Info.plist Среднее заполнение допустимо из ElectronAsarIntegrity Словарный блок. Вот пример

Язык кода:javascript
копировать
<key>ElectronAsarIntegrity</key>
<dict>
  <key>Resources/app.asar</key>
  <dict>
    <key>algorithm</key>
    <string>SHA256</string>
    <key>hash</key>
    <string>9d1f61ea03c4bb62b4416387a521101b81151da0cfbe18c9f8c8b818c5cebfac</string>
  </dict>
</dict>

Действительный algorithm ценить в настоящее время SHA256hash даиспользовать Просто указаноиз algorithm вычислить АСАРголовагетижаш

@electron/asar Пакет опубликован getRawHeaderметод,然назад Можетверно该методиз Результаты хэшируются для создания этогоценить(Напримериспользоватьnode:crypto модуль).

Windows

При упаковке программы платформы Windows тип должен быть указан как Integrity、Имя ElectronAsar из Действительная запись ресурса. Этот ресурс надо ценить JSON Кодирование из словаря, формат следующий:

Язык кода:javascript
копировать
[
  {
    "file": "resources\\app.asar",
    "alg": "sha256",
    "value": "9d1f61ea03c4bb62b4416387a521101b81151da0cfbe18c9f8c8b818c5cebfac"
  }
]

Примеры реализации см. Electron Packager Код в из src/resedit.ts https://github.com/electron/packager/blob/main/src/resedit.ts

4. Есть вопросы по принципам?

существование Вот да разъяснение основных принципов Понятно, на самом деле да .asar документизцелый и блок hash 被存储существовать .asar изголова,конечновычислитьобщий hash Голову включать нельзя, иначе возник бы логический парадокс.

Затем передайте .asar изголова строка вычислитьхеш получатьодинценить,之назад Воляэтотценитьсуществовать Пакет过程середина嵌入到двоичный Можетосуществлятьдокументсередина

Так что если вы включите проверку честности кода,Тогда существование будет вынуто при запуске из,такой же .asar изголоваизhashсравниватьверно,беги, если прошло,Выйти, если не пройдено

Здесь есть некоторые вопросы, которые довольно расплывчаты. При запуске да только проверяет. .asar документизголоваиз hash ? После прохождения даголовайижаш проверки он будет проверен дальше. .asar целое и блок из hash и .asar Согласовано ли записанное содержимое?

Полный текст может быть сгенерирован после программы Пакет. .exe Есть и такие документы .exe существовать Установитьназад会释放一些документ

сейчассуществоватьвопросда,Затем код проверки честности ASAR изначально появился в документе.,возвращатьсядасуществовать Установитьдокументвнутрии释放назадиззапускатьдокумент(двоичный Можетосуществлятьдокумент)внутри都иметь呢?

существования В процессе поиска информации было установлено, что разработчик существования был найден пользователем существующего. 2019 Проведите обсуждение в 2017 году и скажите, что, если asar Код изменен Electron Обнаружил, что в данный момент проверка честности кода отсутствует. fuse Как и официальная технология, отношение официального персонала: Если злоумышленник смог изменить .asar документ Понятно, указывающий, что злоумышленник получил Понятно системные разрешения. В это время вам следует побеспокоиться о том, издано ли это. asar не был изменен, но злоумышленник получил системные разрешения

Некоторые разработчики и Безопасность высказывают собственное мнение,Если чиновник не предоставил код, проверьте честность,Тогда злоумышленник сможет использовать подписанный код изпрограммана загрузкизлонамеренный.,Другими словами, дабелый плюс черный,Пожалуйста, перейдите по ссылке ниже для ознакомления с конкретным содержанием обсуждения.

https://github.com/electron/electron/issues/19671

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

Но в это время,подпись двойного документа станет недействительной,Система проверки честности поможет асару проверить честность,Таким образом, подпись программы — это почти последняя линия защиты.

0x04 проверить гипотезу

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

Все, что нам нужно для разработки и упаковки программы для тестирования, — это выбрать в качестве платформы Windows 11.

1. Создайте заявку

Непосредственно выберите официальную программу

Язык кода:javascript
копировать
npm init electron-app@latest my-app

Electron версиякнига为 30.0.3 , с возможностью проверки честности кода

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

2. Установите Фордж

Введите каталог программы, то есть my-app , выполните команду установки

Язык кода:javascript
копировать
npm install --save-dev @electron-forge/cli

3. Установите проверку честности кода включения.

Просто нужно изменить my-app Оглавление Внизиз forge.config.js Просто файл

Мы обнаружили, что по умолчанию установлено значение «установлено». на true Понятно

4. Программа упаковки

Язык кода:javascript
копировать
npm run make

существовать my-app Недавно создано Понятно в разделе Оглавление out Справочник, официальные советы нам Artifacts существовать out Оглавление Внизиз make в каталоге

существовать out Под папкой находятся две папки, среди которых make В папке документов хранятся изда, скомпилированные из одного документа; Другая папка с именем программа - операционная система - архитектура с именем издокумент содержит несколько документов Оглавление, включая входной документ.

проверено,По умолчанию документ не включает процесс установки.,Он также не будет распакован для выпуска Оглавление документа.,Итак, давайте возьмем пример Multi-documentОглавлениеизпрограмма.

Когда программа откроется нормально, инструменты разработчика откроются автоматически.

предохранитель такой

5. Просмотр заголовка ASAR

существовать asar из Github В проекте есть подробное введение. ASAR формат заголовка

Язык кода:javascript
копировать
| UInt32: header_size | String: header | Bytes: file1 | ... | Bytes: file42 |
Язык кода:javascript
копировать
{
   "files": {
      "tmp": {
         "files": {}
      },
      "usr" : {
         "files": {
           "bin": {
             "files": {
               "ls": {
                 "offset": "0",
                 "size": 100,
                 "executable": true,
                 "integrity": {
                   "algorithm": "SHA256",
                   "hash": "...",
                   "blockSize": 1024,
                   "blocks": ["...", "..."]
                 }
               },
               "cd": {
                 "offset": "100",
                 "size": 100,
                 "executable": true,
                 "integrity": {
                   "algorithm": "SHA256",
                   "hash": "...",
                   "blockSize": 1024,
                   "blocks": ["...", "..."]
                 }
               }
             }
           }
         }
      },
      "etc": {
         "files": {
           "hosts": {
             "offset": "200",
             "size": 32,
             "integrity": {
                "algorithm": "SHA256",
                "hash": "...",
                "blockSize": 1024,
                "blocks": ["...", "..."]
              }
           }
         }
      }
   }
}

С точки зрения структуры заголовка расположение файла также определяется смещением.

Мы можем напрямую resources Внутри app.asar втащить 16 Чтобы импортировать Проверять, я выбираю строку существование из

Мы обнаруживаем, что помимо магического числа Понятнодокумент,Остальное — обычный текст.,Это будет легко

Справочная статья https://github.com/electron/asar

6. Создайте вредоносный ASAR

По умолчанию,ASAR Внутреннее да читается только из, поэтому его нельзя передать напрямую. Electron из API изменить,

Мы можем скомпилировать две копии APP, название документа остается прежним. В одном из материалов инструменты разработчика отключены, а значит да имитирует поведение злонамеренного, а затем использовать то же самое. Electron Forge Пакет,之назадиспользовать原книганормальныйизголова Заменить или нетнормальныйизголова,Снова Воляобъединены виззлонамеренныйasarдокумент Заменить нанормальныйиздокумент,давайте посмотрим,此часпрограммаданетнормальный,да Можно ли обнаружить вмешательство?

1) Генерировать вредоносные файлы ASAR.

Давайте сначала попробуем перезаписать обычный файл и посмотреть, получится ли это сделать. Что будет отображено в случае неудачи? Конечно, сделайте резервную копию исходных файлов.

Похоже, что напрямую заменить даиз не получится.

2) Тестирование покрытия после изменения вредоносного заголовка asar.

нормальный .asar Позиция заголовка проверки файла 0x00002937 ,10 Шестнадцатеричная система 10551

злонамеренный .asar Позиция заголовка проверки файла 0x00006FF3 ,10 Шестнадцатеричная система 28659

Итак, мы заменяем слова примерно,Удалите непосредственно заголовок злонамеренного документа.,之назад Волянормальныйдокументизнадеть головузлонамеренныйдокументначальствоидти

сделать что-то вроде этого,Вам все равно придется провести линию фронта в своих областях знаний.,Запуск командной строки

идти掉злонамеренный .asar документ, остальное оставь себе

Язык кода:javascript
копировать
dd if=./app-evil.asar of=./app-evil-without-header.asar bs=1 skip=28659

получатьнормальный .asar документизголова

Язык кода:javascript
копировать
dd if=./app.asar of=./app-header.asar bs=1 count=10551

Начать соединение двух файлов

7. Заменить оригинальный app.asar

давать возможность my-app.exe

можно увидеть,честность Проверка пройдена Понятно,Но дапрограмма не встала

Это нетрудно понять, потому что чтосуществовать Заменяем заголовок, там есть смещение, связанное с информацией, дальше надо начинать B План Понятно, я прямо модифицирую нормальныйиз app.asar ,Воля Внутри Замените пробелы на комментарии,Это не меняет размер документа,Местоположение документа также не изменилось.,Если он все еще не может начаться,Затемда Electron Он также проверит содержимое заголовка документа.

Измените эти два пробела на //

Волямодифицированныйиз app.asar Обложка оригинального документа

Начать заново my-app.exe

можно увидеть,Модификация прошла успешно Понятно,Инструменты разработчика не появляются,Это показывает, что проверка честности ненадежна.,攻击者完全Можетпроходить修改 app.asar Выполнить внедрение кода

0x05 onlyLoadAppFromAsar

о onlyLoadAppFromAsar этот说一Вниз Функция,Согласно официальному описанию,По умолчанию,Electron Разработка изпрограммы поиск asar в недокументированном порядке

  • app.asar
  • app
  • default_app.asar

при включении onlyLoadAppFromAsar Когда, просто использовать app.asar

начальство Упоминается в интервьюиз app Следует обратиться к Оглавлению Microsoft из VSCode Просто даиспользоватьиз app Оглавление

мы будемmy-appпрограммаиз app.asar Изменить на default_app.asar

На этом этапе мы пытаемся открыть my-app

Окно не создается

мы проходим @electron/fuses верноonlyLoadAppFromAsar выполнить флип

Выполнить еще раз my-app

На этот раз проверка не удалась Понятно,此час我们已经Волязлонамеренныйизapp.asar Обменен обратно на нормальныйиз Понятно, но проверка не удалась на честность

должен дапотому чтоначальствостолкнулось,существовать Windows Проверьте честность, чтобы получить .asar документизадресиз,конечноэтот Forge Понятное дело за нас сделали, но дорабатываем вручную app.asar -> default_app.asar , бинарная программа не знает

На этом этапе мы снова проходим @electron/fuses верно EnableEmbeddedAsarIntegrityValidation выполнить флип

Выполнить еще раз my-app

SmoothПогруженно из default_app.asar

На этом этапе нам нужно подумать о Понятно. VSCode нам просто нужно существованиеиз resources Поместите один в раздел Оглавление app.asar , возможно, можно угнать VSCode Понятно, давай попробуем

мы модифицируем my-app-evil Предметы, которые делают это Открытьвычислить

мы будем app.asar Копировать в VSCode из resources Оглавление

Открыть VSCode

Успешно захвачено VSCode

0x06 Подвести итог

Electron Официальный запуск Понятно ASAR проверка честности, включив EnableEmbeddedAsarIntegrityValidation этот fuse из способа сделать проверку программсуществовать при запуске .asar документизчестность

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

Когда программа запустится, она прочитает .asar документизголова,вычислить hash После ипрограмма внутреннего изценить выполнить вернее чем, если верно чем через Понятно, то загрузить .asar файл для выполнения

Здесь извопросысуществовать по,программабуду только проверятьголовавычислитьназадизhash,Но он не проверит, действительна ли запись изхэшда в голове.,Поэтому, если вы измените содержимое Понятного документа,размер документа остается неизменным,Смещение не изменится (смещение существующегоголова),чтобы обойти проверку

Еще один интересный из fuse да onlyLoadAppFromAsar ,этот fuse если закрыто,программасуществоватьнагрузка .asar Документ будет искаться в следующем порядке: нагрузка ищет документ в первую очередь

  • app.asar
  • app
  • default_app.asar

Если предохранитель включен, только нагрузка app.asar,所以если закрыто该 fuse , приведет к перехвату потока выполнения

Судя по всему, последняя версия. VSCode Вы можете добиться угона, потому что что VSCode использоватьизда app Оглавление

мы давайте честно проверим проблему еще раз Electron официальное сообщение

0x07 PDF версия & Github

PDF версия

https://pan.baidu.com/s/17OilPRMxcLWwuHGV5z_Q2w?pwd=yrbq

Github

https://github.com/Just-Hack-For-Fun/Electron-Security

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