LINUX.ORG.RU
ФорумTalks

Никто не пробовал писать самообучаемый декомпилятор?


0

1

Чтобы он пропустил через себя хотя бы 100500 исходников на C/C++ и результата их компиляции имеющимися компиляторами, а потом мог максимально корректно декомпилировать в С/C++ код.

Или задача посложнее: обучить его еще и шаблонам математических формул и во что они превращаются на Си и в ассемблере, так чтобы мог восстанавливать сразу, хотя бы наиболее распространенные штуки.

Могло бы пригодиться для ИБ и для извлечения алгоритмов обработки данных из закрытых проприетарных прог.

★★★★★

Ответ на: комментарий от Lighting

А они, кроме подключения либ и условной компиляции кусков кода на алгоритм разве влияют?

В принципе, некие зачатки того о чем я говорю, есть в IDA, но этого мало, конечно.

praseodim ★★★★★ ()

для извлечения алгоритмов обработки данных из закрытых проприетарных прог

ИМХО, все «алгоритмы обработки данных» (хотя непонятно, что именно Вы тут имеете в виду) давно известны, что может быть непонятно, так это какой именно вот тут применяется, но это вопрос небольшого (сравнительно) опыта

а по приколу, как студенческая работа (да хоть на диплом), занятная тема

shty ★★★★★ ()
Ответ на: комментарий от shty

На самом деле, если софт занимается чем-то серьезным, OCR, например точно неизвестно как именно он это делает. Хотя, конечно, восстановить серьезную OCR по декомпилированому коду слишком сложно, но могут быть и более простые задачи. DRM какое-нибудь, к примеру.

praseodim ★★★★★ ()
Ответ на: комментарий от praseodim

На самом деле, если софт занимается чем-то серьезным, OCR, например точно неизвестно как именно он это делает. Хотя, конечно, восстановить серьезную OCR по декомпилированому коду слишком сложно, но могут быть и более простые задачи

да адлгоритмы там простые как полено (немного утрирую, но всё же), а вот как они затюнены и база по которой идёт распознавание - вот там собака, но это декомпиляцией нифига не решить

shty ★★★★★ ()

огороженный софт как правило пропущен через обфускатор. обучать нейронную сеть будет тяжело

bga_ ★★★ ()
Ответ на: комментарий от elverion

Слишком обще, на практике нереально для такого дела. Или в самом деле суперкомпьютер нужен.

praseodim ★★★★★ ()
Ответ на: комментарий от segfault

>но работу с несколькотерабайтными матрицами гарантирую.

в вашем ПТУ не рассказывали про динамическое программирование?

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от DNA_Seq

> в вашем ПТУ не рассказывали про динамическое программирование?

Изыди, тролль. Я на всевозможных оптимизациях не одну собаку съел. Там даже при структурных методах его некуда прилепить.

З.Ы. Не знаю, как в ПТУ, а в институтах вообще программировать не учат, а создают необходимость научиться самостоятельно.

segfault ★★★★★ ()
Ответ на: комментарий от segfault

> Не знаю, как в ПТУ, а в институтах вообще программировать не учат, а создают необходимость научиться самостоятельно.

Старина, динамическое программирование — это алгоритмический метод. К кодингу это не имеет вообще никакого отношения.

unnamed ()

без имён функций/переменных даже 100% восстановленный код получится как после обфускации

backbone ★★★★★ ()

Напишите генератор декомпиляторов.

buddhist ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.