eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› прехват метода com interface, в параметрах нули вместо данных
Посл.ответ Сообщение

Ранг: 34.6 (посетитель)
Статус: Участник

Создано: 1 декабря 2018 19:30 · Поправил: Jonny New!
Цитата · Личное сообщение · #1

Это лог перехватчика
Code:
  1. send: 00000008, 00000000, 00000000, 00000000
  2. send: 00000008, 00000000, 00000000, 00000000
  3.  
  4. get_responseText
  5. get_responseText: 00001b00
  6. get_responseText
  7. get_responseText: 0000003c
  8. send: 00000008, 00000000, 00000000, 00000000
  9. get_responseText
  10. get_responseText: 00004c70
  11. Exiting system due to external CTRL-C, or process kill, or shutdown
  12. Cleanup complete


код перехватчика:

Code:
  1.          void __stdcall IServerXMLHTTPRequest_send_hook_int(DWORD retaddr, VARIANT varBody) {
  2.              send_log("send: retaddr:%08x, base:%08x", retaddr, base);
  3.              DWORD *= (DWORD *)&varBody;
  4.              send_log("send: %08x, %08x, %08x, %08x", p[0], p[1], p[2], p[3]);
  5.  
  6.          }
  7.          static const char *fmt_1 = "send: %08x, %08x, %08x, %08x";
  8.          __declspec(naked) HRESULT __stdcall IServerXMLHTTPRequest_send_hook(IServerXMLHTTPRequest_t * This, VARIANT varBody) {
  9.              __asm {
  10.                  push ebp
  11.                      mov ebp, esp
  12.  
  13.                      // lea          eax, [ebp+0Ch]
  14.                      // push    eax
  15.                      push    dword ptr[ebp + 18h]
  16.                      push    dword ptr[ebp + 14h]
  17.                      push    dword ptr[ebp + 10h]
  18.                      push    dword ptr[ebp + 0Ch]
  19.                      push    dword ptr [fmt_1]
  20.                      call    send_log
  21.                      add esp, 14h
  22.                      //push    dword ptr[ebp + 4]
  23.                      //call    IServerXMLHTTPRequest_send_hook_int
  24.  
  25.                      push    dword ptr[ebp + 18h]
  26.                      push    dword ptr[ebp + 14h]
  27.                      push    dword ptr[ebp + 10h]
  28.                      push    dword ptr[ebp + 0Ch]
  29.  
  30.                      push    dword ptr[ebp + 8]
  31.                      call IServerXMLHTTPRequest_send_orig
  32.  
  33.                      pop             ebp
  34.                      ret             14h
  35.              }
  36.          }
  37.  
  38.  


Пытался сделать лог и через IServerXMLHTTPRequest_send_hook_int, и через ассемблерный код - но вместо BSTR в параметре varBody(тип вариант) нули, кроме начального поля, указывающего тип варианта (word 08 ). Как такое может быть?

Добавлено спустя 27 минут
Мда, крепко ж я тупанул. Запросы к серверу были пустыми, потому и остальные поля были пустые.


Ранг: 1964.0 (!!!!)
Статус: Модератор
retired

Создано: 1 декабря 2018 21:55 New!
Цитата · Личное сообщение · #2

Видимо, на этом можно и закрыть.
 eXeL@B —› Вопросы новичков —› прехват метода com interface, в параметрах нули вместо данных
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS