Реверсинг ДОС-файла..

Тема в разделе "WASM.RESEARCH", создана пользователем Vlhrt, 31 окт 2007.

  1. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    Приветствую всех!
    У меня возникла следующая проблема: устраиваюсь на работу, получил тестовое задание-крэкми, но крэкми -- ДОС-ком-файл(вот уже чего не ожидал =), время выполнения -- неделя, но только с досом я никогда не общался..IDA вроде бы дизассемблирует, и алгоритм сам небольшой(800 байт) и достаточно понятный, но вот с прерываниями я не знаком, подскажите, плз, как вводится текст и какой-нибудь совет, как действовать..(может есть способ быстро превратить в PE-файл?), сенкс заранее.
     
  2. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    протрейси на каком-нибуть визуальном x86-эмуляторе
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Vlhrt
    Дык выложи текст для обозрения.
     
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Vlhrt
    binary?
     
  5. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    Так Ida сама неплохо комментирует и прерывания, и работу с регистрами ввода/вывода. А если это окажется мало, то можно обратиться за справкой к Ralf Brown's Interrupt List - http://www.ctyme.com/rbrown.htm

    Смысл? Ida и сама неплохо с com-файлом разберется, а перевод его в PE ничего в логике его алгоритма не изменит.
     
  6. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    В IDA можно включить автоматические комментарии и она каждое прерывание сама опишет.
    адд: опоздал
     
  7. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    Снкс всем за помощь, вроде бы пока все разбирается удачно, только при int 21 (ax=0Ah) в каком виде строка в буфер пишется, никто не подскажет? Отладчика и доса нет, поэтому на бумажке все считаю, и верно ли, что в начале выполнения не только sp, но и bp равны 0FFFEh ?
    Сам файл в аттаче, только плз, не выкладывайте, как его ломать, очень хочется самому добить =)
     
  8. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    DOS BOX + SoftIce
     
  9. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    А софтайс станет, если на моем компе под xp никакие патчи не помогают и при запуске вылетает БСОД ?
    И можно, если не сложно, поподробней о том, что такое DOS BOX ?
     
  10. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Vlhrt
    Помимо SoftIce есть старенькие td (turbo debugger) (Borland) и cv (codeview) (Microsoft).
     
  11. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Или insight
    Хороший отладчик. Особенно для com приложений.
     
  12. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    А никто не подскажет, это глюк IDA, или я чего-то не знаю: откуда в листинге взятЬся( =) ) 32-битным регистрам???
    Вроде бы код "до" не модифицирует ничего в памяти даже в районе этих адресов??




    Код (Text):
    1. seg000:023B                 mov     dx, 13Ch
    2. seg000:023E                 mov     ah, 9
    3. seg000:0240                 int     21h             ; DOS - PRINT STRING
    4. seg000:0240                                         ; DS:DX -> string terminated by "$"
    5. seg000:0242                 int     20h             ; DOS - PROGRAM TERMINATION
    6. seg000:0242                                         ; returns to DOS--identical to INT 21/AH=00h
    7. seg000:0244 ; ---------------------------------------------------------------------------
    8. seg000:0244
    9. seg000:0244 loc_244:                                ; CODE XREF: seg000:0239j
    10. seg000:0244                 mov     si, 161h
    11. seg000:0247                 lodsd
    12. seg000:0249                 xchg    eax, edx      ;!!!!!!!!!!!!!!!!!!!!! Откуда????????????????
    13. seg000:024B                 mov     si, 169h
    14. seg000:024E                 push    si
    15. seg000:024F                 mov     di, si
    16. seg000:0251                 mov     cx, 18h
    17. seg000:0254
    18. seg000:0254 loc_254:                                ; CODE XREF: seg000:025Bj
    19. seg000:0254                 lodsd
    20. seg000:0256                 xor     eax, edx
    21. seg000:0259                 stosd
    22. seg000:025B                 loop    loc_254
    23. seg000:025D                 pop     si
    2 crypto & TermoSINteZ:

    Снкс, а много ли они весят, и можно ли запускать их в виндовсе, или надо ставить дос, или дос-эмулятор?
     
  13. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    db 0x66?
     
  14. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Vlhrt
    Не много

    Работает , но лучше кончено хотяб дос эмулятор заюзать
     
  15. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    Ага, именно оно, причем там не проскочить этот кусок, и это точно код..
     
  16. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    Большой сэнкс =)
     
  17. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    2 TermoSINteZ:

    Еще раз сенкс, он отлаживает!!!! Ну я его сейчас потрошну!!! =))


    Только 32битные регистры и в отладчике видны, и работает он корректно, наверно это я выдумал, что их там быть не может ???
     
  18. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Можно и виндовый debug использовать :)
     
  19. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    afd (привет ix0des'у)
     
  20. Vlhrt

    Vlhrt New Member

    Публикаций:
    0
    Регистрация:
    2 окт 2007
    Сообщения:
    19
    2 twgt:
    по-моему лучше бумажку.. =)

    2 censored:
    ?????????????