Правильная ссылка на статью:
Коробейников А.Г., Кутузов И.М..
Обфускация сокрытия вызовов при помощи инструкции invokedynamic
// Кибернетика и программирование. – 2016. – № 5.
– С. 33-37.
DOI: 10.7256/2306-4196.2016.5.18686.
DOI: 10.7256/2306-4196.2016.5.18686
Читать статью
Аннотация: Объектом исследования в данной статье являются технологии сокрытия вызовов методов. Сокрытие вызовов требуется для сокрытия: зависимости сущностей; логики обработки данных; алгоритмов. Методы, используемые для сокрытия вызовов сильно ограничены технологиями языка и их производительностью. Вызов метода может осуществляться как напрямую, так и: через бутстрап-метод; из нативного кода (JNI); через Reflection; используя JRE 1.7, InvokeDynamic. Представлены примеры с исходным кодом. Сделан вывод, что наиболее перспективной среди рассмотренных методов является технология invokedynamic. В данной работе дан анализ технологий сокрытия вызовов методов, таких как Бутстрап-метод, вызов методов через нативный код, обфускация вызовов с помощью Reflection и InvokeDynamic. В данной статье рассмотрены различные способы сокрытия вызова методов. Рассмотрены характерные особенности обфускации для наиболее популярных из них. Наиболее перспективной среди рассмотренных методов выглядит технология invokedynamic. Она позволяет полностью убрать из исходных кодов сигнатуру метода, оставив лишь служебную информацию для бутстрап-метода. При надлежащей реализации бутстрап-метода возможно создание байт-кода, который будет невозможно декомпилировать в валидный код Java, Groovy или Scala.
Ключевые слова: Защита информации, обфускация, Бутстрап-метод, нативный код, механизм Reflection, InvokeDynamic, Java, исходный текс, вызов метода, листинг
Библиография:
Ortin F., Conde P., Fernandez-Lanvin D. , Izquierdo R.: The Runtime Performance of invokedynamic: An evaluation with a java library, IEEE Software, 2014, Vol. 31, Art. 6493308. P. 82-90.
Ortin F., Redondo J.M., Baltasar García Perez-Schofield, J.: Efficient virtual machine support of runtime structural reflection. Science of Computer Programming, 2009, 74 (10), p. 836-860.
Коробейников А.Г., Ахапкина И.Б, Безрук Н.В., Демина Е.А., Ямщикова Н.В., Кутузов И.М. Модификация и анализ алгоритма обфускации // В книге “Труды конгресса по интеллектуальным системам и информационным технологиям AIS-IT’13. Научное издание в 4-х томах. М.: Физматлит, 2013. Т. 2. С. 163-166. – ISBN 978-5-9221-1479-0.
Коробейников А.Г., Кутузов И.М., Колесников П.Ю. Анализ методов обфускации // Кибернетика и программирование. 2012. № 1. C. 31 - 37. URL: http://www.e-notabene.ru/kp/article_13858.html
Коробейников А.Г., Кутузов И.М., Колесников П.Ю. Применение методов обфускации // Информационные технологии в профессиональной