![]() |
(Де)компилятор .exe, .dll и извлечение ресурсов
Подскажите, может кто то знает программму для извлечения ресурсов из .exe, .dll и их деломпилирования.... И как вобще работают Декомпили, например программа написана на Паскаль, то она может декомпилится только в Паскаль???7 или все же если прога написана на Делфи то можно декомпилить в Си++??????
----------------------------------------------------- Вобщем нуждаюсь в проге с помошью которой можно отредачить exe, dll файлы, тоесть извлеч ресурсы, декомпилить, и отредактировав компилить обратно |
Цитата:
Цитата:
хотя есть декомпилятор Hex-rays, он выдает что-то вроде с-кода |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Паскаль, Си++ компилируются в машинный код, а из него восстановить текст программы нельзя http://ru.wikipedia.org/wiki/%D0%9C%...BA%D0%BE%D0%B4 |
Цитата:
|
Цитата:
IDA очень крутой дизассемблер. Требуется очень хорошее знание формата PE, большой опыт в программировании или талант. Но в итоге код будет восстановлен, но не в первоначальном виде. Компилятор код оптимизирует и из машинных кодов восстанавливается оптимизированный код на языке высокого уровня типа C или Паскаля. |
Цитата:
Цитата:
В целом же ваш уровень далёк от программирования, максимум что вам нужно, это ResHacker, PE Explorer, Restorator озвученый выше. |
Кто сказал ДАЛЕК?
|
Цитата:
|
Цитата:
и вообще , перевести код из ассемблера на язык высокого уровня и получить исходники это разные вещи |
Цитата:
Причина - сами ресурсы хранятся как есть. При их извлечении никаких особых доп преобразований делать не надо. Не берем естсно случай, когда ресурсы в хитрых нестандартных форматах или запакованы както . Цитата:
Дело в том, что теория компиляторов разработана, опробована, а главное существует - т.е. можно придумать язык, сделать компилятор его и писать себе проги. А с декомпиляторами все сложнее - теории никакой нет, лишь попытки энтузиастов и комерч. продукты, а главное - декомпиляция в большинстве случаев если и возможна теоретически, то ее результат будет абсолютно не применим. (МОжно например заменить все команды процессора в ассемблере на С-код - это не сложно, но толку будет меньше чем от ассемблера.) Вот тут сайтик с сылками и статьями по теме http://demono.ru Есть кстати онлайн-сервис с примерами, которое налету простенький ассемблер преобразует в С-код (для powerpc правда), но общий принцип понять можно. Декомпиляция это примерно как водка- если у тебя много нефти, то водки ты сможешь оч получить много (очистками и др процессами), а вот из чистой и бесполезной водки получить более полезную нефть невозможно - в водки мало чего осталось уже... |
Для товарища xNiSSaNx, судя по выворотам речи, нужно обьяснять на таком уровне: когда ты сожрал кусок колбасы, и вы*рал **вно, не возможно превратить **вно обратно в колбасу. Заменяем колбасу на "программа на Паскале/Делфи" а **вно - "готовый exe файл". :)
|
Всё это правильно, но вот возьмём AutoIt, он с созданием ехе прикрепляет исходник и декмомпилируя такой файл на выходе имеем исходник, но опять таки, с оговоркой, ехе не преобразуется в исходный код, а просто исходник становится доступным. Я так разбирался с вирусом, который на флешке создаёт ехе файлы с именами папок. Он написан был на аутоите.
Для делфи и C++ Builder 6.0 есть такой декомпилятор ems_sr, успешно декомпилит ехе в проекты, сохраняя оригинальные переменные форм, компонентов, имён функций, но функции без исходного кода, вместо этого в функциях написан адрес в памяти где эти функции крутятся. Смысла в получении исходника нет, т.к. если бы такое было возможно, то отпала бы необходимость в лицензиях OpenSource |
Drongo, с AutoIt совсем другая ситуация. Там нет «скомпилированного файла» именно в понятии «скомпилированного». Есть исходный код и прикреплённый интерпретатор AutoIt, связанные исполняемой надстройкой.
|
Iska, ааа вот как, спасибо за просвещение, я не знал этой тонкости.
|
Цитата:
|
Ага. Там, в принципе, ещё интереснее — если специально не запрещено при компиляции директивой «#NoAutoIt3Execute», то посредством параметра «/AutoIt3ExecuteLine» можно любым скомпилированным файлом AutoIt исполнить строчную команду AutoIt. Вот здесь, у AZJIO: Узнать версию AutoIt3 в скомпилирванном EXE - Скрипты для WindowsXP - Скрипты AutoIt3 - Каталог статей - Cайт AZJIO, можно почитать об этом.
Цитата:
|
Время: 23:20. |
Время: 23:20.
© OSzone.net 2001-