Страница 1 из 2
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,18:48
Voland_PF
Открыл для себя случайно, что экзешники собранные в Delphi 2 отлично работают под Windows 3.11 с Win32s и возможно когда будет больше времени можно будет написать что-то полезное для себя. Перед подключением внешних dll очень желательно узнать все ли используемые библиотекой функции поддерживаются Win32s, но сходу ничего похожего на Dependency Walker я не нашел. Видел ли кто-то подобный инструмент для W311? Нужен только показ отсутствующих функций для exe/dll.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,20:06
cactus
Windows(Total) Commander на нём написан, по крайней мере, до какой-то версии.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,20:27
Mov AX, 0xDEAD
Voland_PF писал(а): 09.05.2024,18:48
Нужен только показ отсутствующих функций для exe/dll.
Если бы дело было только в этом.
Одинаковое название функции не говорит 100% о том, что в win32s и win95 они работают одинаково, в качестве аргумента функций например может быть тип enum из .h файлов, в win32s было условно три значения, а в win95 уже пять, пользовательский код написанный под win95 может передать любое из пяти значений, вот только win32s знает только первые три...
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,20:35
esasoft
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,22:14
Voland_PF
cactus писал(а): 09.05.2024,20:06
Windows(Total) Commander на нём написан, по крайней мере, до какой-то версии.
Точно. Автор жаловался, что в новых версиях и бинарники выходят больше и скорость несколько ниже.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,22:15
Voland_PF
Mov AX, 0xDEAD писал(а): 09.05.2024,20:27
Одинаковое название функции не говорит 100% о том, что в win32s и win95 они работают одинаково
Это я знаю. Там и заглушки на части функций, да и Win9x тоже не полностью реализует Win32 API.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 09.05.2024,22:38
Voland_PF
Большое спасибо за помощь! Я тоже нашел только это. Лучше конечно чем ничего, но на некоторых exe файлах он у меня упал. Наверное лучше проверять в W95 под DW, а потом уже в Win311 научным тыком.
N.B.
► Показать
Везде для Win311 рекомендуют Delphi 1, но вот о том что Delphi 2 можно использовать под Win32s сам узнал чисто проверкой (только ActiveX компоненты конечно не будут работать). Ее плюс не только полная 32-битность, но и то что она отлично работает под современными 64-битными системами.
В NT 3.51, кстати, работает DW, но не работает окно открытия файлов т.ч. запускаю FAR'овской ассоциацией:
start cmd /C "C:\ProgramF\depend22\depends.exe" "!\!.!"
И под NT 3.51 работают программы собранные в Delphi 7 (конечно, в рамках ограничений системы и ее API).
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 10.05.2024,04:45
esasoft
Voland_PF, да уж, софтина странная. Сколько ни запускал в Windows 11 под OTVDM 16-тибитного софта - всё работало. А эта - нет. OTVDM с ней крашится с выдачей диагностического окна, а при его закрытии прога жалуется, что "The executable files have been modified !" и закрывается, хотя, естественно, его никто не трогал.

- Error_ScanBin.png (15.87 КБ) 2131 просмотр
Написал о проблеме на гитхабе OTVDM, посмотрим, что скажут разрабы.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 10.05.2024,12:48
pahan
Это я знаю. Там и заглушки на части функций, да и Win9x тоже не полностью реализует Win32 API
Хуже, NT его тоже не полностью реализует

Есть win32s (минимальный возможный набор), есть Win32 только под 9x, есть только под NT, и есть некое подмножество, общее для всех трёх.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 10.05.2024,14:40
ATauenis
Для РЕ файлов отлично справляется плагин PE Viewer к Total Commander:
https://wincmd.ru/plugring/PEViewer3.html
В каталог с исследуемым ЕХЕ файлом кинуть нужные Kernel32/User32/etc от интересуемой версии винды, и он сразу покажет чего из API-функций в них недоступно. Плюс прочая информация типа минимальной версии OS/subsystem.
Аналог (или заменитель) Dependency Walker для Windows 3.11
Добавлено: 11.05.2024,00:32
esasoft
Ещё пара утилит, показывающих информацию по exe-файлам (для командной строки):
Под DOS:
К примеру, запускать так - exehdr.exe /verbose myfile.exe >>out.txt
Под Windows: