download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Коя програма на кой език е написана?

Автор
Съобщение
anonymous
Чет, 07.02.08, 00:15
Здравейте!

Преди време четох тук една статия за торент-програми, и беше писано за Azureus и BitComet, че едната е писана на C++, а пък другата на Java. И това ме наведе на интересния въпрос няма ли начин да се провери това за всяка програма? Например - на кой език е написан MS Word или Photoshop или архиваторите или медия-плеърите? Или антивирусните на какви езици се пишат? А самите операционни системи? И т.н. - няма ли някой добър източник или нещо такова по тоя въпрос?

angelicstar
Чет, 07.02.08, 15:29
ми ня такива рабти. секи си крие на кво пише щото да не му декопмилират рпограмката и да му гепат разни тайни работи. ама за Word си се знае че е на Visual Bsic. или ако има разни файлове .cpp начи е писано на C++. мж няма .cpp и пак да е на C++ та пак несе знае. Шопа е на C++ ама ня такива файлчета.
phrozencrew
Нед, 10.02.08, 19:52
ivandivan, разбира се, че има такива програми. Наричат се Disassembler-и. Много често се използват за да се четят инструкциите и информацията оставени от компилатора.
Тези програми са първата инстанция за доказване, че една програма не е компилирана с лицензиран софтуер (в БГ все още не съм чул да има подобни дела, но кой знае - Европа-та ни диша във врата).
Ако ти се чете по темата просто се разрови в google или wikipedia за Disassembler. Потърси и за SoftICE (кракерска легенда с която са кракнати Win 95,Win 98, WinXP).
Трябва да имаш в предвид обаче , че съвременните програми са писани на няколко езика. Perl в момента поддържа синтаксиса на поне 50 езика и е може би единствения компилируем език (компилатора все още е на бета ниво поне до 6-та версия), който може напълно да заблуди Disassembler-ите. Като изключим Assembler, разбира се :)
За какво ти е това инфо, какво искаш да хакнеш ?
boy4o
Пон, 11.02.08, 10:37
Да, горе-долу така стоят нещата. Само, че и тук си има §22. Проблемът е в това, че за да декомпилираш някой изпълним код е необходимо предварително да знаеш от какъв език е компилиран. А ние точно това искаме да разберем след декомпилацията. Кръгът се затваря.
Вярно, някои компилатори добавят идентификационен низ към кода, нещо като подпис, и тогава е достатъчно да погледнем през някой шестнайсетичен редактор за да видим кой е езикът. Само, че далеч не всички компилатори си слагат подписа. Допълнително затруднение идва от вероятността след компилацията да е работила свързваща програма (linker) и тя да е оплела всякакви следи от компилатора.
Като цяло, уви, трябва да се признае, че няма абсолютен начин за разпознаване на първоначалния език на програмата.
anonymous
Пон, 11.02.08, 13:14
Виждам, че само спецове отговарят на въпроса ми, което ме радва и ви благодаря.

Phrozencrew, за нищо - аз не мога да програмирам, ти ме питаш да кракна. Просто ми беше интересно дали може да се провери "с един клик", но явно не е толкова просто.

anonymous
Вто, 12.02.08, 14:13
Това може да се направи с програмата Language 2000 на babak farrokhi, която преди време си изтеглих оттук (или отдругаде?!). Опитах се да я намеря и не можах. Ако още търсиш да ти пратя zip-че (~200kb).
кака.лара
Вто, 12.02.08, 14:46
Пусни зипчето, готин, че и на мен ми трябва. Имах я, ама нещо я разкарах. Върши работа. Много пъти се омазва, когато програмата е писана на различни езици и после е линквана. Ама иначе горе-долу познава за най-простите програми. Ама където е минал линкър трева не никне

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.