LINUX.ORG.RU

Сообщения byftdyvyvy

 

m4 preprocessor

Форум — Development

Всем привет

можно ли на m4 написать такой макрос с именем например m4 задача которого в следующем например есть исходник на .cpp в нем много строковых литералов например

printf(m4("Hello, World!\n"));

printf(m4("Hello, "
	"World!\n"));

для каждой новой строки надо выбрать рандомный ключ от 1 до 255 включительно не совпадающий ни с одним байтом исходной строки и заксорить им все байты в строке а следом добавить вторым параметром ключ для расшифровки и сделать это добро аргументами функции расшифровки например было

printf(m4("Hello, World!\n"));
ключ был выбран 17 (условно) стало (я укоротил и по настоящему не ксорил)
printf(decrypt("\xf4\xb2\x45\x87\x98\xa4", 17))
естественно если в строках встречается управляющие последовательности то их надо корректно обрабатывать (вычислять их код и тоже кодировать) ну и само собой должен уметь обрабатывать многострочные литералы типа
printf(m4("zdnhjknhdrkjhjkehjkhkg"
	"dkljgkldjfklgjdlkfjgkldfjgklfjgklj"
	"krdfjhdjkghjkdfhgjkdfhgkjdfhgjkdfhkgjhjk"));

запоминать заксореные строки и для одинаковых строк использовать один и тот же ключ чтобы не дублировать строки в памяти

byftdyvyvy
()

RSS подписка на новые темы