Указатель на функцию

Discussion in 'WASM.BEGINNERS' started by mAgoja, Jul 22, 2007.

  1. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    Драсте всем...
    Ребят звеняйте за тупой вопрос но... найти ответ никак не могу..
    есть функция:
    NTSYSAPI
    NTSTATUS
    NTAPI
    ZwCreateThread(
    OUT PHANDLE ThreadHandle,
    IN ACCESS_MASK DesiredAccess,
    IN POBJECT_ATTRIBUTES ObjectAttributes,
    IN HANDLE ProcessHandle,
    OUT PCLIENT_ID ClientId,
    IN PCONTEXT ThreadContext,
    IN PUSER_STACK UserStack,
    IN BOOLEAN CreateSuspended) ;
    Как сделать указатель на эту функцию :dntknw: на С++
    Заранее всем большое спасибо!!!
     
  2. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    указатель на код функции? или указатель на ячейку памяяти содержащий указатель на эту фнукцию?
     
  3. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    n0name
    указатель через который можно будет вызвать эту функцию
     
  4. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    ZwCreateThread.
     
  5. Asterix

    Asterix New Member

    Blog Posts:
    0
    Joined:
    Feb 25, 2003
    Messages:
    3,576
    http://msdn2.microsoft.com/en-us/library/ms686944.aspx
     
  6. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    n0name
    Я ее смогу так вызвать если у мя бут ее прототип и ntdll.lib
    а как мне создать указатель на эту функцию:
    пример есть функция void KILLALL(int first,int second)
    создаю указатель:
    void (*pKILLALL)(int first,int second);
    pKILLALL = KILLALL;
    вызываю функцию pKILLALL(1,2);
    может я не совсем корректно из ложился в предыдущих постах...
    Если возможно можно пример по моему вопросу
     
  7. Mika0x65

    Mika0x65 New Member

    Blog Posts:
    0
    Joined:
    Jul 30, 2005
    Messages:
    1,384
    Так в чем проблема?

    Создаешь указатель типа:
    Code (Text):
    1. NTSYSAPI
    2. NTSTATUS
    3. NTAPI
    4. (*pCreateThread)(
    5.                          PHANDLE,
    6.                          ACCESS_MASK,
    7.                          POBJECT_ATTRIBUTES,
    8.                          HANDLE,
    9.                          PCLIENT_ID,
    10.                          PCONTEXT,
    11.                          PUSER_STACK,
    12.                          BOOLEAN);
    13.  
    14. pCreateThread = ZwCreateThread;
    и используешь.
     
  8. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    Mika0x65
    Так в том то и прикол я точно также как ты объявлял указатель, компилятор кричит:
    Error 5 error C2059: syntax error : '(' f:\!_temp\testwinapi\realfuckdll\fuck.cpp 128
     
  9. Asterix

    Asterix New Member

    Blog Posts:
    0
    Joined:
    Feb 25, 2003
    Messages:
    3,576
    может название папки и файла сменить? ;)

    и кстати неплохо показать кусок сорца где видно как вы вызываете
     
  10. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    Asterix
    Не помогает :)
     
  11. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    mAgoja
    А что за размноживание аккаунтов? Одного мало?
     
  12. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    IceStudent
    нас два человека за одним компом :), вернее на одном инете
     
  13. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    NTSYSAPI это макрос __stdcall.
     
  14. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    n0name
    я наю но чот указатель создать немогу :dntknw:
     
  15. roman_pro

    roman_pro New Member

    Blog Posts:
    0
    Joined:
    Feb 9, 2007
    Messages:
    291
    Code (Text):
    1. NTSTATUS
    2. (NTAPI *pCreateThread)(PHANDLE,  ACCESS_MASK,   POBJECT_ATTRIBUTES,   HANDLE,  PCLIENT_ID,  PCONTEXT,      PUSER_STACK, BOOLEAN);
    3.  
    4. pCreateThread = ZwCreateThread;
     
  16. mAgoja

    mAgoja New Member

    Blog Posts:
    0
    Joined:
    Aug 13, 2004
    Messages:
    114
    Location:
    Ukraine
    roman_pro
    СПС работает :)