Раскрутка стека в native коде

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by israeltanin, 27 Jul 2008.

  1. israeltanin

    israeltanin New Member

    Joined:
    22 Jul 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Кто нибудь пробовал использовать в native коде (только NtDll.dll) полноценные try - catch? Проблема в раскрутке стека. Откуда взять функцию ___CxxFrameHandler3 ? Или хотя бы ее спеки.
     
  2. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    ___CxxFrameHandler3 - это обработчик исключений в библиотеке crt, речь видимо идет о Visual C++ компиляторе.

    Такаяже проблема
    http://forums.msdn.microsoft.com/en-US/vclanguage/thread/c3ed6bf6-5407-48ce-96e2-0bc6b0340d03/

    Как рипнуть LIB
    http://cracklab.ru/art/?action=view&id=192
     
  3. israeltanin

    israeltanin New Member

    Joined:
    22 Jul 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    К сожалению, все сложнее. Мне не поможет выдраный из lib код. Мне нужны именно сырцы или полная спецификация. Дело в том, что там в коде используется TLS (наверняка для какой-нибудь фигни), а мне это не подходит. Поэтому придется писать свой обработчик :( Но разбираться по ассемблерному коду в спеках всех блоков скрытого кода, что генерит компилер - это еще тот гемморой :)
     
  4. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    http://www.wasm.ru/forum/viewtopic.php?id=27325