Π’Ρ…ΠΎΠ΄ Π‘Π»ΠΎΠ³
Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈ Ρ€Π΅ΠΌΠΎΠ½Ρ‚
Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹
ΠšΡ€Π°ΡΠΎΡ‚Π°
ЀрилансСры
Π Π°Π·Π½Ρ‹Π΅ спСциалисты
Π’Ρ€Π΅Π½Π΅Ρ€Ρ‹
Π£Ρ…ΠΎΠ΄ Π·Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹ΠΌΠΈ
Автоинструкторы

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ β€” удалённая Ρ€Π°Π±ΠΎΡ‚Π° Π² МосквС

Π”Π°Ρ‚Π°: 2026-01-21
Π”Π΅Ρ‚Π°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
Москва
Π—Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ
дистанционно
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ
договорная
Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ
2026-01-21
ОписаниС
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° бСзопасного ПО. ВСстированиС. ПоТСлания ΠΈ особСнности: НуТна ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² объяснСнии ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ вмСстС Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ статикС ΠΈ Ρ„Π°Π·Π·ΠΈΠ½Π³Ρƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ статикС: Π§Π°ΡΡ‚ΡŒ 3. Svace ΠΈ CVE-[Π’Π΅Π»Π΅Ρ„ΠΎΠ½ скрыт] Svace - это статичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ИБП РАН. Для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Π°Π½Π°Π»ΠΈΠ·Π° (начиная с ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ svace analyze) трСбуСтся приобрСтСнная лицСнзия Π½Π° использованиС Svace, поэтому ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡΠ½Π΅ΠΏΡˆΠΎΡ‚. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ CVE-[Π’Π΅Π»Π΅Ρ„ΠΎΠ½ скрыт] Π±Ρ‹Π»Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° Π² GPAC - Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ΅Π΄ΠΈΠ°ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ с использованиСм рассмотрСнных Ρ€Π°Π½Π΅Π΅ cppcheck ΠΈ clang static analyzer Π½Π΅ получится, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Svace. Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ 3 части Ρƒ нас Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ выполнСния ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² задания .svace-dir, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°ΡΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ svace build Ρ„Π°ΠΉΠ», содСрТащий ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git format-patch ΠΏΠ°Ρ‚Ρ‡, ΠΈΡΠΏΡ€Π°Π»ΡΡŽΡ‰ΠΈΠΉ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Настройка окруТСния Установка ΠΈ настройка Svace Π‘ΠΊΠ°Ρ‡Π°Π΅ΠΌ ΠΈ распакуСм Π°Ρ€Ρ…ΠΈΠ² со статичСским Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ Svace curl -LJ -o svace.tar.bz2 'https://nextcloud.ispras.ru/public.php/dav/files/pB8sn5a2bp6BjLP/Svace/svace-4.0.250829-x64-linux.tar.bz2' tar -xjf svace.tar.bz2 Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ симлинк Π² PATH, Ρ‡Ρ‚ΠΎΠ±Ρ‹ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ svace Π±Π΅Π· указания ΠΏΡƒΡ‚ΠΈ ln -s ~/svace-4.0.250829-x64-linux/bin/svace /usr/local/bin/svace Установка ΠΈ настройка Svacer Установим сСрвСр для просмотра Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Svacer ΠΈΠ· прСдоставляСмого RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° curl -LJ -o svacer-11.2-0.x86_64.rpm 'https://nextcloud.ispras.ru/public.php/dav/files/pB8sn5a2bp6BjLP/Svace/Svacer/svacer-11.2-0.x86_64.rpm' sudo apt-get install ./svacer-11.2-0.x86_64.rpm УстанавливаСм postgresql с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ: sudo apt-get install postgresql16-server postgresql16-contrib Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… postgresql ΠΈ запускаСм сСрвис (ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root) /etc/init.d/postgresql initdb systemctl start postgresql ЗапускаСм ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΊΡƒ psql ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ postgres: psql -U postgres Π’Π½ΡƒΡ‚Ρ€ΠΈ psql создаСм Π‘Π” для Ρ€Π°Π±ΠΎΡ‚Ρ‹ svacer: postgres=# create database svace; postgres=# create user svace with encrypted password 'svace'; postgres=# grant all privileges on database svace to svace; postgres=# alter user svace superuser; postgres=# CREATE EXTENSION IF NOT EXISTS btree_gin; Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ctrl+D ЗапускаСм Svacer, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 8081: svacer-server run --port 8081 ПослС этого оставляСм Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ процСсс сСрвСра, Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅ Установка GPAC ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GPAC git clone Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСсурсов с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ± уязвимости CVE-[Π’Π΅Π»Π΅Ρ„ΠΎΠ½ скрыт] опрСдСляСм ΡƒΡΠ·Π²ΠΈΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π° Π½Π΅Ρ‘. БтатичСский Π°Π½Π°Π»ΠΈΠ· ./configure --static-mp4box --use-zlib=no Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ .svace-dir, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для хранСния Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² статичСского Π°Π½Π°Π»ΠΈΠ·Π°: svace init ЗапускаСм сборку (make) ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Svace: svace build make На этом шагС Ρƒ нас Π΅ΡΡ‚ΡŒ наполнСнная .svace-dir, Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΉ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ Π°Π½Π°Π»ΠΈΠ·. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π±Ρ‹Ρ‚ΡŒ запуск Π°Π½Π°Π»ΠΈΠ·Π° Svace, Π½ΠΎ Π½Π° этом шагС трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ, Π° Π΅Π΅ Ρƒ нас Π½Π΅Ρ‚, поэтому ΠΌΠΎΠΆΠ΅ΠΌ просто ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π° дальшС Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡΠ½Π΅ΠΏΡˆΠΎΡ‚: Π Π°Π·Π±ΠΎΡ€ срабатываний ΠΈ исправлСниС ошибки Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ пропускаСм ΠΈΠ·-Π·Π° отсутсвия Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ адрСсу http://127.0.0.1:8081 ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Svacer с Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ admin:admin Π—Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΡΠ½Π΅ΠΏΡˆΠΎΡ‚ - gpac.snap. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡΠ½Π΅ΠΏΡˆΠΎΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ -> Новый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ -> Π˜ΠΌΠΏΠΎΡ€Ρ‚ -> снимок (*.snap) Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСсурсов с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ± уязвимости CVE-[Π’Π΅Π»Π΅Ρ„ΠΎΠ½ скрыт] Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€, ΡΡ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΠΉ Π½Π° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Для этой уязвимости Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ PoC-Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сущСствованиС уязвимости: gpac/bin/gcc/MP4Box -add poc.nhml -new new.mp4 Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСсурсов с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ± уязвимости CVE-[Π’Π΅Π»Π΅Ρ„ΠΎΠ½ скрыт] ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‡ с исправлСниСм ошибки (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git cherry-pick с ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΈΠ· апстрима), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ PoC-Ρ„Π°ΠΉΠ» большС Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ статичСский Π°Π½Π°Π»ΠΈΠ· Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сработку Ρ€Π°Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π°. Π˜Ρ‚ΠΎΠ³ 3 части Π’ Ρ…ΠΎΠ΄Π΅ 3 части ΠΌΡ‹ познакомились с Svace. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΡƒΡΠ·Π²ΠΈΠΌΡƒΡŽ ΠΊ CVE-[Π’Π΅Π»Π΅Ρ„ΠΎΠ½ скрыт] Π²Π΅Ρ€ΡΠΈΡŽ GPAC, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ посрСдством статичСского Π°Π½Π°Π»ΠΈΠ·Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π΅Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PoC-Ρ„Π°ΠΉΠ»Π°, исправили Π΅Π΅ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π² отсутствии ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ срабатывания статичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ: ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ эту ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств статичСского Π°Π½Π°Π»ΠΈΠ·Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ получаСтся/Π½Π΅ получаСтся. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎ Ρ„Π°Π·Π·ΠΈΠ½Π³Ρƒ: Π§Π°ΡΡ‚ΡŒ 3. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ корпуса ΠΈ сбор покрытия Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠΉ части прСдлагаСтся: ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ корпус ΠΈΠ· части 2 ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Π΅Π³ΠΎ элСмСнтов; ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π°, достигаСмоС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ стратСгиСй Ρ„Π°Π·Π·ΠΈΠ½Π³Π° Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π·Π°Π΄Π°Π½ΠΈΠΉ 3 части Ρƒ нас Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ выполнСния ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² задания; ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ корпус для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· части 2; сгСнСрированный HTML-ΠΎΡ‚Ρ‡Π΅Ρ‚ с Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ покрытия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ· части 2. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ корпуса Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов корпуса, Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ корпус ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° afl-cmin ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ корпус, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°ΠΌΠΈ Π² Ρ…ΠΎΠ΄Π΅ выполнСния части 2: afl-cmin -i input -o input-unique -- ./program [...program's cmdline...]@@ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ элСмСнтов корпуса Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° элСмСнтов корпуса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° afl-tmin, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ cppcheck ΠΈΠ· части 2): afl-tmin -i input-unique/1.cpp -o input/1.cpp.min -- ./bin/cppcheck @@ Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ Π² части 2 корпус ΠΈΠ· 3 элСмСнтов, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ². Π‘Π±ΠΎΡ€ покрытия Для сбора покрытия Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ срСдствами сбора покрытия, входящими Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ llvm: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ cppcheck ВрСбуСтся ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ исслСдуСмый Π² части 2 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с инструмСнтациСй для сбора покрытия: CFLAGS=“-fprofile-instr-generate -fcoverage-mapping“ CXXFLAGS=“-fprofile-instr-generate -fcoverage-mapping“ CC=clang CXX=clang++ cmake . CFLAGS=“-fprofile-instr-generate -fcoverage-mapping“ CXXFLAGS=“-fprofile-instr-generate -fcoverage-mapping“ CC=clang CXX=clang++ make ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСсто хранСния Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ для сбора покрытия: mkdir cov cd cov export LLVM_PROFILE_FILE=“$(pwd)/cppcheck.profraw“ Π—Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ исслСдумый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ подавая Π½Π° Π²Ρ…ΠΎΠ΄ всС Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π² Ρ…ΠΎΠ΄Π΅ 5-ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠ³ΠΎ Ρ„Π°Π·Π·ΠΈΠ½Π³-тСстирования Ρ„Π°ΠΉΠ»Ρ‹: ./bin/cppcheck $(find “output/default/queue“ -type f) 2>&1 > /dev/null ΠŸΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сгСнСрированный ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ: llvm-profdata merge -sparse cov/cppcheck.profraw -o cov/cppcheck.profdata Π­ΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ lcov: llvm-cov export -format=lcov -instr-profile=cov/cppcheck.profdata ./bin/cppcheck > cov/cppcheck.lcov Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML-ΠΎΡ‚Ρ‡Π΅Ρ‚ genhtml cov/cppcheck.lcov -o cov/html Π˜Ρ‚ΠΎΠ³ 3 части Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π·Π°Π΄Π°Ρ‡ 3 части ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ корпус ΠΈ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‹

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€

