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

Discussion in 'WASM.BEGINNERS' started by KingT, Apr 27, 2007.

  1. KingT

    KingT Member

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

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    код в студию)
     
  3. KingT

    KingT Member

    Blog Posts:
    0
    Joined:
    Jan 12, 2006
    Messages:
    208
    P,eax

    Code (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

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    я имею в виду - какие неприятности то. код из отладчика дай еще в обоих случаях
     
  5. KingT

    KingT Member

    Blog Posts:
    0
    Joined:
    Jan 12, 2006
    Messages:
    208
  6. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    весьма занятное у тебя начало по адресу 7c901000. кажется, это начало секции кода ntdll.dll, насколько я помню по памяти
     
  7. KingT

    KingT Member

    Blog Posts:
    0
    Joined:
    Jan 12, 2006
    Messages:
    208
    еще когда с GetLastError открываю exe файл,то пишет It looks like you are trying to set breakpoint on the data.