Neo_Matrix je napisao(la):
Pa mislio sam da nije moguce da EXE fajl napravljen u Delphiju dekompajliras i da ga otvoris u delphiju sa sve kodom... to nije moguce koliko ja znam... Ako si na taj deo mislio ?
Ne, mislio sam na to da sve sta si napisao predstavlja promasaj. Evo da se podsetimo:
"
Pa teoretski koliko ja znam nije moguce dekompajlirati exe file, moze u Linux-u, ali postoje programski jezici viseg ranga tipa Assembler koji moze da edituje EXE fajl... MLogo je mocan, ali i tezek..."
1. moguce je "dekompajlirati" exe
2. cela prica nema neke posebne vezanosti i iskljucivosti za linux
3. assembler ne predstavlja jezik 'viseg ranga'; to je jezik niskog nivoa, dok se c/c++, delphi, itd. oznacavaju kao visi programski jezici
4. dekompajliranje u assemblerski kod se zove disassembliranje
5. assemblerom se ne edituje exe fajl; to nije program za editovanje kao npr. hex editor, nego programski jezik. Rezultat kompajliranja nekim asm kompajlerom (masm, tasm...) je opet exe izvrsni fajl, bas kao i u slucaju delphija ili visual c++a.
Dakle, sve u svemu - ne znam gde nisi pogresio u tom kratkom postu, osim u oceni da je assembler tezak.
Postoje alati koji mogu exe vratiti u delphi projekat (ali ukoliko je exe proizvod delphi kompajlera). Takvi alati su, na zalost, vrlo ograniceni. Ne dobija se isti kod koji je programer bio originalno kompajlirao, nego kod koji je alat generisao na osnovu disassembliranog koda (kao prvog koraka). Zbog toga sto delphi kompajler generise karakteristican exe zna se tacno gde koje stvari smesta u bin fajlu. Imena varijabli i konstanti su, naravno, autogenerisani, posto su originali odavno izgubljeni u celom procesu. Hendlovanje externih koriscenih biblioteka je takodje pod znakom pitanja. Dakle, na nekom malom projekticu (namerni pleonazam) koji koristi 'cisti' delphi bi i moglo da prodje generisanje pas, dfm, res, itd fajlova, ali postavlja se pitanje 'cemu to' na nekom pravom 'full scale' projektu.