Можно ли декомпилировать исполняемый файл в исходный код Visual Basic, когда вы не знаете, на каком языке была написана программа?


-1

Мне нужно декомпилировать исполняемый файл в его исходный код и снова добавить исходный код таким образом, чтобы его можно было перекомпилировать и работать как следует. Единственная проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, на каком языке программа была написана изначально. Поскольку Visual Basic является языком программирования, который я знаю лучше всего, я бы предпочел декомпилировать исполняемый файл. Это возможно? Насколько я понимаю, исполняемые файлы, независимо от того, на каком языке они были написаны, компилируются в какую-либо форму ASM, а это значит, что нужно декомпилировать любой язык, на который вы хотите. Правильно ли я это понимаю?

+1

Возможно, вы ищете что-то вроде * [retargetable decompiler] (http://decompiler.fit.vutbr.cz/) *, который направлен на независимость дуги. 09 ноя. 142014-11-09 05:23:52

1

Вы немного правы. Такие языки, как C и C++, скомпилированы в собственный код (что вы называете ASM), однако декомпиляция их обратно на псевдо C/C++ сложна, а иногда и невозможна. И даже если это будет успешным, код не будет равен 1: 1 оригиналу.

Невозможно (или, скорее, очень сложно) декомпилировать собственный код для чего-то вроде Java или Python. Эти языки поставляются с собственным форматом байт-кода и интерпретаторами и, следовательно, не компилируются в собственный код. Однако это означает, что они могут быть декомпилированы в более или менее оригинальном формате.

  0

Я понимаю, что такие языки, как Java и Python, являются исключениями этого правила, поскольку Java использует JRE, а Python использует интерпретатор. Хотя может быть сложно и/или невозможно декомпилировать собственный код, можете ли вы предложить возможный способ сделать это? ASM означает Assembly. Я не уверен, что это технически правильный термин для созданного собственного кода, но я считаю, что это так. 08 ноя. 142014-11-08 21:58:13

  0

Чтобы ответить на ваш вопрос, насколько я знаю, невозможно декомпилировать произвольную программу на произвольный язык. Если программа является программой Visual Basic, скомпилированной в P-код, вы можете декомпилировать ее на чистый Visual Basic. 08 ноя. 142014-11-08 22:06:23