2010-10-21 5 views
2

Кто-то, с кем я работал, отправил мне сообщение с электронной почтой и сказал, что они хотят, чтобы я обновил программу VB3 (!!!), которую я написал для них, потому что клиенты сообщают о проблемах с ее запуском под Windows 7. Они потеряли источник код (natch). Есть ли декомпилятор для VB3?VB3 декомпилятор?

+6

Dangit. Теперь я должен забрать мою челюсть с пола во второй раз сегодня! Удачи вам в этом! :) –

+0

Я предполагаю, что вы также потеряли исходный код? :) – 2010-10-21 01:52:15

+0

Я написал его для Windows 3.1 ... видимо, у него не было проблем с Windows 95, 98, ME или XP ... Интересно, почему вдруг Windows 7 ... может быть, что-то с 64-битным? – JoelFan

ответ

2

В отличие от более поздних версий, в которых используется собственный код и, как правило, он не надежно декомпилябелен, VB3 (и, я думаю, VB4) обычно можно декомпилировать до почти исходного кода. Ключевыми словами, которые вам нужно найти, являются «декомпилятор DoDi VB3» или «vb3dis». Here's страница, которая, похоже, имеет копию.

4

Я помню, что давно искал декомпиляторы/дизассемблеры Visual Basic безрезультатно. Возможно, теперь есть вещи. Максимум, что я мог придумать было PE Explorer: http://www.heaventools.com/overview.htm

Вы предложили запустить приложение в режиме совместимости с Windows: http://www.sevenforums.com/tutorials/316-compatibility-mode.html

Edit: Дополнительная Googling: http://www.w7forums.com/visual-basic-3-0-compatible-64-bit-version-t5146.html

я сохранить наследство 16-бит Программное обеспечение VB3 , совместимое с Windows 7 и , провело много исследований в этой области .

16-разрядные приложения не будут изначально работать в Windows 7 64-разрядная полная остановка. Это связано с тем, что, когда 64-разрядный процессор запущен в 64-битном режиме, он не может перейти в «реальный режим» (режим , используемый 16-разрядными приложениями) без жесткого сброса. Если процессор находится в 32-битном режиме, он может переключаться между реальным режимом и защищенным режимом.

Единственный способ решения проблемы здесь является виртуальным машино- Windows 7 поставляется с бесплатной версии Windows XP, которая может использоваться внутри пользовательской версии Microsoft Virtual PC. Google для «Windows 7 Виртуальный режим XP». После того как ваша копия Windows 7 была подтверждена как аутентичной, она позволит вам скачать Virtual PC и XP Image.

Это, безусловно, не очень подходит, но единственный вариант для моих клиентов , которые пошли вперед и купили 64-разрядной ОС без проверки, чтобы увидеть, если их установлено программное обеспечение 64-разрядные совместимы.

+0

+1 для Windows Совместимость –

+0

Он может работать в режиме совместимости Windows, но я предполагаю, что это повредит продажам – JoelFan

+0

@JoelFan: Как это так? – casablanca

2

Действительно? VB3, если он отлично работает в XP, должен быть в порядке в окне совместимости Windows.

Я бы сказал, что вы не можете найти что-либо подходящее (что почти наверняка верно), но вы можете исправить свою проблему за умеренную плату. Затем, надеюсь, это просто вопрос установки флага в приложении (вы можете сначала проверить это, чтобы убедиться, что это будет не слишком много работы).

Деньги для варенья.

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

Однако я удивлен, что у вас нет копии, лежащей вокруг. Я сохраняю примерно каждый часть программного обеспечения, которое я когда-либо писал на всякий случай (с разрешения на работу за аренду, конечно), вплоть до заданий Fortran, которые я сделал в Uni еще в начале 80-х.

Это хорошая привычка, чтобы попасть, хотя я начинаю задаваться вопросом, я, возможно, освободить некоторое пространство от канав Fortran :-)

+0

Да, я немного разочарован в себе, но имейте в виду, что это было в эпоху гибких дисков. Кроме того, я переехал страны с тех пор :) – JoelFan

0

Похоже, является ли это приложение, которое продается клиентам и возникли проблемы или не работает под Windows 7.

Рассмотрим консультирование клиента о том, что приложение должно быть:

  • модернизирована, тем самым облегчая возможность добавлять новые функции/сохранить
  • в противном случае работает в режиме совместимости XP для своих клиентов Windows 7. Разумеется, это число будет только расти и станет проблемой поддержки. Перейти к предыдущей пуле.

Серьезно, хотя; ваш клиент должен понимать, что их программное обеспечение необходимо модернизировать. Надеюсь, вы сможете убедить их в этой долгосрочной цели; возможно, они уже это знают.

+0

есть причина, по которой я переехал тогда). Мне было трудно убедить их переместиться с DOS на Windows. – JoelFan

1

Есть много вещей, которые вы можете сделать, чтобы помочь им без исходного кода. Вы можете применить внешний манифест, если приложение будет работать только при его повышении. Вы могли бы посоветовать им установить приложение где-нибудь, кроме программных файлов (как правило, это ужасная идея, но может работать в этом случае.) Вы можете применить параметр совместимости или научить их, как установить его в «режим XP», чтобы он работал в XP виртуальная машина.

Несоблюдение всех этих требований, вы можете предложить переписать его на VB.NET, чтобы получить более современные функции ui, Windows 7 (а не только возможности) и фактически будут иметь исходный код для своего приложения. Это может иметь ценность для них.

И да, вы должны были сохранить код. У меня есть компакт-диски, сгоревшие из моих старых проектов, восходящих к рассвету времени (в какой-то момент я скопировал вещи с 3,5-дюймовых резервных копий на компакт-диски, в то время как у меня все еще были некоторые машины, которые могли бы сделать оба), и я сделал несколько предыдущих клиентов счастливыми посылая им компакт-диск. это очень дешево маркетинг инвестиций, на самом деле.

+0

Манифесты не применяются к 16-разрядным приложениям. И права доступа не являются проблемой в любом случае; проблема в том, что Win7 x64 вообще не поддерживает 16-разрядные приложения, будь то DOS или Win16. –

2

Для декомпиляции VB «Доди VB3 декомпилятор» является лучшим инструментом. результаты очень хорошие.

Однако оригинал Anno 1997. VB3 - только 16-битный код + все еще некоторые ошибки + никакого исходного кода. Это делает этот инструмент трудным для работы в Windows за пределами Windows XP и ограничивает его использование.

DoDi's VBDIS3 он сам также написан на VB3 - примерно 10 лет спустя просто для удовольствия я взломал его, чтобы декомпилятор декомпилировал его сам. ... и портировал его на VB6! Итак, теперь у вас есть исходный код !!! : D

...и это 32 бит кода + некоторые исправления и улучшения в оригинале:

Доди Visual Basic 3 Decompiler [Reloaded]:

http://vbdis4.angelfire.com

Screenshoot: DoDi's Visual Basic 3 Decompiler [Reloaded]


в случай, что сайт затерялся Google за
'VBD IS3.67e_Reloaded_Rev3_DoDi_s_VB3Decompiler.7z '
или попробовать Интернет-архив

http://web.archive.org/web/20090301170633/http://vbdis4.angelfire.com

Смежные вопросы