Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Как открыть...dll файл

Автор: JustMe
Дата сообщения: 29.07.2002 18:34
... dll файл? Я имею ввиду, как посмотреть на тот код, который был написан до компиляции? Как мне думается, сделать это практически невозможно так как программа была скомпилированна в машинные коды. Или я ошибаюсь? Такой же вопрос по bat файлам. Заранее благодарен.
Автор: Advanced_Guest
Дата сообщения: 29.07.2002 18:49
JustMe

Цитата:
Такой же вопрос по bat файлам.

открой их в блокноте

насчёт dll - не знаю

Добавлено
открытие Dll - мне кажется это не Web программирование а Андеграунд...
Автор: Wowik
Дата сообщения: 30.07.2002 02:27

Цитата:
dll файл? Я имею ввиду, как посмотреть на тот код, который был написан до компиляции?

ИМХО никак
можно только выдернуть экспортируемые функции
и то если они не документированы то параметры функций будут неизвестны
Автор: 13thNomad
Дата сообщения: 19.08.2002 06:02
Дизассемблировать
И читай себе после этого на здоровье. Если ассемблер знаешь, конечно. Если не знаешь, то скорее всего никак - я пока не видел прог, которые транслируют код ДЛЛ (ЕХЕ) в исходник любого языка (часто в них написано, каким компиляторо собрано, но не всегда и не все знают те языки, на которых написаны проги и уж подавно не всегда люди знают особенности всех компиляторов).
Автор: odl455
Дата сообщения: 28.08.2002 23:48
Извини, не хочу обидеть. Но судя по твоему вопросу - уровень понимания компьютерных технологий у тебя слабоват. Правда уже хорошо что ты знаешь о существовании машинных кодов. Но однако этого мало.

Да конечно единственный вариант - это дизасемблировать. Но это задача для опытного программиста, хорошо владеющего ассемблером. А возможно ещё и обязательно владеющего опытом разпаковки защищённых модулей. Короче это не просто. Если файл больше 100 килобайт - можешь даже не пытаться.

Но меня вот что интересует. Откуда у тебя возник такой вопрос? расскажи предысторию.
Автор: jf
Дата сообщения: 29.08.2002 00:04

Цитата:
скомпилированна в машинные коды

Вот тебе и остаётся в них разобраться. Сам спросил и в вопросе дал ответ.
Автор: infected
Дата сообщения: 29.08.2002 21:51
Верх программирования - писать козявками - машинным кодом. Никаких линкеров не надо, и во всех exe-шниках и dll-лях сразу можно разобраться
Автор: UncoNNecteD
Дата сообщения: 30.08.2002 14:31

Цитата:
Верх программирования

Скорее это "низ" программирования... или програмирование на языке самого низкого уровня
Да dll это скомпилированная программа, то есть открыть ее тоже самое что открыть exe файл.
bat - это скрипт командного процессора command.com (cmd.exe) и открывается простым текстовым редактором.
Автор: QuickeneR
Дата сообщения: 31.08.2002 12:41
Мне попадалась парочка "декомпиляторов" из кодов i386 в С, но качество у них было, прямо скажем, ассемблерное. Перед IDA их использования преимуществ не давало.
Автор: snop
Дата сообщения: 31.08.2002 21:31
QuickeneR

Цитата:
Мне попадалась парочка "декомпиляторов" из кодов i386 в С,

А реально ли это ?
Асм код не однозначен при переводе в высшие языки,да и компиляторы выполняют разные оптимизации
Автор: OldGopher
Дата сообщения: 01.09.2002 10:35
snop
Это реально, если сам оригинальный исходник был написан без применения ассемблера, и принципы оптимизации исходного компилятора известны априори.

Существуют дизассемблеры спаренные с конверторами в С т.к. С - это в некоторой степени Ассемблер высокого уровня (macro-assembler), но построить например код под язык класса С++ или Ada-95 практически невозможно. Тем более - под язык типа Prolog и иже с ним...
Автор: snop
Дата сообщения: 01.09.2002 11:17
OldGopher

Цитата:
Существуют дизассемблеры спаренные с конверторами в С

Можешь подкинуть названия ?
Автор: OldGopher
Дата сообщения: 02.09.2002 09:25
snop
Последний раз имел такой в 1991 году, в бытность студентом.
Надо поискать...

http://www.itee.uq.edu.au/~cristina/dcc.html
http://www.backerstreet.com/cg/work.htm

И вообще, Вам сюда:
http://www.decompiler.com/index.php
Автор: mmt
Дата сообщения: 02.09.2002 10:42
odl455

Цитата:
Да конечно единственный вариант - это дизасемблировать. Но это задача для опытного программиста,

Дизасемблировать - элементарно, вот потом разобраться с поллученным - гемор....OldGopher

Цитата:
Это реально, если сам оригинальный исходник был написан без применения ассемблера, и принципы оптимизации исходного компилятора известны априори.

М как ты оценишь качество полученного?????? Есть прога для декомпа Visual Fox, она их разворачивает отменно, а вот если бы даже и был декомп. для С - на выходе получится мешанина...Я уже пытался вскрыть dll ки написанные на С, причем без Visual(поросята) - лучшая прога либо Ida либо Driver Studio, но легче будет написать свою dll ку чем разобраться с этими прогами.
Автор: OldGopher
Дата сообщения: 02.09.2002 13:42
mmt
Это верно, если от Вас не требуют разобраться именно в чужой DLL.
Иногда бывает нужно вскрыть комплексный алгоритм шифрования, тогда - флаг в руки.

Я как-то накатал драйвер для Windows 2000, который занимался генерированием и проверкой кодов (256 бит) для систем защиты от копирования. Так драйвер нес в себе самом самомодифицирующийся код, тут Вам никакой дизассемблер/декомпайлер не поможет. Для SiftIce там тоже было пара примочек...

Так когда я свалил с той фирмы, все соурсы куда-то исчезли. Они до сих пор декомпилируют тот драйвер...


Всегда легче написать свое, но вряд ли это свое будет абсолютно совместимым со старым кодом...
Автор: snop
Дата сообщения: 02.09.2002 14:32
OldGopher
Спасибо за линки

Страницы: 1

Предыдущая тема: Программистам в Borland Delphi&C++ Builder (2)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.