дистанционно
ΠΎΡ‚ 1000.00 Ρ€ΡƒΠ±.
Для сСбя Π― Ρ…ΠΎΡ‡Ρƒ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Ρ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΡƒΠΌΠ΅ΡŽ, Π½ΠΎ Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Одна ΠΈΠ· ΠΈΠ΄Π΅ΠΉ ΠΈΠ³Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‡Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это 3D ΡˆΡƒΡ‚Π΅Ρ€ Но самая ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Π°Ρ ΠΈΠ· ΠΌΠΎΠΈΡ… ΠΈΠ΄Π΅ΠΉ это 2D ΠΈΠ³Ρ€Π° с ΠΎΠ½Π»Π°ΠΉΠ½ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ ОбС ΠΈΠ· этих ΠΈΠ΄Π΅ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° ПК Ρ‚Π°ΠΊ ΠΈ Π½Π° Android ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°: Intel Core i7 NVIDIA GEFORCE RTX 3060 6GB DDR4 16GB ΠœΠ΅ΡΡ‚ΠΎ Π½Π° ДискС D составляСт 256 Π“Π‘
Москва Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
Data Science. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля. ПоТСлания ΠΈ особСнности: Автономный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ€ΠΎΠ±ΠΎΡ‚ (Python/RPA) для автоматизирования Π½ΠΎΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ строго ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ. Π£Ρ‚Ρ€ΠΎΠΌ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΡ‚Ρ‡Ρ‘Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ excel. RPA, Web Automation / Selenium / Playwright, Π Π°Π±ΠΎΡ‚Π° с API мСссСндТСров ΠΈ CRM, Data Parsing / OSINT, Task Scheduler / Cron, Logging & Monitoring.
Москва ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ Π½Π° Unity

