Как найти все возможные сообщения об ошибках в программе?

271
Peter

Я хотел бы найти все возможные сообщения об ошибках, которые может вывести любое программное обеспечение. Это возможно?

Используя Orca.Msi, я смог получить все коды ошибок и их описания, но это применимо только к установщику установки.

Для самой программы я попытался использовать ResHack и нашел несколько сообщений об ошибках из исполняемых файлов программы и файлов DLL. Проблема в том, что отображаются не все сообщения об ошибках.

Есть ли способ найти все сообщения об ошибках для любой данной программы без исходного кода? В частности, программы написаны на C ++ / C #, но приветствуются советы для других языков программирования.

0
В общем, это невозможно. Существует слишком много разных способов, которыми программа может генерировать и отображать сообщения об ошибках. DavidPostill 7 лет назад 1

1 ответ на вопрос

0
Daniel Hofer

Одной из идей является использование программы «Strings», которая содержится в Linux и может использоваться в Windows через Cygwin .

Он просканирует ваш файл и выведет каждую (!) Возможную строку в вашей программе, которая выглядит как C-String (текст, заканчивающийся на \ 0). Помните, что это также приводит к выводу большого количества мусора, а также текстов без ошибок, содержащихся в вашем файле. Кроме того, он не может определить код ошибки. Некоторые примеры: http://www.thegeekstuff.com/2010/11/strings-command-examples/ и справочная страница: https://linux.die.net/man/1/strings

Вы также можете попытаться использовать какой-либо инструмент обратного инжиниринга высокого уровня, например IDA Pro, но эта программа действительно дорогая (есть старая бесплатная версия), и вы должны знать, что вы делаете, так как вам придется просматривать ассемблерный код. Таким образом, этот подход может сказать вам и код ошибки, но требует много работы. Так что это, конечно, не автоматизированный процесс.