| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Перехватываю функцию ЕncryрtMеssage из secur32.dll |
| Автор: lollollollol 12.9.2013, 18:11 | ||
| Перехватываю функцию ЕncryрtMеssage из secur32.dll Много раз перечитывал MSDM В итоге написал следующий код:
Как результат переменная pMessage.cBuffers содержит информацию, что имеется 3 или 4 блока данных. Я всегда получаю только хедер заголовка, без POST запроса, в чём проблема? Я думаю дело в том что информация хранится в остальных блоках, но как их найти, где они? Как получить всю инфу, которая передаётся в эту функцию? |
| Автор: Illusion Dolphin 12.9.2013, 18:23 | ||||||
Имхо вы неправильно перевели структуры. Вот тут http://technet.microsoft.com/en-us/library/bb742535.aspx судя по описанию они другие:
Для делфи это будет чтото вроде (не компилировал, но суть, думаю, понятна):
|
| Автор: lollollollol 12.9.2013, 18:54 | ||||
| Я брал описание структур и функции тут http://msdn.microsoft.com/en-us/library/windows/desktop/aa379815%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa379814%28v=vs.85%29.aspx Сразу видно, мастер, спасибо! Получил ВСЕ данные. Но вот незадача: Иногда данные начинаются как бы не сначала:
перед POST могут быть разное количество данных, всяких символов. В конце пакетов тоже самое. Плюс почемуто часть пакетов пустые. И ещё странность, длину структуры получаю так: IntToStr(pMessage.pBuffers[a].cBuffers), в данном примере оно отобразило 5, но чаще покаывает цифры больше 900 В чём может быть дело? Чуть подправил ваш вариант, вот так структуру объявил
|
| Автор: Illusion Dolphin 12.9.2013, 22:11 | ||
Не вижу кода логирования и кода перехвата - сложно сказать |
| Автор: lollollollol 14.9.2013, 19:01 |
| Я разобрался, хотя честно признаться сам не совсем понял что сделал - в один момент всё заработало как по маслу, спасибо! |