- Автор темы
- Добавить закладку
- #61
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну ты можешь обернуть весь код шелла в методы некоего класс, все действующие переменные класса перемешать с мусорными переменными псевдо-случайным образом и генерировать мусорный код над этими переменными (указатель this будет автоматически передаваться из метода в метод). Это как альтернатива глобальным переменным, оптимизатор тоже не сможет их вырезать.Морфинг шеллкода накладывает на себя ряд ограничений: такие как отсутствие возможности использовать глобальные переменные, лямбды и шаблоны.
На уровне С++ этих ограничений нет, проблема в том, что сишные апи, которые байндит Питон не предоставляют таких функций.Ограничения libclang выглядят убедительными, чтобы искать другое решение - по этому я выше спросил за модификацию компилятора..