VB3 декомпилятор? - PullRequest
       23

VB3 декомпилятор?

2 голосов
/ 21 октября 2010

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

Ответы [ 6 ]

4 голосов
/ 21 октября 2010

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

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

Редактировать: Дальнейшее поиск в Google: 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 Виртуальный ПК. Google для "Windows 7 Virtual XP Mode ". Однажды ваша копия Windows 7 была подтверждена как подлинный, он позволит вам скачать Virtual PC и образ XP.

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

2 голосов
/ 26 декабря 2013

Для декомпиляции VB " Декомпилятор DoDi VB3 " - лучший доступный инструмент.Результаты довольно хорошие.

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

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

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

Декомпилятор DoDi's Visual Basic 3 [Reloaded] :

http://vbdis4.angelfire.com

Снимок экрана: DoDi's Visual Basic 3 Decompiler [Reloaded]


на случай, если этот сайт будет утерян Google для' VBDIS3.67e_Reloaded_Rev3_DoDi_s_VB3Decompiler.7z или попробуйте интернет архив

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

2 голосов
/ 21 октября 2010

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

2 голосов
/ 21 октября 2010

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

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

Деньги на джем.

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

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

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

1 голос
/ 21 октября 2010

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

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

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

0 голосов
/ 21 октября 2010

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

Подумайте над тем, чтобы сообщить клиенту, что заявка должна быть:

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

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

...