OllyGbg+GetLastError+непонятная лабуда

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

  1. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Вопчем при добавлении в код функции GetLastError OllyDbg при дебаге выдает какуюто непонятную дребедень,ассемблерный код,в котором нет никакого намека на те функции которые используются в программе.Если убрать GetLastErro то все дебагится нормально и код овыглядит нормально.
    В чем фишка?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    код в студию)
     
  3. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    P,eax

    Код (Text):
    1. invoke CreateFile,FilePathP,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,NULL,NULL
    2. mov FileHandle,eax
    3.  
    4. invoke GetFileSize,FileHandle,NULL
    5. mov FileSize,eax
    6.  
    7. lea eax,NOBR
    8. mov NOBRP,eax
    9.  
    10. mov dword ptr IncBuf.StartingVcn,NULL
    11.  
    12. mov ClusterSize,10
    13.  
    14. mov edx,FileSize
    15. shr edx,16
    16. mov eax,FileSize
    17. shl eax,16
    18. shr eax,16
    19. mov ebx,ClusterSize
    20. div ebx
    21. mov edx,sizeof OutBuf.Extents
    22. mul edx
    23. add eax,sizeof RETRIEVAL_POINTERS_BUFFER
    24. mov ebx,eax
    25.  
    26. invoke malloc,ebx
    27. mov OutBuf,al
    28.  
    29. mov dword ptr IncBuf.StartingVcn,NULL
    30.  
    31.  
    32.  
    33. invoke DeviceIoControl,FileHandle,
    34.         FSCTL_GET_RETRIEVAL_POINTERS, addr IncBuf,sizeof IncBuf, addr OutBuf,sizeof OutBuf,NOBRP,NULL
    35.  
    36. invoke GetLastError   <----- вот ента функция создает неприятности  :)
    37.  
    38. .if eax==NULL
    39.     invoke Beep,4000,100
    40. .endif
    41.  
    42.  
    43. ret
    44. WinMain endp
    45.  
    46. malloc proc dwBytes:DWORD
    47.  
    48. option PROLOGUE:NONE
    49. option EPILOGUE:NONE
    50.  
    51.     invoke GetProcessHeap
    52.     invoke HeapAlloc, eax, 0, [esp+4]
    53.     ret (sizeof DWORD)
    54.  
    55. option PROLOGUE:PROLOGUEDEF
    56. option EPILOGUE:EPILOGUEDEF
    57.  
    58. malloc endp
    59.  
    60. end start
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    я имею в виду - какие неприятности то. код из отладчика дай еще в обоих случаях
     
  5. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    весьма занятное у тебя начало по адресу 7c901000. кажется, это начало секции кода ntdll.dll, насколько я помню по памяти
     
  7. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    еще когда с GetLastError открываю exe файл,то пишет It looks like you are trying to set breakpoint on the data.