описание .debug секции в .obj от микрософта

Тема в разделе "WASM.RESEARCH", создана пользователем reversecode, 25 май 2009.

  1. reversecode

    reversecode Guest

    Публикаций:
    0
    кто встречал описание формата этой секции
    есть некоторые исходные данные который нужно вытянуть
    IDA соответственно их не вытягивает
    посему хочу вручную написать прогу которая вытягивает эту секцию в исходный код
     
  2. BigGreen

    BigGreen New Member

    Публикаций:
    0
    Регистрация:
    19 май 2009
    Сообщения:
    34
    Common Object File Format Specification?
     
  3. BigGreen

    BigGreen New Member

    Публикаций:
    0
    Регистрация:
    19 май 2009
    Сообщения:
    34
    в текущей спецификации и правда нет
    посмотри на этом сайте файл COFF.pdf
     
  4. BigGreen

    BigGreen New Member

    Публикаций:
    0
    Регистрация:
    19 май 2009
    Сообщения:
    34
    .debug$T/.debug$P/.debug$S/.debug$F же нужны?
     
  5. BigGreen

    BigGreen New Member

    Публикаций:
    0
    Регистрация:
    19 май 2009
    Сообщения:
    34
    может это поможет
    http://www.debuginfo.com/articles.html
    http://hi.baidu.com/rock141/blog/item/841b15df31213a1148540323.html (winf10.pdf :: Symbol And Type Information)
     
  6. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    там одно старьё - перекрывает только до NB9 (CodeView 4.1)
     
  7. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    main.c: void main(void){}
    cl /c main.c
    link /force /debug main.obj file.obj
    На выходе - main.pdb, в котором все (по идее) символы из .obj
     
  8. BigGreen

    BigGreen New Member

    Публикаций:
    0
    Регистрация:
    19 май 2009
    Сообщения:
    34
    ну так и есть
    но спецификации на новую версию почему-то нет
    может конечно плохо смотрел
     
  9. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Грузит ида и типы из PDB. Ну или на худой конец можно dia2dump заюзать.
     
  10. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    В MSDN к VC6 тоже есть этот раздел.
    Выше NB11 ничего нет (CodeView 5), использовался для вставки debug info в экзешник, далее идет RSDS, основанный на том же CodeView 5, используется для вставки debug info в pdb файлы двух форматов, в последних версиях VC добавлено только несколько новых типов.
     
  11. letika

    letika New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    28
    "CV4 Symbolic Debug Information Specification" (oemdeb.doc). Сорцы wine и т.д.
    А научить IDA понимать отладочную инфу из объектников хорошая идея, удачи.
     
  12. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    Если хотите начать..., то начните с этого (см. вложение). Первая и последняя открытая спецификация по СV от Microsoft, но увы, только до версии 4.1 (NB9)
    Временно приостановлен, появилась более насущная задача - декомпилятор VMProtect.
     
  13. Vam

    Vam New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2008
    Сообщения:
    149
    Информация из debug секции obj файла на стадии линковки переносится в pdb файл проекта или встраивается в сам экзешник в зависимости от её представления. Зачем нужно ковыряться в объектном файле?
     
  14. letika

    letika New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    28
    А DIA не понимает отладочную инфу из объектников?
     
  15. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Зачем для каждого? Линкуй сразу всю либу.
     
  16. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    VC – если какой-либо символ из obj используется, то линкуется весь obj. Соответственно, если на какие-то obj из либы ссылок нет, то эти obj не будут включены.
    Отдельный момент – link-time code generation. Тут уже из obj выбирается только то, что нужно. Ибо такие obj содержат не скомпилированный код, но промежуточный.