В поисках парсера C++ Я недавно наткнулся на проект ниже. Внутри него есть синтаксический анализатор, который, как представляется, очень хорошо подходит для моих нужд, однако я считаю, что автор (ы) сознательно запутывал некоторые из основных частей кода, что затрудняет изучение кода.Deobfuscating C++ исходный код
https://github.com/ArashPartow/math-parser-benchmark-project/blob/master/fparser/fpoptimizer.cc
Существует описание в файле и на сайте автора о там быть простой deobfuscated версия, однако указанный сайт, кажется, только у dead-link и попытки связаться с автором оказались бесплодными.
Мне было интересно узнать, сможет ли соратник SOers быстро и просто изменить обфускацию в вышеупомянутом файле.
Теперь я не уверен, потому что я не эксперт на C++, но может быть, что есть законные причины для того, чтобы код был таким, каким он есть, предположительно, поскольку имя файла предполагает, что это может быть по соображениям производительности.
ПРИМЕЧАНИЕ: Этот файл содержит сгенерированный код (из источников оптимизатора) и не предназначен для модификации вручную. Если вы хотите изменить optimizer, скачать версию для разработки библиотеки ". – Mysticial
@Mysticial: 'Однако на указанном сайте есть только мертвая ссылка, и попытки связаться с автором были бесплодными. –
Я бы начал с избавления от макросов, попробуйте это: http://stackoverflow.com/questions/277258/cc-source-file-after-preprocessing # Я думаю, что этот код был намеренно запутан, кажется, что ничего не улучшило бы производительность этого кода. – Kupto