Распознавание inline функций в IDA

Тема в разделе "WASM.RESEARCH", создана пользователем 7mm, 15 дек 2009.

  1. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Да нет конечно, что там можно оптимизировать. Я имел в виду регистры :)
     
  2. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    Да, пожалуйста:
    Вот инлайн функция
    Код (Text):
    1. __drv_maxIRQL(DISPATCH_LEVEL)
    2. FORCEINLINE
    3. VOID
    4. IoSetCompletionRoutine(
    5.     __in PIRP Irp,
    6.     __in_opt PIO_COMPLETION_ROUTINE CompletionRoutine,
    7.     __in_opt __drv_aliasesMem PVOID Context,
    8.     __in BOOLEAN InvokeOnSuccess,
    9.     __in BOOLEAN InvokeOnError,
    10.     __in BOOLEAN InvokeOnCancel
    11.     )
    12. {
    13.     PIO_STACK_LOCATION irpSp;
    14.     ASSERT( (InvokeOnSuccess || InvokeOnError || InvokeOnCancel) ? (CompletionRoutine != NULL) : TRUE );
    15.     irpSp = IoGetNextIrpStackLocation(Irp);
    16.     irpSp->CompletionRoutine = CompletionRoutine;
    17.     irpSp->Context = Context;
    18.     irpSp->Control = 0;
    19.     if (InvokeOnSuccess) {
    20.         irpSp->Control = SL_INVOKE_ON_SUCCESS;
    21.     }
    22.     if (InvokeOnError) {
    23.         irpSp->Control |= SL_INVOKE_ON_ERROR;
    24.     }
    25.     if (InvokeOnCancel) {
    26.         irpSp->Control |= SL_INVOKE_ON_CANCEL;
    27.     }
    28. }
    а вот кусок на асме
    Код (Text):
    1. .text:000117F8                 mov     eax, dword ptr [ebx+IRP.Tail.Overlay.anonymous_1.anonymous_0]
    2. .text:000117FB                 sub     eax, 24h
    3. .text:000117FE                 lea     ecx, [ebp+Event]
    4. .text:00011801                 mov     [eax+IO_STACK_LOCATION.Context], ecx
    5. .text:00011809                 mov     [eax+IO_STACK_LOCATION.CompletionRoutine], offset sub_10F4A
    6. .text:00011810                 mov     [eax+IO_STACK_LOCATION.Control], 0E0h
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Vam
    Я в теме, просто спросил примеры для данного конкретного случая, потому что ТС вроде обмолвился об оптимизации... Короче было взаимное недопонимание, теперь все ясно.