Re: Реально ли? (про реверсинг)
От: pva  
Дата: 05.01.25 12:38
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>1) Одной из самых трудных задач при реверсинге — понять, что делает функция и соответственно её назвать.

Думаю что сделают когда-нибудь, но нужен полноценный контекст, а не отдельные функции. Имя функции часто зависит от предметной области.

Ф>2) Кроме того, бывают заинлайненные функции, где вместо call'ов используются безусловные переходы. Вот было бы круто их тоже выделять в виде функций.

Ф>3) Часто заинлайнейнная компилятором функция, прям без переходов, in place. Было бы круто найти в гигатоннах ассемблера похожий код и выделить его в функцию с директивой inline.
п3 = п2. Это возможно только частично. Заинлайненные функции при оптимизации могут компилироваться в изоморфы, сохраняя семантику операции. Сюда же и всякие разворачивания циклов относятся и т.п.
Зачатки подобного функционала есть в IDA. Она умеет/-ла некоторые линейные блоки определять как memset/memcpy, как минимум. Но там это реализовано без всяких ИИ.

Ф>Эти задачи возможно возложить на плечи ИИ? Он в таких делах сможет помочь?

На текущий момент — только п1, вероятно, реализуем напрямую.
newbie
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.