Нужена ntdll.lib со ссылками для всех функций.

Тема в разделе "WASM.ZEN", создана пользователем Clerk, 21 сен 2008.

  1. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Приветствую.
    Немного туповатая проблема появилась. Нужно статически слинковать приложение, но к примеру KiXX и многие др. не определены в либе(ни в студии ни в ддк этого нет). Пробовал сделать через 'DLL To Lib' но она кривая, ничего не выходит. Вручную импорты патчить тоже не подходит. В принципе можно врк или 2000 скомпилить, но это слишком долго, нечим и хз как. У гугля спрашивал, внятного ничего не ответил. Как её сделоть ?
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Есть ли возможность компилить без *.lib, используя *.dll ?
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    думаю на сях - вряд - ли. там же
    func_proc:
    jmp func
    т.е. lib нужны все же
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    В 2000 есть ntdll.lib, в нём есть ссылки на функции, а их заюзать не получается.
    Есть мысль просить MS$, их ведь это, хотя врятле ответят.
     
  5. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Чисто от балды.
    Слепить переходник на фасме в виде .obj
     
  6. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Функи можно вытянуть ваткомовским вдампом с ключиком '-i'. пример в аттаче
     
  7. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
  8. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    полученый файл возможно доработать, чтоб получилось нечто вроде аттача и запихнуть в wlib с ключиками '-ii' и '-ic' или '-io'
     
  9. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Clerk
    KiXX и многие др. не определены в либе
    Разве версии ntdll.dll не уникальны для разных версий win'ды?
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    _basmp_
    Мне нужно для масм32, фасм не юзаю.
    wdump.rar - при распаковке пишет архив повреждён и не восстанавливается.
    ntdll.lbc - странное расширение, как его использовать в масме ?
    q_q
    Адреса и ординалы функций разные, импорты для этого и пытаюсь заюзать, чтобы нормально по имени функции определять, не везде ведь нужен шелкод.
     
  11. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Дёрнул из WDK последнего без установки. Должно быть то. пароль-имя искомой либы без расширения.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    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
    Тоже самое для всех.
     
  13. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    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
     
  14. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    _basmp_
    Них.. не понятно, я не разу фасм не юзал. Пересылать не нужно, спасибо. Уже разобралсо.
     
  15. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    lib.exe /def:... ?
     
  16. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Great привет. Ога :)