ПредишенСледващото

Годишната си дъщеря попитала майка си програмист:
- Вярно е, че след като програмата за деинсталиране да падне в небето, огромен сървър, който никога не замръзва ли е? Мама замислено отговори:
- Ако вашият баща сървъра никога не виси, най-вероятно все още няма да се съберат.

Четене форумите в програмирането, понякога попадаме на въпрос като: "Имам съставен програма в Делфи Как мога да получа изходния код.?". Обикновено възниква този въпрос, когато един програмист загубил проектни файлове и само .exe. Склонен съм да се възстанови напълно изходния код на високо ниво не е възможно. Означава ли това, че другите няма да могат да се възстанови изходния код на програмата. Хм. да, и не.

За да започнете, трябва да кажа, че за да се възстанови изходния код точно както е очевидно невъзможно, тъй като има в света на такава Decompiler, което би било в състояние да създаде такава.

Когато се прилага декомпилацията. За да направите това, има доста причини. Ето и някои от тях са:

  • Възстановяване на оригиналния код;
  • пренасянето на приложения;
  • Определяне на наличието на вируси в кода на програмата, или зловреден софтуер;
  • Корекция на грешки в програмата, ако създателят на заявлението няма да го направя :)

В момента Borland не предоставя софтуер, който декомпилира изпълними файлове (.exe) или Делфи-компилирани модули (.dcu) в изходния код (.pas).

Ако все пак са решили да се опитат да декомпилира изпълним файл, което трябва да знаете следните неща. Изходният код в Делфи обикновено се съхраняват в два типа файлове: самия източник в ASCII и ресурсни файлове (.res RC DFM DCR ...) (.pas DPR.). DFM файлове съхранява свойствата на обектите, които се съдържат във формуляра. Когато създадете крайната .exe, Delphi копия на информацията от .dfm файлове. Всеки път, когато се промени координатите на формата, описания на бутоните или събития, свързани, Делфи пише тези промени да .dfm (освен в процесуален кодекс. Тя се съхранява в PAS / DCU файлове). И накрая, за да получите най-декомпилиране .dfm файл, което трябва да знаете - какво видове ресурси се съхраняват вътре Win32 изпълним.

Всички програми, събрани в Делфи имат следните раздели: код, данни БДС. idata, TLS. rdata. rsrc. Най-важната част за декомпилиране и CODE .rsrc. В статията "Добавяне на функционалност към програма Делфи" и някои интересни факти за изпълними формати Delphi, както и информация за класове и DFM ресурси. В тази статия, има един интересен момент под заглавието: "Как да добавите вашата манипулатор събитие във вече компилиран файл, например, да се промени TEKT върху бутона".

Сред многото видове ресурси, които се съхраняват в .exe файла, лихви RT_RCDATA, който съхранява информация, че са били в DFM файл, преди превода. DFM за извличане на данни от .exe файла, можем да наречем функция API EnumResourceNames на.

Арт декомпилацията традиционно е жребият на художници, които са запознати с асемблер и дебъгер. Някои Delphi декомпилатор създават впечатлението, че всеки, дори и с ограничени технически познания, може да се промени по желание на мнозинството от Delphi изпълними файлове.

В заключение, ако се интересувате от dekompilovaniem, аз ви предлагам няколко Delphi декомпилатор:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!