Frida - родное приложение для Windows - чтение структуры, представленной Wininet.h - PullRequest
1 голос
/ 30 сентября 2019

Я перехватываю функцию HttpSendRequestExA собственного приложения Windows, использующего Frida, но не могу прочитать структуру INTERNET_BUFFERSA , переданную через параметр lpBuffersIn этой функции:

Подпись функции HttpSendRequestExA :

BOOLAPI HttpSendRequestExA(
HINTERNET           hRequest,
LPINTERNET_BUFFERSA lpBuffersIn,
LPINTERNET_BUFFERSA lpBuffersOut,
DWORD               dwFlags,
DWORD_PTR           dwContext
);

Структура INTERNET_BUFFERSA :

typedef struct _INTERNET_BUFFERSA {
DWORD                     dwStructSize;
struct _INTERNET_BUFFERSA *Next;
LPCSTR                    lpcszHeader;
DWORD                     dwHeadersLength;
DWORD                     dwHeadersTotal;
LPVOID                    lpvBuffer;
DWORD                     dwBufferLength;
DWORD                     dwBufferTotal;
DWORD                     dwOffsetLow;
DWORD                     dwOffsetHigh;
} INTERNET_BUFFERSA, *LPINTERNET_BUFFERSA;

Это функция скрипта перехвата:

  onEnter: function (log, args, state) {
  log('###### HttpSendRequestExA() ###################');
  log("lpBuffersIn  = " + args[1].readPointer());//I'm stuck here to reach the structure
  log('###############################################');       
 }

Я искал в Интернете, но не нашел, как прочитать указатель и связать его с ожидаемой структурой.

Большое спасибо заранее за любую помощь или подсказку:)

...