| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как определить что программа была написана на с++? |
| Автор: TupleCa 12.2.2007, 13:28 |
| тема говорит сама за себя. хотя можно расширить немного вопрос, вообще как определить на чем разрабатывалась прога.? |
| Автор: Бонифаций 12.2.2007, 13:38 |
| в общем случае - никак. Потому что c++ это просто язык, существует много компиляторов с него, каждый со своими потрохами. Опеделенную информацию может дать просмотр внутренностей файла, если там осталась скажем отладочная информация - можно сориентироваться по именам функций. Также по сообщениям об ощибках - можно примерно представить (или поискать в гугле) какая именно runtime имеет такие сообщения. |
| Автор: Anikmar 12.2.2007, 13:49 |
| Добавлю дегтя. Файл зачастую сжат паковщиками exe-файлов. Соответственно, чтобы добраться до настоящего exe его надо распаковать. |
| Автор: Daevaorn 12.2.2007, 13:55 |
| TupleCa, http://peid.has.it/ не плохая программа. почти не ошибается. |
| Автор: skyboy 12.2.2007, 14:20 |
| в ту же степь: http://mitglied.lycos.de/yoda2k/LordPE/info.htm и http://www.uinc.ru/files/neox/PE_Tools.shtml но в первом я не нашел расшифровки "идентификатора компилятора" - все секции в НЕХ-коде, что не удобно, а второй уже три года не обновлялся. да и ошибается немного: например, прогу, скомпиленную при помощи Borland Delphi 7, опознал как Boland Delphi 3.0 |
| Автор: Бонифаций 12.2.2007, 14:23 |
| Что то я в изначальном вопросе не вижу слово Windows |
| Автор: threef 12.2.2007, 14:30 |
| При компиляции программы некоторый язык, возможно, накладывает отпечаток языкового стиля на код. Но больше зависимость , скорее, от определенных сред программирования. Поэтому вряд ли возможно по коду определить язык, на котором написана программа. Если компилятор написан самостоятельно, make взяли в одной среде, библиотеки - в другой, то вряд ли удастся определить даже с помощью хорошей утилиты что кому принадлежит. |
| Автор: Chrono017 13.2.2007, 23:58 |
| ...на скока я знаю, так сказать некотрые веши пишут сами на чем их делают, так сказать, наример если откомпилить билдере програмку то в коде ехе-ка моно найти строчку "Borland с++"..... другое дела если проги пишутся сурьезными людьми) бывает так что прогу "маскируют", в том числе убирают подобные подписи по которым моно легко опазнать, бывает потом еще сжимают и скрывают то чем сжали)) другое дело что некотрымс этим влом заниматся) а вод по поду прог, моно пеидом смареть, им на скоко я помню моно кое че разжимать назад, (вроде UPX)..... а тикие типо авПак помоему caspr-om неплохо разжимаются, (кст бывает проги после разжатия не пашут, тоже защита) а вобще зачем тебе именно с++? если так для статистики, то большенство нормальных веще на скоко я знаю пишется на с++))) |
| Автор: W4FhLF 14.2.2007, 14:37 |
| При определённых навыках можно легко определить большинство компиляторов и упаковщиков на глаз(секции, заголовки, импорт, характерный команды на EP), с опытом в реверсинге приходит постепенно Но я думаю данного опыта у тебя нет или нехватает, поэтому используй готовые решения, в частности неплохими детекторами являются: RDG Packer Detector DiE(автор наш соотечественник: http://hellspawn.nm.ru/) Ну и уже упомянутый PEiD. |