дистанционно
договорная
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ пСрсонаТСй, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ худоТСствСнный Π΄ΠΈΠ·Π°ΠΉΠ½, провСсти тСстированиС, ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ΅ сопровоТдСниС. Π˜Π³Ρ€Π°: для установки Π½Π° ПК. Π˜Π³Ρ€Π°: одиночная. Π–Π°Π½Ρ€: Ρ„Π°ΠΉΡ‚ΠΈΠ½Π³. Π“Ρ€Π°Ρ„ΠΈΠΊΠ°: 3D. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ: Ghost of Tsushima, Swordsman-VR.
Москва ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

дистанционно
договорная
Π”ΠΈΠ·Π°ΠΉΠ½ интСрфСйса, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: для Android, для iOS. Устройства для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ: смартфоны. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для бСзопасного Ρ‚Ρ€Π΅ΠΊΠΈΠ½Π³Π° Π΅Π΄Ρ‹, с ΠΌΠ΅Π΄ΠΈΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ, созданноС для людСй с РПП.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”ΠΈΠ·Π°ΠΉΠ½ интСрфСйса. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: для Android. Устройства для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ: смартфоны. Надо ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ Π°Π²Π°Ρ‚Π°Ρ€.
Москва ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

дистанционно
договорная
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: для iOS, для Android. Устройства для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ: смартфоны, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹. Бтудия Ρ‚Π°Π½Ρ†Π΅Π², запись Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ направлСния.
Π₯Π°Π½Ρ‚Ρ‹-Мансийский АО ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€. ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ. Π˜Π³Ρ€Π°: для установки Π½Π° ПК. Π˜Π³Ρ€Π°: массовая ΠΎΠ½Π»Π°ΠΉΠ½, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ. Π–Π°Π½Ρ€: ΡˆΡƒΡ‚Π΅Ρ€. Π“Ρ€Π°Ρ„ΠΈΠΊΠ°: 3D.
Москва ЀрилансСры