IDP Прикручиваю к C++

Тема в разделе "WASM.RESEARCH", создана пользователем СFF, 3 ноя 2010.

  1. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    19841204
    Перезалил архив выше по ссылке попробуйте.

    punxer
    Аргументы искать это кодера проблема, а не этого механизма и движка.
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    CrystalIC
    вот и думаю как найти%)
    выше по ссылке это где?
     
  3. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    punxer
    возьми ida и можешь даже в сиподобный код перевести и найти обращение к глобальной вещи по указателю.
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    spa
    не понял тебя? к чему это? я могу найти нужную ссылку для движка.
     
  6. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    CrystalIC
    в примере управление из Test(DWORD,DWORD) передается в IDP VEH Handler
    Код (Text):
    1.     if(e->ExceptionRecord->ExceptionCode==IDP_SINGLE_STEP)
    2.     {
    3.         //код обработчика
    4.         //__asm{int 3}
    5.         MessageBox(0,L"Catched",0,0);
    6.         return EXCEPTION_CONTINUE_EXECUTION;
    7.     }
    вот тут и хочу получить доступ к параметрам DWORD,DWORD
    потом можно будет изменить EIP на начало функции Test и перезапустить ее с измененными параметрами например
     
  7. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    punxer
    В контексте исходная ссылка на последний стековый фрейм лежит в регистре Ebp. Число стековых фреймов, тоесть уровень вложенности(NL) равный номеру стекового фрейма(SFN) известен, так как известен код и фиксирован. На сколько понимаю по вашему скриптовому кодесу параметр/переменная будет лежать в текущем стековом фрейме. Смещение её нужно смотреть под дизасмом(если локальная переменная).
     
  8. СFF

    СFF PP

    Публикаций:
    0
    Регистрация:
    16 янв 2009
    Сообщения:
    233
    Что за подстава архив размеров 0 байт
     
  9. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    ого, я думаю метод на это не ращитан. Но если надо именно выполнение функции с начала. то как я думаю надо смотреть на конкретную функцию, и править то что она успела "сломать" с ненужными параметрами, и продолжать.
     
  10. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    19841204
    Фтп лагает, залил есчо раз.
     
  11. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    CrystalIC
    опять такая же история со скачкой
     
  12. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    Код (Text):
    1. ; ~~~~~~~~~~~~~~~~~~ Autogenerated dump ~~~~~~~~~~~~~~~~~~~~~
    2. DB 085H, 0C0H, 00FH, 084H, 032H, 006H, 000H, 000H, 048H, 00FH
    3. DB 084H, 0DAH, 002H, 000H, 000H, 048H, 00FH, 084H, 05AH, 002H
    4. DB 000H, 000H, 048H, 00FH, 084H, 071H, 002H, 000H, 000H, 048H
    5. DB 00FH, 084H, 0C7H, 000H, 000H, 000H, 048H, 00FH, 084H, 0C6H
    6. DB 001H, 000H, 000H, 0B8H, 00DH, 000H, 000H, 0C0H, 0C3H, 059H
    7. DB 055H, 050H, 0E8H, 01FH, 000H, 000H, 000H, 050H, 064H, 0FFH
    8. DB 035H, 000H, 000H, 000H, 000H, 064H, 089H, 025H, 000H, 000H
    9. DB 000H, 000H, 0FFH, 0E1H, 059H, 064H, 08FH, 005H, 000H, 000H
    10. DB 000H, 000H, 08DH, 064H, 024H, 00CH, 0FFH, 0E1H, 0E8H, 02EH
    11. DB 000H, 000H, 000H, 08BH, 044H, 024H, 004H, 08BH, 04CH, 024H
    12. DB 00CH, 08BH, 014H, 024H, 08BH, 099H, 0A4H, 000H, 000H, 000H
    13. DB 08BH, 0B1H, 0A0H, 000H, 000H, 000H, 08BH, 0B9H, 09CH, 000H
    14. DB 000H, 000H, 08BH, 064H, 024H, 008H, 08BH, 048H, 00CH, 08BH
    15. DB 000H, 08BH, 06CH, 024H, 00CH, 0FFH, 064H, 024H, 008H, 058H
    16. DB 0C3H, 055H, 08BH, 0ECH, 08BH, 055H, 008H, 0B8H, 07BH, 000H
    17. DB 000H, 0C0H, 066H, 081H, 03AH, 04DH, 05AH, 075H, 02AH, 003H
    18. DB 052H, 03CH, 081H, 03AH, 050H, 045H, 000H, 000H, 075H, 01FH
    19. DB 066H, 081H, 07AH, 014H, 0E0H, 000H, 075H, 017H, 066H, 081H
    20. DB 07AH, 004H, 04CH, 001H, 075H, 00FH, 066H, 0F7H, 042H, 016H
    21. DB 000H, 001H, 074H, 007H, 08BH, 04DH, 00CH, 033H, 0C0H, 089H
    22. DB 011H, 0C9H, 0C2H, 008H, 000H, 055H, 08BH, 0ECH, 053H, 08BH
    23. DB 04DH, 008H, 08BH, 055H, 00CH, 033H, 0DBH, 08AH, 004H, 00BH
    24. DB 038H, 004H, 013H, 075H, 005H, 043H, 084H, 0C0H, 075H, 0F3H
    25. DB 05BH, 0C9H, 0C2H, 008H, 000H, 055H, 08BH, 0ECH, 083H, 0C4H
    26. DB 0F4H, 053H, 056H, 057H, 0E8H, 0D9H, 000H, 000H, 000H, 0E8H
    27. DB 033H, 0FFH, 0FFH, 0FFH, 064H, 0A1H, 030H, 000H, 000H, 000H
    28. DB 08BH, 05DH, 008H, 08BH, 040H, 00CH, 085H, 0DBH, 08BH, 040H
    29. DB 00CH, 075H, 005H, 08BH, 000H, 08BH, 058H, 018H, 08DH, 045H
    30. DB 0F8H, 050H, 053H, 0E8H, 06DH, 0FFH, 0FFH, 0FFH, 085H, 0C0H
    31. DB 08BH, 055H, 0F8H, 00FH, 085H, 0B8H, 000H, 000H, 000H, 08BH
    32. DB 042H, 078H, 085H, 0C0H, 00FH, 084H, 0ADH, 000H, 000H, 000H
    33. DB 003H, 0C3H, 089H, 045H, 0FCH, 08BH, 070H, 020H, 085H, 0F6H
    34. DB 00FH, 084H, 0A4H, 000H, 000H, 000H, 08BH, 040H, 018H, 085H
    35. DB 0C0H, 00FH, 084H, 099H, 000H, 000H, 000H, 089H, 045H, 0F4H
    36. DB 003H, 0F3H, 033H, 0FFH, 0FCH, 08BH, 006H, 003H, 0C3H, 083H
    37. DB 07DH, 010H, 000H, 074H, 024H, 057H, 08BH, 0F8H, 0B9H, 004H
    38. DB 001H, 000H, 000H, 08BH, 0D7H, 033H, 0C0H, 0F2H, 0AEH, 0F7H
    39. DB 0D1H, 05FH, 081H, 0C1H, 004H, 001H, 000H, 000H, 051H, 052H
    40. DB 0FFH, 075H, 014H, 0FFH, 055H, 010H, 039H, 045H, 00CH, 0EBH
    41. DB 009H, 050H, 0FFH, 075H, 00CH, 0E8H, 03DH, 0FFH, 0FFH, 0FFH
    42. DB 075H, 030H, 08BH, 04DH, 0FCH, 08BH, 041H, 024H, 003H, 0C3H
    43. DB 00FH, 0B7H, 03CH, 078H, 00BH, 0FFH, 074H, 009H, 03BH, 079H
    44. DB 010H, 072H, 003H, 02BH, 079H, 010H, 047H, 08BH, 071H, 01CH
    45. DB 003H, 0F3H, 08BH, 00CH, 0BEH, 085H, 0C9H, 08BH, 055H, 018H
    46. DB 074H, 029H, 003H, 0CBH, 033H, 0C0H, 089H, 00AH, 0EBH, 015H
    47. DB 083H, 0C6H, 004H, 047H, 0FFH, 04DH, 0F4H, 075H, 08EH, 0B8H
    48. DB 07AH, 000H, 000H, 0C0H, 0EBH, 005H, 0E8H, 0B4H, 0FEH, 0FFH
    49. DB 0FFH, 0E8H, 06EH, 0FEH, 0FFH, 0FFH, 05FH, 05EH, 05BH, 0C9H
    50. DB 0C2H, 014H, 000H, 0B8H, 07BH, 000H, 000H, 0C0H, 0EBH, 0EDH
    51. DB 0B8H, 0FFH, 000H, 000H, 0C0H, 0EBH, 0E6H, 055H, 08BH, 0ECH
    52. DB 083H, 0C4H, 0ECH, 056H, 057H, 0E8H, 062H, 000H, 000H, 000H
    53. DB 0E8H, 02EH, 0FEH, 0FFH, 0FFH, 08DH, 04DH, 0FCH, 033H, 0C0H
    54. DB 051H, 08DH, 055H, 0ECH, 050H, 050H, 052H, 050H, 02DH, 0AEH
    55. DB 08BH, 093H, 0BCH, 089H, 045H, 0ECH, 005H, 01DH, 0F9H, 003H
    56. DB 032H, 089H, 045H, 0F0H, 035H, 01BH, 008H, 033H, 007H, 089H
    57. DB 045H, 0F4H, 035H, 017H, 056H, 071H, 072H, 089H, 045H, 0F8H
    58. DB 0E8H, 0B6H, 0FEH, 0FFH, 0FFH, 085H, 0C0H, 08BH, 075H, 010H
    59. DB 075H, 029H, 08BH, 07DH, 014H, 0ADH, 057H, 0FFH, 075H, 00CH
    60. DB 0FFH, 075H, 0FCH, 050H, 0FFH, 075H, 008H, 0E8H, 09BH, 0FEH
    61. DB 0FFH, 0FFH, 085H, 0C0H, 075H, 011H, 0ADH, 083H, 0C7H, 004H
    62. DB 085H, 0C0H, 075H, 0E4H, 033H, 0C0H, 0EBH, 005H, 0E8H, 026H
    63. DB 0FEH, 0FFH, 0FFH, 0E8H, 0E0H, 0FDH, 0FFH, 0FFH, 05FH, 05EH
    64. DB 0C9H, 0C2H, 010H, 000H, 033H, 0C0H, 064H, 08BH, 00DH, 030H
    65. DB 000H, 000H, 000H, 0F0H, 00FH, 0B1H, 081H, 0FCH, 00FH, 000H
    66. DB 000H, 075H, 008H, 0B8H, 001H, 000H, 000H, 0C0H, 0C2H, 008H
    67. DB 000H, 0FFH, 060H, 028H, 033H, 0C0H, 064H, 08BH, 00DH, 030H
    68. DB 000H, 000H, 000H, 0F0H, 00FH, 0B1H, 081H, 0FCH, 00FH, 000H
    69. DB 000H, 075H, 008H, 0B8H, 001H, 000H, 000H, 0C0H, 0C2H, 008H
    70. DB 000H, 0FFH, 060H, 02CH, 055H, 08BH, 0ECH, 08BH, 045H, 008H
    71. DB 08BH, 055H, 00CH, 08BH, 0C8H, 081H, 0E2H, 000H, 000H, 00FH
    72. DB 000H, 0C1H, 0E8H, 010H, 081H, 0E1H, 000H, 000H, 000H, 0FFH
    73. DB 025H, 0FFH, 000H, 000H, 000H, 08DH, 094H, 002H, 000H, 0F2H
    74. DB 0C0H, 000H, 00BH, 0D1H, 08BH, 045H, 00CH, 08BH, 04DH, 008H
    75. DB 025H, 0FFH, 0FFH, 000H, 000H, 0C1H, 0E1H, 010H, 08DH, 00CH
    76. DB 008H, 0C9H, 0C2H, 008H, 000H, 055H, 08BH, 0ECH, 083H, 0C4H
    77. DB 0F4H, 053H, 056H, 057H, 033H, 0C0H, 064H, 08BH, 01DH, 030H
    78. DB 000H, 000H, 000H, 0F0H, 00FH, 0B1H, 083H, 0FCH, 00FH, 000H
    79. DB 000H, 08BH, 0D8H, 075H, 00AH, 0B8H, 001H, 000H, 000H, 0C0H
    80. DB 0E9H, 0D0H, 000H, 000H, 000H, 08DH, 04BH, 034H, 089H, 05DH
    81. DB 0F8H, 051H, 0FFH, 053H, 020H, 08DH, 073H, 050H, 08BH, 07DH
    82. DB 008H, 08BH, 04BH, 04CH, 08BH, 03FH, 089H, 07DH, 0FCH, 081H
    83. DB 0FFH, 000H, 000H, 001H, 000H, 00FH, 086H, 0B3H, 000H, 000H
    84. DB 000H, 08BH, 0C7H, 08BH, 055H, 00CH, 081H, 0E7H, 0FFH, 00FH
    85. DB 000H, 000H, 085H, 0D2H, 00FH, 084H, 0A0H, 000H, 000H, 000H
    86. DB 003H, 0D7H, 089H, 075H, 0F4H, 0E3H, 037H, 081H, 0F9H, 080H
    87. DB 000H, 000H, 000H, 072H, 01AH, 0B8H, 09AH, 000H, 000H, 0C0H
    88. DB 0EBH, 07AH, 039H, 016H, 076H, 01FH, 081H, 0C7H, 000H, 010H
    89. DB 000H, 000H, 04AH, 074H, 0ECH, 08BH, 075H, 0F4H, 08BH, 04BH
    90. DB 04CH, 039H, 046H, 008H, 074H, 058H, 039H, 03EH, 074H, 0E8H
    91. DB 073H, 0E2H, 039H, 07EH, 004H, 073H, 0E1H, 083H, 0C6H, 010H
    92. DB 0E2H, 0EBH, 08BH, 045H, 0FCH, 0BAH, 0FFH, 0FFH, 0FEH, 07FH
    93. DB 056H, 02BH, 0D0H, 02BH, 075H, 0F4H, 02BH, 0C7H, 0D1H, 0EEH
    94. DB 025H, 000H, 0F0H, 0FFH, 0FFH, 0C1H, 0EAH, 00CH, 08DH, 076H
    95. DB 00FH, 052H, 050H, 0E8H, 002H, 0FFH, 0FFH, 0FFH, 06AH, 000H
    96. DB 06AH, 000H, 06AH, 000H, 052H, 051H, 056H, 0FFH, 053H, 00CH
    97. DB 05EH, 085H, 0C0H, 08BH, 04DH, 008H, 075H, 01AH, 089H, 03EH
    98. DB 089H, 04EH, 00CH, 089H, 039H, 0FFH, 075H, 0FCH, 0FFH, 043H
    99. DB 04CH, 08FH, 046H, 008H, 08BH, 055H, 00CH, 033H, 0C0H, 003H
    100. DB 0D7H, 089H, 056H, 004H, 08DH, 04BH, 034H, 050H, 051H, 0FFH
    101. DB 053H, 024H, 058H, 05FH, 05EH, 05BH, 0C9H, 0C2H, 008H, 000H
    102. DB 0B8H, 00DH, 000H, 000H, 0C0H, 0EBH, 0E9H, 055H, 08BH, 0ECH
    103. DB 083H, 0C4H, 0F0H, 053H, 056H, 057H, 08BH, 075H, 008H, 033H
    104. DB 0DBH, 0C7H, 045H, 0FCH, 011H, 000H, 000H, 000H, 0C7H, 045H
    105. DB 0F0H, 0F0H, 0F2H, 066H, 067H, 0C7H, 045H, 0F4H, 0F3H, 02EH
    106. DB 03EH, 036H, 0C7H, 045H, 0F8H, 026H, 064H, 065H, 000H, 08DH
    107. DB 055H, 0F0H, 0FFH, 04DH, 0FCH, 074H, 02BH, 0ACH, 08BH, 0FAH
    108. DB 0B9H, 00BH, 000H, 000H, 000H, 0F2H, 0AEH, 075H, 00AH, 083H
    109. DB 0F9H, 006H, 073H, 0EAH, 00FH, 0B6H, 0D8H, 0EBH, 0E5H, 08BH
    110. DB 0D0H, 02CH, 0A4H, 074H, 004H, 0FEH, 0C8H, 075H, 00BH, 08BH
    111. DB 0C2H, 08BH, 0CBH, 05FH, 05EH, 05BH, 0C9H, 0C2H, 004H, 000H
    112. DB 033H, 0C0H, 0EBH, 0F3H, 0E8H, 036H, 0FCH, 0FFH, 0FFH, 055H
    113. DB 08BH, 0ECH, 083H, 0C4H, 0FCH, 053H, 056H, 057H, 08BH, 055H
    114. DB 008H, 033H, 0C0H, 08BH, 032H, 08BH, 07AH, 004H, 083H, 07EH
    115. DB 004H, 000H, 064H, 08BH, 01DH, 030H, 000H, 000H, 000H, 075H
    116. DB 05EH, 0F0H, 00FH, 0B1H, 083H, 0FCH, 00FH, 000H, 000H, 074H
    117. DB 054H, 08BH, 0D8H, 08DH, 04BH, 034H, 051H, 0FFH, 053H, 020H
    118. DB 081H, 03EH, 005H, 000H, 000H, 0C0H, 00FH, 085H, 0E1H, 000H
    119. DB 000H, 000H, 083H, 07EH, 014H, 000H, 08BH, 046H, 018H, 00FH
    120. DB 095H, 0C1H, 083H, 07EH, 010H, 002H, 00FH, 0B6H, 0C9H, 00FH
    121. DB 085H, 093H, 000H, 000H, 000H, 089H, 04DH, 0FCH, 03DH, 000H
    122. DB 000H, 001H, 000H, 00FH, 083H, 085H, 000H, 000H, 000H, 08BH
    123. DB 04BH, 04CH, 08DH, 073H, 050H, 08BH, 0D1H, 0E3H, 07BH, 039H
    124. DB 006H, 077H, 005H, 039H, 046H, 004H, 077H, 00BH, 083H, 0C6H
    125. DB 010H, 0E2H, 0F2H, 0EBH, 06BH, 033H, 0C0H, 0EBH, 072H, 02BH
    126. DB 0D1H, 0FFH, 0B7H, 0C0H, 000H, 000H, 000H, 081H, 08FH, 0C0H
    127. DB 000H, 000H, 000H, 000H, 001H, 000H, 000H, 064H, 08FH, 005H
    128. DB 0F8H, 00FH, 000H, 000H, 064H, 089H, 035H, 0FCH, 00FH, 000H
    129. DB 000H, 08DH, 034H, 0D5H, 00FH, 000H, 000H, 000H, 0FFH, 0B7H
    130. DB 0B8H, 000H, 000H, 000H, 0E8H, 0E6H, 0FEH, 0FFH, 0FFH, 085H
    131. DB 0C0H, 075H, 01AH, 089H, 0B7H, 090H, 000H, 000H, 000H, 089H
    132. DB 0B7H, 08CH, 000H, 000H, 000H, 089H, 0B7H, 094H, 000H, 000H
    133. DB 000H, 089H, 0B7H, 098H, 000H, 000H, 000H, 0EBH, 00CH, 083H
    134. DB 07DH, 0FCH, 000H, 074H, 023H, 089H, 0B7H, 094H, 000H, 000H
    135. DB 000H, 08BH, 045H, 008H, 08BH, 000H, 0C7H, 000H, 001H, 000H
    136. DB 0FEH, 080H, 033H, 0C0H, 08DH, 04BH, 034H, 050H, 051H, 0FFH
    137. DB 053H, 024H, 058H, 05FH, 05EH, 05BH, 0C9H, 0C2H, 004H, 000H
    138. DB 085H, 0C9H, 089H, 0B7H, 098H, 000H, 000H, 000H, 074H, 0D9H
    139. DB 080H, 0F9H, 026H, 075H, 008H, 089H, 0B7H, 094H, 000H, 000H
    140. DB 000H, 0EBH, 0CCH, 089H, 0B7H, 090H, 000H, 000H, 000H, 089H
    141. DB 0B7H, 08CH, 000H, 000H, 000H, 0EBH, 0BEH, 081H, 03EH, 004H
    142. DB 000H, 000H, 080H, 00FH, 085H, 096H, 000H, 000H, 000H, 08BH
    143. DB 003H, 08BH, 04EH, 00CH, 085H, 0C0H, 08DH, 053H, 004H, 074H
    144. DB 029H, 083H, 0F8H, 001H, 074H, 006H, 03BH, 0C1H, 075H, 020H
    145. DB 0EBH, 00DH, 03BH, 0CAH, 072H, 007H, 083H, 0C2H, 008H, 03BH
    146. DB 0CAH, 072H, 09BH, 089H, 00BH, 081H, 0A7H, 0C0H, 000H, 000H
    147. DB 000H, 0FFH, 0FEH, 0FFH, 0FFH, 0B8H, 0FFH, 0FFH, 0FFH, 0FFH
    148. DB 0EBH, 08AH, 064H, 0A1H, 0F8H, 00FH, 000H, 000H, 085H, 0C0H
    149. DB 00FH, 084H, 07AH, 0FFH, 0FFH, 0FFH, 064H, 0C7H, 005H, 0F8H
    150. DB 00FH, 000H, 000H, 000H, 000H, 000H, 000H, 0C7H, 006H, 002H
    151. DB 000H, 0FEH, 080H, 025H, 000H, 001H, 000H, 000H, 0C7H, 087H
    152. DB 08CH, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 081H, 0A7H
    153. DB 0C0H, 000H, 000H, 000H, 0FFH, 0FEH, 0FFH, 0FFH, 0C7H, 087H
    154. DB 090H, 000H, 000H, 000H, 03BH, 000H, 000H, 000H, 0C7H, 087H
    155. DB 094H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 0C7H, 087H
    156. DB 098H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 009H, 087H
    157. DB 0C0H, 000H, 000H, 000H, 0E9H, 027H, 0FFH, 0FFH, 0FFH, 081H
    158. DB 03EH, 096H, 000H, 000H, 0C0H, 00FH, 085H, 01BH, 0FFH, 0FFH
    159. DB 0FFH, 08DH, 043H, 00AH, 039H, 046H, 00CH, 00FH, 085H, 00FH
    160. DB 0FFH, 0FFH, 0FFH, 0FFH, 087H, 0B8H, 000H, 000H, 000H, 0E9H
    161. DB 06BH, 0FFH, 0FFH, 0FFH, 055H, 08BH, 0ECH, 083H, 0C4H, 0A8H
    162. DB 053H, 056H, 057H, 0E8H, 0EEH, 000H, 000H, 000H, 0E8H, 0E4H
    163. DB 0F9H, 0FFH, 0FFH, 033H, 0C0H, 064H, 08BH, 01DH, 030H, 000H
    164. DB 000H, 000H, 0F0H, 00FH, 0B1H, 083H, 0FCH, 00FH, 000H, 000H
    165. DB 08DH, 04DH, 0BCH, 074H, 00AH, 0B8H, 001H, 000H, 000H, 0C0H
    166. DB 0E9H, 0CEH, 000H, 000H, 000H, 051H, 033H, 0C0H, 08DH, 07DH
    167. DB 0BCH, 02DH, 0A5H, 0E0H, 068H, 0D6H, 057H, 0FCH, 0ABH, 035H
    168. DB 02FH, 0BAH, 0B7H, 0F1H, 0ABH, 005H, 060H, 080H, 059H, 021H
    169. DB 0ABH, 02DH, 030H, 02CH, 003H, 06CH, 0ABH, 035H, 0F8H, 018H
    170. DB 055H, 0EDH, 0ABH, 005H, 008H, 06FH, 0DBH, 0F8H, 0ABH, 02DH
    171. DB 013H, 031H, 007H, 0B9H, 0ABH, 035H, 059H, 01DH, 053H, 025H
    172. DB 0ABH, 005H, 02EH, 0FFH, 02CH, 044H, 0ABH, 033H, 0C0H, 0ABH
    173. DB 050H, 050H, 0E8H, 03CH, 0FBH, 0FFH, 0FFH, 085H, 0C0H, 0C7H
    174. DB 045H, 0A8H, 050H, 002H, 000H, 000H, 075H, 07BH, 089H, 045H
    175. DB 0ACH, 08DH, 04DH, 0ACH, 08DH, 055H, 0A8H, 06AH, 040H, 068H
    176. DB 000H, 010H, 000H, 000H, 052H, 06AH, 000H, 051H, 06AH, 0FFH
    177. DB 0FFH, 055H, 0C0H, 085H, 0C0H, 08DH, 055H, 0E4H, 075H, 05BH
    178. DB 052H, 0FFH, 055H, 0C8H, 085H, 0C0H, 075H, 06AH, 0E8H, 063H
    179. DB 0FDH, 0FFH, 0FFH, 050H, 06AH, 001H, 0FFH, 055H, 0D8H, 085H
    180. DB 0C0H, 0FCH, 074H, 04DH, 0B9H, 010H, 000H, 000H, 000H, 089H
    181. DB 045H, 0E0H, 08BH, 07DH, 0ACH, 08DH, 075H, 0B0H, 033H, 0C0H
    182. DB 08BH, 0D7H, 089H, 045H, 0B0H, 0C7H, 045H, 0B4H, 068H, 000H
    183. DB 001H, 000H, 0C7H, 045H, 0B8H, 000H, 09DH, 0F4H, 0C3H, 0F3H
    184. DB 0A5H, 0F0H, 00FH, 0B1H, 093H, 0FCH, 00FH, 000H, 000H, 075H
    185. DB 01EH, 033H, 0C0H, 08DH, 04AH, 004H, 0C7H, 002H, 001H, 000H
    186. DB 000H, 000H, 0FFH, 0D1H, 0EBH, 005H, 0E8H, 050H, 0F9H, 0FFH
    187. DB 0FFH, 0E8H, 00AH, 0F9H, 0FFH, 0FFH, 05FH, 05EH, 05BH, 0C9H
    188. DB 0C3H, 08DH, 045H, 0E4H, 068H, 001H, 000H, 000H, 0C0H, 050H
    189. DB 0FFH, 055H, 0CCH, 058H, 050H, 08DH, 04DH, 0A8H, 068H, 000H
    190. DB 080H, 000H, 000H, 08DH, 055H, 0ACH, 051H, 052H, 06AH, 0FFH
    191. DB 0FFH, 055H, 0C4H, 058H, 0EBH, 0D3H
    192. ; ~~~~~~~~~~~~~~~~~~~~~~~~~ 0x772 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
  13. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    там же фрейм обработчика VEH? и что до этого фрейма хз. переменная не локальная-параметр.
     
  14. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    В контексте разумеется том что передан в диспетчер.
     
  15. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1.         MessageBox(0,L"Catched",0,0);  
    2.         ctxt.ContextFlags=CONTEXT_FULL;
    3.         ret=GetThreadContext(GetCurrentThread(),&ctxt);
    4.         _esp=ctxt.Esp;
    5.         //walk stack
    6.         for (i=0;i<=80;i++)
    7.             printf("[esp+%d*4]=%d\n",i,*(int*)(_esp+i*4));
    Код (Text):
    1. VOID __stdcall Test(int one, int two)
    2. {
    3.     int a = 34;
    4.     a /= *RepSome;
    5.     MessageBox(0,L"End Test()",0,0);
    6. }
    7.  
    8. void main()
    9. {
    10.     DWORD status;
    11.     IdpInitializeEngine();
    12.     IdpAddVeh(NULL,(PVECTORED_EXCEPTION_HANDLER)MyVEH);
    13.  
    14.     RepSome = &some;
    15.    
    16.     status  = IdpAddReference(&RepSome,4);
    17.  
    18.     Test(1,666);
    19.  
    20.     IdpRemoveVeh(MyVEH);
    21. }
    нету параметров в стеке в чем проблема не подскажите?
     
  16. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    punxer
    Стековые фреймы адресует регистр Ebp. Это связанный список фреймов.
     
  17. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    как тогда по ним пробежаться?
    я представлял себе стек линейным
    http://ru.wikipedia.org/wiki/Файл:CallStackFrame.png
    то есть даже при таком проходе как у меня поидее параметры должны были проскочить%
    Или нет?
    Если нет то может быть натолкнете как найти параметры прерванной функции в обработчике IDP_SINGLE_STEP
    в текущем кадре как сказал CrystalIC их не может быть, или мы неправильно поняли друг друга:
    Код (Text):
    1. >   IDPtest.exe!MyVEH(_EXCEPTION_POINTERS * e)  Строка 15 C
    2.     ntdll.dll!_RtlpCallVectoredHandlers@12()  - 0x15e5f байт   
    3.     ntdll.dll!_RtlCallVectoredExceptionHandlers@8()  + 0x12 байт   
    4.     ntdll.dll!_RtlDispatchException@8()  + 0x19 байт   
    5.     ntdll.dll!_KiUserExceptionDispatcher@8()  + 0xf байт   
    6.     IDPtest.exe!Test(int one, int two)  Строка 55 + 0xa байт  C
     
  18. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    punxer
    Код (Text):
    1. STACK_FRAME struct
    2. Next        PVOID ? ; PSTACK_FRAME
    3. Ip      PVOID ?
    4. STACK_FRAME ends
    5. PSTACK_FRAME typedef ptr STACK_FRAME
    6.  
    7. PcStackBase equ 4
    8. PcStackLimit    equ 8
    9.  
    10. TsDbgArgMark    equ 00008H  ; KTRAP_FRAME.DbgArgMark
    11.  
    12. SFC_END     equ -1
    13.  
    14.     mov ebx,Context.rEbp
    15.     xor edi,edi ; SFN
    16.     assume ebx:PSTACK_FRAME
    17. @@:
    18.     cmp ebx,SFC_END
    19.     je Eol
    20.     cmp fs:[PcStackBase],ebx
    21.     jna Err
    22.     cmp fs:[PcStackLimit],ebx
    23.     ja Err
    24.     .if Mode == KernelMode
    25.     cmp dword ptr [ebx + TsDbgArgMark],0BADB0D00H
    26.     je Eol  ; Trap frame.
    27.     .endif
    28.     .if Edi == TARGET_SFN
    29. ;   [...]
    30.     .else
    31.     mov ebx,[ebx].Next
    32.     inc edi
    33.     jmp @b
    34.     .endif
     
  19. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1. STACK_FRAME struct
    2. Next        PVOID ?    ; PSTACK_FRAME
    3. Ip        PVOID ?
    4. STACK_FRAME ends
    разве фреймы располагаются не друг за другом?
     
  20. СFF

    СFF PP

    Публикаций:
    0
    Регистрация:
    16 янв 2009
    Сообщения:
    233
    :lol: :lol: :lol: :lol: Я то думаю чего у тебя не получается, создай 3 функи каждая пусть вызывает следующию и посмотри под отладчиком стэк, смотри в сторону шелл кодов о переполнении буфера в стэке, там подробно об этом сказано.