Какая программа создает массив C, учитывая какой-либо файл?

Проблема с интерпретируемыми языками, то, что Вы отправляете источник для получения их работа (если у Вас нет компилятора к байт-коду, но с другой стороны, это довольно тривиально для декомпиляции).

Так, если Вы не хотите жертвовать производительностью, можно только действовать на имена переменной и имена функций, например, замену их с a, b... aa, ab... или a101, a102, и т.д. И, конечно, удалить столько пространства/новых строк, сколько Вы можете (это быть тем, что так называемые компрессоры JS делают).
строкам Запутывания поразят производительность, если необходимо зашифровать их и дешифровать их в режиме реального времени. Плюс отладчик JS может показать окончательные значения...

34
задан 0x6adb015 20 July 2009 в 19:54
поделиться

4 ответа

78
ответ дан 27 November 2019 в 16:09
поделиться
hexdump -v -e '16/1 "0x%x," "\n"'

генерирует массив, подобный C, из стандартного ввода, но без объявления, фигурных скобок или хорошего форматирования.

5
ответ дан 27 November 2019 в 16:09
поделиться

Я знаю, что это вопрос для Unix / Linux, но любой, кто просматривает его и хочет сделать то же самое в Windows, может использовать Bin2H .

3
ответ дан 27 November 2019 в 16:09
поделиться

Для больших файлов преобразование в текст с последующим повторным анализом компилятором неэффективно и ненужно. Вместо этого используйте objcopy :

objcopy -I binary -O elf32-i386 stuff stuff.o

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

extern char _binary_stuff_start[], _binary_stuff_end[];
#define SIZE_OF_STUFF (_binary_stuff_end - _binary_stuff_start)

...

foo(_binary_stuff_start[i]);
13
ответ дан 27 November 2019 в 16:09
поделиться
Другие вопросы по тегам:

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