Как вызвать функцию из dll

Тема в разделе "WASM.BEGINNERS", создана пользователем sivsoft, 27 май 2009.

  1. sivsoft

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    Есть dll-ка, по которой я смотрю функции и могу их без проблем вызвать, но 2 функции первые - не могу понять как их вызывать. Привожу скриншот:

    [​IMG]

    Интересуют первые две: ordinal 0 и ordinal 1
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    GetProcAddress(hModule, (LPCSTR)0);
     
  3. sivsoft

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    О-о-о!!! сенкс! попробую...
     
  4. sivsoft

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    А если я буду писать вместо этой свою dll-ку. Хочу подменить оригинал.
    Как мне обозвать эту функцию в своей dll-ке, чтобы она тоже могла вызываться по GetProcAddress(hModule, (LPCSTR)0);
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. NTSTATUS
    2. NTAPI
    3. LdrGetProcedureAddress(
    4.     IN PVOID DllHandle,
    5.     IN CONST ANSI_STRING* ProcedureName OPTIONAL,
    6.     IN ULONG ProcedureNumber OPTIONAL,
    7.     OUT PVOID *ProcedureAddress
    8.     );
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    В деф:
    Код (Text):
    1. EXPORTS
    2. MyProcedure @1
    3. ...
     
  7. sivsoft

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    не получается все равно :dntknw:
    написал:

    ;--------------------------------------DLL
    .code
    DllEntry proc hInst:lol: WORD,reason:lol: WORD,reserved1:lol: WORD
    .if reason == DLL_PROCESS_ATTACH
    .endif
    mov eax,1
    ret
    DllEntry endp

    MyProcedure proc
    mov eax,1
    ret
    MyProcedure endp

    End DllEntry
    ;--------------------------------------DLL

    ;--------------------------------------DEF
    LIBRARY protect
    EXPORTS MyProcedure @1
    ;--------------------------------------DEF
    получил:
    [​IMG]
    Если же писать вот так: @1, то в итоге ошибка линковки.
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. Initialize @12 NONAME
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Тьфу, это я тестил, у вас так:
    Код (Text):
    1. MyProcedure @1 NONAME
     
  10. sivsoft

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    Clerk
    огромное спасибо - все получилось :)
     
  11. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Clerk
    А для чего такой нужен прикол, ну не видит он ее в своем вьювере, а еще зачем так прятать имена?
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    _sheva740
    Я не знаю что за тулза, видимо чтобы она показала как в #1, нужно чтобы по имени функция не экспортировалась.
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Clerk
    Это плагин к total commander'у. А мне, кстати, Dependency Walker больше нравится
     
  14. Clerk

    Clerk Забанен

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

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    В принципе очень удобный плагин - а коммандерами пользуюсь еще с Фара, теперь на Тотале сижу. Удобно просматривать инфу сразу по F3 - так быстрее и привычней.
     
  16. sivsoft

    sivsoft New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2008
    Сообщения:
    82
    Попробовал сейчас Dependency Walker - бомба :)
    Как много я не знаю...