Анализ унаследованного кода, когда исходный код утрачен: делать или не делать?
|
|
Понедельник, 02 Июля 2018 г. 12:09
+ в цитатник
Анализ бинарного кода, то есть кода, который выполняется непосредственно машиной, – нетривиальная задача. В большинстве случаев, если надо проанализировать бинарный код, его восстанавливают сначала посредством дизассемблирования, а потом декомпиляции в некоторое высокоуровневое представление, а дальше уже анализируют то, что получилось.
Здесь надо сказать, что код, который восстановили, по текстовому представлению имеет мало общего с тем кодом, который был изначально написан программистом и скомпилирован в исполняемый файл. Восстановить точно бинарный файл, полученный от компилируемых языков программирования типа C/C++, Fortran, нельзя, так как это алгоритмически неформализованная задача. В процессе преобразования исходного кода, который написал программист, в программу, которую выполняет машина, компилятор выполняет необратимые преобразования.
В 90-е годы прошлого века было распространено суждение о том, что компилятор как мясорубка перемалывает исходную программу, и задача восстановить ее схожа с задачей восстановления барана из сосиски.
Читать дальше -> https://habr.com/post/415475/?utm_source=habrahabr&utm_medium=rss&utm_campaign=415475
Метки:
Программирование
Компиляторы
Блог компании Ростелеком-Solar
статический анализ
бинарный анализ
анализ кода
унаследованный код
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-