Отладка проги,работающей с cygwin1.dll

Тема в разделе "WASM.RESEARCH", создана пользователем trox07, 15 ноя 2008.

  1. trox07

    trox07 New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    14
    Привет. Есть программа,работающая как прокси.Использует библиотеку cygwin1.dll.
    При отладке ,программа вываливается с ошибкой "The memorey could not be read"

    Код (Text):
    1. cygwin1.dll:610B41FB  cmp     dword ptr [eax+4], 0DF0DF046h       -< здесь падает
    2. cygwin1.dll:610B4202  jz      loc_610B434D
    3. cygwin1.dll:610B4208  mov     eax, large fs:4
    4. cygwin1.dll:610B420E  mov     edx, [ebp-28h]
    5. cygwin1.dll:610B4211  sub     eax, 319Ch
    6. cygwin1.dll:610B4216  mov     [eax+0C30h], edx
    7. cygwin1.dll:610B421C  mov     edx, [ebp-24h]
    8. cygwin1.dll:610B421F  mov     [eax+0C34h], edx
    9. cygwin1.dll:610B4225  xor     eax, eax
    10. cygwin1.dll:610B4227
    11. cygwin1.dll:610B4227  loc_610B4227:                           ; CODE XREF: cygwin1.dll:610B436Fj
    12. cygwin1.dll:610B4227  test    al, al
    13. cygwin1.dll:610B4229  jz      loc_610B4314
    14. cygwin1.dll:610B422F  mov     ebx, [edi]
    15. cygwin1.dll:610B4231  mov     eax, 0FFFFFFFFh
    16. cygwin1.dll:610B4236  cmp     dword ptr [ebx+1Ch], 2
    17. cygwin1.dll:610B423A  jz      short loc_610B4241
    18. cygwin1.dll:610B423C  call    near ptr unk_610766B0
    При пропуске исключения,далее падает здесь:
    Код (Text):
    1. cygwin1.dll:610AC3FA  cmp     dword ptr [eax+4], 0DF0DF046h    -< здесь падает
    2. cygwin1.dll:610AC401  jz      loc_610AC4FC
    3. cygwin1.dll:610AC407  mov     eax, large fs:4
    4. cygwin1.dll:610AC40D  mov     edx, [ebp-18h]
    5. cygwin1.dll:610AC410  sub     eax, 319Ch
    6. cygwin1.dll:610AC415  mov     [eax+0C30h], edx
    7. cygwin1.dll:610AC41B  mov     edx, [ebp-14h]
    8. cygwin1.dll:610AC41E  mov     [eax+0C34h], edx
    9. cygwin1.dll:610AC424  xor     eax, eax
    10. cygwin1.dll:610AC426
    11. cygwin1.dll:610AC426  loc_610AC426:                           ; CODE XREF: cygwin1.dll:610AC51Ej
    12. cygwin1.dll:610AC426  test    al, al
    13. cygwin1.dll:610AC428  jz      loc_610AC4CF
    14. cygwin1.dll:610AC42E  mov     ebx, [esi]
    15. cygwin1.dll:610AC430  mov     eax, 0FFFFFFFFh
    16. cygwin1.dll:610AC435  cmp     dword ptr [ebx+1Ch], 2
    17. cygwin1.dll:610AC439  jz      short loc_610AC440
    18. cygwin1.dll:610AC43B  call    near ptr unk_610766B0
    Адреса разные,а вот код похож. Что это? Антиотладка или cygwin1.dll глубоко лезет в недры винды и IDA не справляется из-за юзермодной отладки?
    Я в общем-то новичек во всех этих делах и мне удобно было бы разбираться в IDA,чем в Soft-ice(в нем все ок без всяких плагинов,типа iceext).
    Буду рад любым подсказкам=)
     
  2. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    нутак иди в call stack, посмотри с какого експорта ваще сюда попал. если у функи есть имя - может даже конкретнее поймеш ситуацию. имхо 80% - все дело в некорректных аргументах переданых в функцию.
     
  3. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    кроме того неизвестно какая версия сугвина у тебя, нарыл в завалах 1.5.18 - там кусок попадающий в первый твой снип - .text:610B41E0 ; int __cdecl log10(double) однозначно непохож. как и второй снип который попадает в область какой то неекспортируемой функи.
     
  4. trox07

    trox07 New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    14
    trash_master сорри,что не отвечал.Вообщем я кажется не в ту тему написал=) Хотел в тему для новичков=)) Ну да ладно.Поставил в иде-не останавливаться на исключениях и передавать исключение программе и прокатило,пока отлаживается=)

    Спасибо за советы! Если что,я еще вернусь ;)