Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Преобразовать exe-шник в код программы


Автор: Zero 26.10.2006, 21:43
Вообщем у меня есть exe-шник, и нет исходника. Кое какая в нём есть мелкая ошибка, нужно её исправить, но по проге нет исходника.
Теоретически на сколько я знаю, то помоему компилированый файл, можно преобразовать только в асемблерный код.
Но может кто-нибудь предложит хороший способ как это лучше сделать... smile 

Автор: BreakPointMAN 26.10.2006, 21:54
Лучше, чем IDA, тебе не найти...  smile

Автор: Snowy 26.10.2006, 22:11
Есть ещё программы - декомпиляторы (например DeDe)
Но не факт, что проект потом соберётся обратно.

Автор: BreakPointMAN 26.10.2006, 22:30
Цитата(Snowy @  26.10.2006,  23:11 Найти цитируемый пост)
Есть ещё программы - декомпиляторы (например DeDe)

Да какой это декомпилятор... так...  smile 

Автор: Snowy 26.10.2006, 22:36
Ну уж какой есть.
К тому же он не один.
Да и после дизассемблера обратная сборка далеко не гарантирована.

Автор: USSR 26.10.2006, 23:12
Если программа написанна на Delphi с использованием VCL, то тебе поможет EMS Source Rescuer (_http://www.ems-hitech.com/sourcerescuer ), но программа должна быть не запакованна.

Автор: Zero 27.10.2006, 00:08
USSR, она код всех процедур делает вот в таком виде:
Код

procedure TForm2.BitBtn2Click;
begin
// Address $46D854
end;

Точнее на диск у меня незарегистрированая версия всё не сохранила, но у словный код именно такой.
А меня то в большей степени интересует код а не форма, т.к. форма там всего одна.
Цитата(BreakPointMAN @  26.10.2006,  22:54 Найти цитируемый пост)
Лучше, чем IDA, тебе не найти

Фишка в том, что бесплатной версии в инете я тоже не могу найти. smile  smile 
Snowy, если у тя она есть, не мог бы скинуть мне сюда: [email protected]
Я гляну чё она может.

Автор: dumb 27.10.2006, 01:31
Цитата(Zero @  26.10.2006,  21:43 Найти цитируемый пост)
Теоретически на сколько я знаю, то помоему компилированый файл, можно преобразовать только в асемблерный код.

два варианта наблюдаю тут: если тебе надо просто подправить что-то и не париться, то лучше отдать форумчанам, ну а если хочешь сам освоить нструмент, асм итд, и время не имеет особого значения, то следуй на cracklab.ru и качай оттуда инструментарий.

Автор: Zero 27.10.2006, 01:43
Вообщем случае, у меня есть форма, на которой есть всего одна кнопка, но у неё свойство enable стоит false (не активна), всё что мне нужно это перевести его в true. Приэтом чтобы код который она должна выполнить остался без изменений. По русски говоря, нужно её декомпилировать, изменить свойство и снова компилировать, Но вот декомпилировать пока не знаю как.

Автор: dumb 27.10.2006, 02:18
Zero, дык .exe дОвай. smile

Автор: Snowy 27.10.2006, 09:53
Спроси у гугеля smile
http://www.google.com/search?num=50&hs=HJ0&hl=ru&rls=ru&q=Delphi+Decompiler&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
А ещё можно в ресурсах поправить.
А ещё можно ручками включить.
А ещё можно лаунчер написать, который бы её включал.

Автор: BUGOR 27.10.2006, 11:10
Цитата

Вообщем случае, у меня есть форма, на которой есть всего одна кнопка, но у неё свойство enable стоит false (не активна), всё что мне нужно это перевести его в true. Приэтом чтобы код который она должна выполнить остался без изменений. По русски говоря, нужно её декомпилировать, изменить свойство и снова компилировать, Но вот декомпилировать пока не знаю как.


Для этого может быть достаточным простого редактора ресусров, если же кнопка отключается программно при загрузке, то достаточно изменить один байт(в общем случе). А так, компиляция процесс однонаправленный, который идёт с потерей данных... ну это я такsmile

Автор: Sunvas 27.10.2006, 21:12
Пошли окну кнопки при помощи Делфи сообщение enablewindow(handle, true); Узнать хэндл кнопки при помощи АПИ функций.

Автор: skyboy 28.10.2006, 00:19
есть даже спецпрога, которая отсылает окну(любому видимому: хоть кнопке, хоть меню) под курсором сообщение, делающее её enable'ной. enabler программа называется. правда, саму программу она не правит, но все же может пригодится, если лень некогда писать свое...

Автор: BreakPointMAN 28.10.2006, 01:11
Для случаев, когда
Цитата(skyboy @  28.10.2006,  01:19 Найти цитируемый пост)
лень некогда писать свое... 

...придумана программа InqSoft Neo Sign 0f Misery © CyberManiac, скачать которую можно http://s0m.narod.ru/neos0m.html (официальный сайт- http://kickme.to/inqsoft).  smile Там за считаные секунды можно сделать loader, который разблокирует необходимую кнопку.

Автор: Zero 28.10.2006, 21:34
Цитата(Snowy @  27.10.2006,  10:53 Найти цитируемый пост)
Спроси у гугеля

В общем случае с ним не общаюсь (в основном с рамблером) smile но ща мы с ним поговорим... smile  smile  smile 
Цитата(BUGOR @  27.10.2006,  12:10 Найти цитируемый пост)
если же кнопка отключается программно при загрузке, то достаточно изменить один байт(в общем случе)

Я думаю что она включается программно, но не при загрузке, а при регистрации проги... smile 
Цитата(skyboy @  28.10.2006,  01:19 Найти цитируемый пост)
если лень некогда писать свое...

Мне не лень, и не некогда... Проста эта прога написана на делфи, чтобы лазить в интернет сайт, и кое что там править, а я сам с интернетом на програмистском уровне умею только составлять странички, вот и приходится чужие ресурсы использовать... smile 

Ну вообщем ща будем пробывать всё....

Автор: Sunvas 28.10.2006, 23:41
http://sunvas.ifolder.ru/33026 Када-то писал от нечего делать. 
Вкратце расскажу что к чему. Выбираешь мышью кнопку, нажимаешь CTRL+ALT, выбираешь "действия с окном"-"блокировки"-"разблокировать ввод".

Автор: dumb 29.10.2006, 05:39
Цитата(Zero @  26.10.2006,  21:43 Найти цитируемый пост)
Вообщем у меня есть exe-шник, и нет исходника. Кое какая в нём есть мелкая ошибка, нужно её исправить, но по проге нет исходника.

Цитата(Zero @  28.10.2006,  21:34 Найти цитируемый пост)
Мне не лень, и не некогда... Проста эта прога написана на делфи, чтобы лазить в интернет сайт, и кое что там править, а я сам с интернетом на програмистском уровне умею только составлять странички, вот и приходится чужие ресурсы использовать...

мдя. я и не знаю, что тут сказать... smile

выкладываю эту "прогу" - http://slil.ru/23317962. она безобидна, только завершаться не умеет. исправлять бинарник не стал, просто даю "код регистрации"(многие его и сами бы нашли, но, право, не стоит тратить даже минут): GTR*|SkorpionS

Автор: Zero 29.10.2006, 08:26
Цитата(dumb @  29.10.2006,  06:39 Найти цитируемый пост)
просто даю "код регистрации"(

Ух ты, спасибо большое dumb.... Я уже весь инет облазил, не то что код не мог найти, я саму прогу только в одном месте видел... Вот и подумал, что её написали недавно, и код нет. smile

Добавлено @ 08:36 
И всем остальным тоже спасибо, много полезной информации получил... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)