Распознование C++ функций в дебаггере

Тема в разделе "WASM.BEGINNERS", создана пользователем newb, 13 авг 2009.

  1. newb

    newb New Member

    Публикаций:
    0
    Регистрация:
    4 июн 2008
    Сообщения:
    39
    Код (Text):
    1. 00DC248D  41 74 74 61 63 6B 48 69 74 40 55 49 40 40 56 45  ?AttackHit@UI@@VE
    2. 00DC249D  76 65 6E 74 50 68 79 73 69 63 61 6C 44 61 6D 61  ventPhysicalDama
    3. 00DC24AD  67 65 52 65 63 65 69 76 65 64 40 52 65 70 6C 69  geReceived@Repli
    4. 00DC24BD  63 61 40 40 56 45 76 65 6E 74 40 47 61 6D 65 45  ca@@VEvent@GameE
    5. 00DC24CD  76 65 6E 74 73 40 40 40 47 61 6D 65 42 61 73 65  vents@@@GameBase
    6. 00DC24DD  40 40 00 F0 77 C0 00 00 00 00 00 2E 3F 41 56 3F  @@.рwА......?AV?
    7. 00DC24ED  24 45 76 65 6E 74 50 72 6F 63 65 73 73 6F 72 43  $EventProcessorC
    8. 00DC24FD  6C 6F 73 75 72 65 40 56 43 72 65 61 74 75 72 65  losure@VCreature
    9. 00DC250D  41 6E 69 6D 61 74 6F 72 41 74 74 61 63 6B 48 69  AnimatorAttackHi
    10. 00DC251D  74 40 55 49 40 40 56 45 76 65 6E 74 53 70 65 6C  t@UI@@VEventSpel
    11. 00DC252D  6C 4C 61 75 6E 63 68 65 64 50 6F 69 6E 74 40 52  lLaunchedPoint@R
    12. 00DC253D  65 70 6C 69 63 61 40 40 56 45 76 65 6E 74 40 47  eplica@@VEvent@G
    13. 00DC254D  61 6D 65 45 76 65 6E 74 73 40 40 40 47 61 6D 65  ameEvents@@@Game
    14. 00DC255D  42 61 73 65 40 40 00 00 00 00 00 F0 77 C0 00 00  Base@@.....рwА..
    15. 00DC256D  00 00 00 2E 3F 41 56 3F 24 45 76 65 6E 74 50 72  ....?AV?$EventPr
    16. 00DC257D  6F 63 65 73 73 6F 72 43 6C 6F 73 75 72 65 40 56  ocessorClosure@V
    17. 00DC258D  43 72 65 61 74 75 72 65 41 6E 69 6D 61 74 6F 72  CreatureAnimator
    18. 00DC259D  41 74 74 61 63 6B 48 69 74 40 55 49 40 40 56 45  AttackHit@UI@@VE
    19. 00DC25AD  76 65 6E 74 53 70 65 6C 6C 4C 61 75 6E 63 68 65  ventSpellLaunche
    20. 00DC25BD  64 54 61 72 67 65 74 40 52 65 70 6C 69 63 61 40  dTarget@Replica@
    21. 00DC25CD  40 56 45 76 65 6E 74 40 47 61 6D 65 45 76 65 6E  @VEvent@GameEven
    22. 00DC25DD  74 73 40 40 40 47 61 6D 65 42 61 73 65 40 40 00  ts@@@GameBase@@.
    23. 00DC25ED  00 00 00 F0 77 C0 00 00 00 00 00 2E 3F           ...рwА......
    Ну вот хотел спросить есть ли способ распознавания функций (переменных, и возвращаемого значения), используя только дамп?


    ?AttackHit@UI@@VEventPhysicalDamageReceived@Replica@@VEvent@GameEvents@@@GameBase@@.рwА......

    AttackHit - функция, UI наверное namespace... жду ответа, спасибо.
     
  2. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    почти любой код (загрузочный образ, дамп памяти, дамп из eeprom/flash) можно загрузить в IDA Pro и потом разбирать. В отладчиках есть только самый просой дизасм типа "unassemble <address>".
     
  3. reversecode

    reversecode Guest

    Публикаций:
    0
    в IDA переименуй какую нибудь функцию по этому названию
    и она тебе выдаст что это такое

    AttackHit это функция скорее всего
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    http://www.kegel.com/mangle.html
     
  5. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Кста, IDA разбирает mangled names для VC++ и g++
     
  6. reversecode

    reversecode Guest

    Публикаций:
    0
    токо для g++ она непонятно как разбирает
    c++filt лучше справляеться