OpenProcess в XP ( sp2 )

Тема в разделе "WASM.WIN32", создана пользователем Asterix, 11 май 2005.

  1. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Это что за чудеса вначале функции(mov edi, edi), у всех что-ли так?

    Я в первый раз вижу..

    На выравнивание вроде не похоже %)


    Код (Text):
    1. .text:7C81E079
    2. .text:7C81E079 8B FF                                   mov     edi, edi
    3. .text:7C81E07B 55                                      push    ebp
    4. .text:7C81E07C 8B EC                                   mov     ebp, esp
    5. .text:7C81E07E 83 EC 20                                sub     esp, 20h
    6. .text:7C81E081 8B 45 10                                mov     eax, [ebp+dwProcessId]
    7. .text:7C81E084 89 45 F8                                mov     [ebp+var_8], eax
    8. .text:7C81E087 8B 45 0C                                mov     eax, [ebp+bInheritHandle]
    9. .text:7C81E08A 56                                      push    esi
    10. .text:7C81E08B 33 F6                                   xor     esi, esi
    11. .text:7C81E08D F7 D8                                   neg     eax
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Asterix

    Нападобии xchg eax,eax.
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    NoName





    Я же говорю, на выравнивание не катит, т.к. начало функции

    по адресу 7C81E079
     
  4. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    7C81E079 > 8BFF mov edi, edi ; ntdll.7C910738

    7C81E07B 55 push ebp

    7C81E07C 8BEC mov ebp, esp

    7C81E07E 83EC 20 sub esp, 20

    7C81E081 8B45 10 mov eax, dword ptr ss:[ebp+10]

    7C81E084 8945 F8 mov dword ptr ss:[ebp-8], eax

    7C81E087 8B45 0C mov eax, dword ptr ss:[ebp+C]

    7C81E08A 56 push esi

    7C81E08B 33F6 xor esi, esi

    7C81E08D F7D8 neg eax



    sp2
     
  5. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    :)

    Это MS что-то хитрое придумала.
     
  6. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Внутри IsBadWritePtr есть что-то вроде такого:
    Код (Text):
    1. mov al,BYTE PTR cs:[module.xxx]
    2. mov BYTE PTR cs:[module.xxx],al


    Потом дошло, что это внутри SEH проверяет валидность адресов памяти. Зато на C/C++ такое, IMHO, не напишешь. В данном случае тоже что-то неестественное получается. MS не просто так пролог функции изменила...



    P.S: А они все так начинаются в kernel32!!! Это какой-то signature...
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Quantum





    Компилятор глюканул?! :derisive:))



    Почему адрес начала функции не выравнен?
     
  8. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Quantum



    Видимо всё-таки не все, иначе мой плагин

    ни у кого на XP sp2 не работал бы, т.к. проверяет

    некоторые сигнатуры, например функции IsDebuggerPresent
     
  9. razor

    razor Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    40
    Asterix



    небольшое нововведение - подробнее
     
  10. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Получается что один mov быстрее 2х нопов.
     
  11. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Быстрее то быстрее, мне не понятно почему адрес то не выровнен, нафига тогда mov edi, edi было вставлять,

    для прикола?
     
  12. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    поищи hot patching в иннете или воспользуйся ссылкой разора,

    это вставили для patch'а.

    почему не выровнен адрес?

    а фигли нужно. это ж не цикл.

    запусти VTune и посмотри сколько % пошло

    за пентальти, а сколько на основное время

    выполнения ф-ции
     
  13. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    А в 2003 server'е код нормальный. А нас не посадят за код?



    77E589C1 > 55 push ebp

    77E589C2 8BEC mov ebp, esp

    77E589C4 83EC 20 sub esp, 20

    77E589C7 8B45 10 mov eax, dword ptr ss:[ebp+10]

    77E589CA 8945 F8 mov dword ptr ss:[ebp-8], eax

    77E589CD 8B45 0C mov eax, dword ptr ss:[ebp+C]

    77E589D0 56 push esi

    77E589D1 33F6 xor esi, esi

    77E589D3 F7D8 neg eax
     
  14. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Блин, братва, не нравится мне этот SP2 :dntknw: