Обратный инжиниринг программ

Обсуждаем ReactOS по-русски

Moderators: fog, fireball

Post Reply
seven_ro
Posts: 65
Joined: Sun Jan 18, 2009 5:30 pm

Обратный инжиниринг программ

Post by seven_ro »

Операционная система сможет выполнить обратный инжиниринг программы?

Т.к. несовсем понимаю как работает exe программа, но представляю что она вызывает на выполнение различные API которые по идее можно пронумеровать и составить на основе их хоть и не полную программу, но возможно отдельные куски.
Yaraslau
Posts: 430
Joined: Mon Sep 28, 2009 7:47 pm
Location: Беларусь/Belarus, ex-USSR
Contact:

Re: Обратный инжиниринг программ

Post by Yaraslau »

seven_ro wrote:Операционная система сможет выполнить обратный инжиниринг программы?
Нет, это не её функции.
seven_ro wrote:Т.к. несовсем понимаю как работает exe программа...
А я не совсем понимаю смысл вашего вопроса. :)
serrox
Posts: 131
Joined: Sun Nov 22, 2009 7:31 pm
Contact:

Re: Обратный инжиниринг программ

Post by serrox »

на сколько я понял, вопрос в том, будет ли работать какой-нибудь API-логгер.
Ответ - чорт его знает. вроде бы какие-то механизмы для этого в системе есть, но на сколько они рабочеспособны - незнаю. Не попробуешь - не узнаешь
Barracuda72
Posts: 9
Joined: Mon Oct 17, 2011 10:51 am

Re: Обратный инжиниринг программ

Post by Barracuda72 »

ЕМНИП, в наборе Sysinternals есть хорошие утилиты мониторинга, в том числе обращений к реестру/фс/прочему. Для полного же реверсинга надо что-то вроде IDA или аналогов
Yaraslau
Posts: 430
Joined: Mon Sep 28, 2009 7:47 pm
Location: Беларусь/Belarus, ex-USSR
Contact:

Re: Обратный инжиниринг программ

Post by Yaraslau »

Barracuda72 wrote:ЕМНИП, в наборе Sysinternals есть хорошие утилиты мониторинга, в том числе обращений к реестру/фс/прочему. Для полного же реверсинга надо что-то вроде IDA или аналогов
Этой бесплатной программы должно быть достаточно - http://jacquelin.potier.free.fr/winapioverride32/
ConductiveDielectric
Posts: 32
Joined: Thu Aug 01, 2013 6:39 am

Re: Обратный инжиниринг программ

Post by ConductiveDielectric »

Oперационная система сможет выполнить обратный инжиниринг программы?
Нет, не сможет. Невозможно провести реверс-инжиниринг без участия человека.
Т.к. несовсем понимаю как работает exe программа, но представляю что она вызывает на выполнение различные API которые по идее можно пронумеровать и составить на основе их хоть и не полную программу, но возможно отдельные куски.
Благодаря наличию исходников ReactOS, можно без особых усилий (относительно, конечно :) ) реализовать логгирование вызовов каждой функции в дебаг-лог. Единственная проблема в том, что вызовов будет много. Очень много. И каждую секунду, даже когда ничего не запущено, будут генерироваться новые. Мегабайты (если не гигабайты) этой каши разбирать будет также интересно и полезно, как и читать HEX-дамп бинарника.
x012
Posts: 56
Joined: Fri Feb 06, 2009 12:37 pm

Re: Обратный инжиниринг программ

Post by x012 »

Нет, не сможет. Невозможно провести реверс-инжиниринг без участия человека.
до тех пор пока не будет создан настоящий искусственный интеллект)))
да помещенный на мощности квантового компьютера)
.Программист глазами Психоаналитика http://training8.ru/vector/6
Yaraslau
Posts: 430
Joined: Mon Sep 28, 2009 7:47 pm
Location: Беларусь/Belarus, ex-USSR
Contact:

Re: Обратный инжиниринг программ

Post by Yaraslau »

x012 wrote:до тех пор пока не будет создан настоящий искусственный интеллект)))
да помещенный на мощности квантового компьютера)
Один компьютер никогда не сможет стать искусственным интеллектом. Самообучение вне сообщества (человеческого или компьютерного) невозможно. Я сейчас создаю программу, которая в том числе должна сама (с небольшим участием пользователя) писать тексты по истории Великой Отечественной войны. Пытался придумать алгоритм для самообучения, но понял, что это невозможно (код будет напоминать пирамиду с бесконечным по размеру основанием). В любом случае нужно самому программисту закладывать логические блоки (что-то вроде if...then) и факты.

А вот если есть сеть компьютеров с разными логическими блоками, то компьютер может самообучаться. Скажем, есть 5 компьютеров. Если 3 и больше компьютеров содержат одинаковые логические блоки, то остальные должны подчиниться и действовать по их схеме. Если компьютер один, то он не может оценить степень правдивости информации, если это не заложено в его базу. В противном случае придётся допустить, что в память компьютера занесена вся информация, существующая в мире. А это невозможно. :)

А вот обратный инжиниринг, на мой взгляд, чистая математика. Лёгкое чтение кода программ, написанных под .NET Framework - самый яркий пример.
Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests