<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Запись бинарных данных в секцию ELF</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html</link>
    <description>Стоит задача - в программе запрятать бинарные данные. Допустим архив. &lt;br&gt;&lt;br&gt;Создаём файл data.cpp для включения запланированных для добавления данных:&lt;br&gt;&lt;br&gt;   volatile char a&#091;DATASIZE&#093; __attribute__((section(&quot;.her&quot;))) = &#123;0xfa&#125;;&lt;br&gt;&lt;br&gt;Таким образом мы обозначаем намерения создать переменную в отдельной секции.&lt;br&gt;&lt;br&gt;Далее компилируем data.cpp в object-файл data.o:&lt;br&gt;&lt;br&gt;   g++ -c -g data.cpp&lt;br&gt;&lt;br&gt;Смотрим shed-адрес секции. И производим заливку согласно предустановленному размеру переменной &quot;a&quot;. На&amp;#12288;моём компьютере это выглядит так:&lt;br&gt;&lt;br&gt;   dd if=out.tar of=data.o bs=1 count= seek=52 conv=notrunc&lt;br&gt;&lt;br&gt;Архив, либо бинарник конечно предварительно может быть зашифрован, дабы избежать лишних посягательств. Дальнейшую сборку программы можно сделать Make файлом, но я решил написать командами для наглядности процесса:&lt;br&gt;&lt;br&gt;   g++ -c -g main.cpp&lt;br&gt;   g++ -g -o test main.o data.o&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: &lt;br&gt;Обсуждается: http://www.opennet.ru/tips/info/2936.shtml&lt;br&gt;</description>

<item>
    <title>Запись бинарных данных в секцию ELF (pavlinux)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#10</link>
    <pubDate>Thu, 04 Feb 2016 19:55:33 GMT</pubDate>
    <description>$ rar a -sfx bash.exe out.tar;&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (dq0s4y71)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#9</link>
    <pubDate>Wed, 03 Feb 2016 16:46:58 GMT</pubDate>
    <description>Ассемблерные вставки не есть хорошо.&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (Andrey Mitrofanov)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#8</link>
    <pubDate>Mon, 25 Jan 2016 07:05:28 GMT</pubDate>
    <description>&amp;gt; А не проще volatile char a&#091;DATASIZE&#093; = &#123;бинарь&#125;?&lt;br&gt;&lt;br&gt;Двоичные патчОры ещё не открыли для себя генерацию программ, здесь - хексов в Си. Бинарное программирование оно такое -- сложное и малодоступное. &lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (Аноним)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#7</link>
    <pubDate>Sun, 24 Jan 2016 20:23:31 GMT</pubDate>
    <description>А не проще volatile char a&#091;DATASIZE&#093; = &#123;бинарь&#125;?&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (a)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#6</link>
    <pubDate>Wed, 20 Jan 2016 15:17:56 GMT</pubDate>
    <description>Делается один раз:&lt;br&gt;&lt;br&gt;dd bs=10m count=1 if=/dev/random of=random.bin&lt;br&gt;1+0 records in&lt;br&gt;1+0 records out&lt;br&gt;10485760 bytes transferred in 0.636338 secs (16478287 bytes/sec)&lt;br&gt;&lt;br&gt;time xxd -i random.bin &amp;gt; random.c&lt;br&gt;real0m1.997s&lt;br&gt;user0m1.935s&lt;br&gt;sys0m0.057s&lt;br&gt;&lt;br&gt;time gcc -c random.c&lt;br&gt;real0m9.414s&lt;br&gt;user0m8.947s&lt;br&gt;sys0m0.350s&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (3619629066)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#5</link>
    <pubDate>Wed, 20 Jan 2016 15:04:43 GMT</pubDate>
    <description>10 mb?&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (a)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#4</link>
    <pubDate>Wed, 20 Jan 2016 14:59:48 GMT</pubDate>
    <description>man xxd&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (3619629066)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#3</link>
    <pubDate>Wed, 20 Jan 2016 08:16:15 GMT</pubDate>
    <description>&amp;gt;А так чем плохо?&lt;br&gt;&lt;br&gt;wow.&amp;#12288;Очень, очень хорошо.&lt;br&gt;</description>
</item>

<item>
    <title>Запись бинарных данных в секцию ELF (maneken)</title>
    <link>https://www.solaris.opennet.ru/openforum/vsluhforumID3/106376.html#2</link>
    <pubDate>Wed, 20 Jan 2016 02:49:37 GMT</pubDate>
    <description>А так чем плохо? Ничего дополнительно делать не надо. &lt;br&gt;__asm(&lt;br&gt;&quot;.global data_file&#092;n&quot;&lt;br&gt;&quot;.global _data_file&#092;n&quot;&lt;br&gt;&quot;data_file:&#092;n&quot;&lt;br&gt;&quot;_data_file:&#092;n&quot;&lt;br&gt;&quot;.incbin &#092;&quot;data.zip&#092;&quot;&#092;n&quot;&lt;br&gt;&quot;.global data_file_len&#092;n&quot;&lt;br&gt;&quot;.global _data_file_len&#092;n&quot;&lt;br&gt;&quot;data_file_len:&#092;n&quot;&lt;br&gt;&quot;_data_file_len:&#092;n&quot;&lt;br&gt;&quot;.int .-data_file &#092;n&quot;&lt;br&gt;);&lt;br&gt;extern void * data_file;&lt;br&gt;extern void * data_file_len;&lt;br&gt;unsigned char * data =(unsigned char *)&amp;data_file;&lt;br&gt;int * datalen =(int *) &amp;data_file_len;&lt;br&gt;</description>
</item>

</channel>
</rss>
