Как найти libavcodec для сборки VLC (с AFL fuzz)?

Я предполагаю, что CSV-файл, который у вас есть, содержит дополнительную строку заголовка. Если нет, то вы можете легко добавить дополнительную строку echo, чтобы добавить заголовок.

Я заметил, что в вашем CSV есть дополнительный столбец данных; похоже, что это длительность.

Если вы хотите сохранить продолжительность, то это довольно просто:

(
  echo "From: abc"
  echo "Subject: testing of html table using"
  echo "Content-type: text/html"
  echo
  echo '<table border="1">'
  sed -e 's!^!<tr><td>!' -e 's!$!</td></tr>!' -e 's!,!</td><td>!g' status.csv
  echo '<table>'
) | sendmail ...

Каждая строка CSV преобразуется в нечто подобное:

<tr><td>BF</td><td>2016-07-28 09:30:38</td><td>2016-07-28 23:43:32</td><td>14:12:54</td></tr>

Если вам не нужна последняя колонка вывода, то мы можем изменить строку sed, чтобы удалить ее:

sed  -e 's!,[^,]*$!!' -e 's!^!<tr><td>!' -e 's!$!</td></tr>!' -e 's!,!</td><td>!g' status.csv

Теперь эта же строка

<tr><td>BF</td><td>2016-07-28 09:30:38</td><td>2016-07-28 23:43:32</td></tr>

В обоих случаях, поскольку нет , между временем и датой, мы сохраняем их в одном и том же . .. элемент данных.

EDIT TO ADD:

Давайте разложим sed на составные части:

Во-первых

s!,[^,]*$!!

Это удаляет все от последней запятой до конца строки. По сути, удаляется поле "Duration"

Далее

s!^!<tr><td>!

Это делает так, что каждая строка начинается с - по сути, начало новой строки таблицы и нового элемента данных

Затем

s!$!</td></tr>!

Это делает так, что элемент данных заканчивается, а строка таблицы заканчивается в конце каждой строки.

В этот момент у нас есть строка, которая выглядит как csv,file,data, поэтому мы можем просто преобразовать все , в

s!,!</td><td>!g

Маленькие простые шаги делают большую работу!

3
12.11.2016, 18:43
2 ответа

У вас есть несколько вариантов:

  • перекомпилировать недавний исходный пакет ffmpeg , чтобы получить libavcodec57 & co.;
  • обновление до Ubuntu 16.10, в котором libavcodec57 ;
  • следуют подходу пакета VLC, который включает в себя соответствующую версию fmmpeg и используйте это вместо этого.

Я рекомендую последний подход; для начала:

sudo apt-get install devscripts
dget http://httpredir.debian.org/debian/pool/main/v/vlc/vlc_2.2.4-8.dsc
cd vlc-2.2.4
CC=afl-gcc CXX=afl-g++ dpkg-buildpackage -us -uc

Здесь вы узнаете, какие еще пакеты вам нужно установить (если есть). Если вы не хотите использовать dpkg-buildpackage , обратитесь по крайней мере к debian / rules , чтобы узнать о соответствующих параметрах конфигурации.

4
27.01.2020, 21:26

перестроить последний исходный пакет ffmpeg, чтобы получить libavcodec57 и т. д.

это, вероятно, самый быстрый способ (см. ниже )начать работу. apt установите nasm yasm, если это необходимо.

-2
27.01.2020, 21:26

Теги

Похожие вопросы