Приветствую. Немного туповатая проблема появилась. Нужно статически слинковать приложение, но к примеру KiXX и многие др. не определены в либе(ни в студии ни в ддк этого нет). Пробовал сделать через 'DLL To Lib' но она кривая, ничего не выходит. Вручную импорты патчить тоже не подходит. В принципе можно врк или 2000 скомпилить, но это слишком долго, нечим и хз как. У гугля спрашивал, внятного ничего не ответил. Как её сделоть ?
В 2000 есть ntdll.lib, в нём есть ссылки на функции, а их заюзать не получается. Есть мысль просить MS$, их ведь это, хотя врятле ответят.
полученый файл возможно доработать, чтоб получилось нечто вроде аттача и запихнуть в wlib с ключиками '-ii' и '-ic' или '-io'
Clerk KiXX и многие др. не определены в либе Разве версии ntdll.dll не уникальны для разных версий win'ды?
_basmp_ Мне нужно для масм32, фасм не юзаю. wdump.rar - при распаковке пишет архив повреждён и не восстанавливается. ntdll.lbc - странное расширение, как его использовать в масме ? q_q Адреса и ординалы функций разные, импорты для этого и пытаюсь заюзать, чтобы нормально по имени функции определять, не везде ведь нужен шелкод.
asmfan Спасибо за либу. Оказывается всё проще. Я прототипы криво определял. Теперь понятно почему не компилилось. Делал например так: KiUserCallbackDispatcher proto :dword, :dword Было это: test.obj : error LNK2019: unresolved external symbol _KiUserCallbackDispatcher@8 referenced in function _Start@0 test.obj : fatal error LNK1120: 1 unresolved externals Там три параметра, почемуто мне казалось что конвенция не stdcall(по дефолту), это работает: KiUserCallbackDispatcher proto :dword, :dword, :dword Тоже самое для всех.
Clerk Переслать? Можно и на оригинальном сайте взять (openwatcom.org) немного поэкспериментировал над user32.dll (MessageBox). wdump, wlib, cl (MS), link (MS) wdump -i <имя.dll> вытягивает список экспорта в виде текста в формате похожем на .lbc (++ не хватает) из формата ... MessageBoxA.'USER32.DLL'.477 ... в формат ... ++_MessageBoxA@16.'USER32'.477 ... первое слово - символ для импорта (- __imp_), последнее - ординал. wlib -ii -ic <имя.lib> @<имя.lbc> делает coff библиотеку импорта в соответствии с .lbc