[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Spidy, turBO  
Форум мира Blitz3D » Язык Blitz3D » 3D моделирование, текстуры, библиотеки » WinSock (перехват пакетов с приложений)
WinSock
xAvaTARxДата: Вторник, 05.04.2011, 20:02 | Сообщение # 1
ламер
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline
Помогите пожалста создать .decls для блитза
мне нужно перехватывать данные с приложения) может у кого нить уже есть пример пожалста немогу разобраться
 
MishanayCoolДата: Среда, 06.04.2011, 10:10 | Сообщение # 2
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Создать .decls уже с готовой библиотекой(.dll) или тебе нужно создать саму библиотеку c функциями перехвата?

Ну так на вскидку пример создания .decls:
.lib "Имя_твоей_либы.dll"

bDriveType$(drive$):"bDriveType"
bVerifyProcess%(name_file$):"bVerifyProcess"
bShowRunWindows$(numb):"bShowRunWind ows"
bLogoff%():"bLogoff"
bAddProcessRun%(name_process$,name_file$):"bAddProcessRun"
bSetFileAttributes%(name_file$,flag):"bSetFileAttrib utes"
и так далее...

Вообще это пальцем в небо тыкать, опиши что именно нужно?


MiniDemo3D - Blitz3D
 
xAvaTARxДата: Среда, 06.04.2011, 15:56 | Сообщение # 3
ламер
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline
есть такая библа wsock32.dll
в ней есть функции, все которые перехватываю, вобщем мне нужно прехватить коннект и данные которые посылаються) и как нить посылать мне я просто неразбираюсь в биботеках)

я видел ты создал bWinApi.dll хорошая библиотека я ей пользусь)

 
MishanayCoolДата: Четверг, 07.04.2011, 11:55 | Сообщение # 4
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Quote (xAvaTARx)
bWinApi.dll хорошая библиотека

Спасибо!!! biggrin

Ну .decls чтоб подшить функции wsock32.dll я тебе сделаю, а юзать функции
будешь сам.
Кстати .decls почти готов(времени мало), только забыл уточнить про твою OС.
Это важно!
Я для XP делаю, а то в Windows7 и Vista вроде есть разница в функциях.
Чтоб зря не делал...


MiniDemo3D - Blitz3D
 
xAvaTARxДата: Четверг, 07.04.2011, 15:05 | Сообщение # 5
ламер
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline
у меня видна, как и у тебя) XP
а тяжело это делать? как ты их узнаешь эти функции понемаешь?)
 
MishanayCoolДата: Пятница, 08.04.2011, 10:43 | Сообщение # 6
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Это не так сложно, думаю многим эта инфа будет полезна.

Для начала тебе надо скачать вот это:
PureBasic v4.31+BlitzLibImporter 14.41mb
или это
PureBasic v4.31+BlitzLibImporter 14.41mb
Запускаем BlitzLibImporter, открываем через него нужную .dll
Видим все функции данной dll, далее жмём кнопку save decls и сохраняем.
смотрим screen

Далее открываем сохранённый decls через блокнот и копируем всё в буффер обмена.
Открываем PureBasic v4.31(версия обязательно не ниже 4.0) и вставляем всё ранее
скопированное в PureBasic, должно получится вот так...

Удаляем всё лишнее и приводим функции к такому виду
Пример:
Это WSAAsyncGetHostByAddr%(Int1%,Int2%) переделать вот так WSAAsyncGetHostByAddr_()
Далее пикаем курсором мышки по любой функции(стрелка 1)
и смотрим внизу подсказку(стрелка 2)
Видим функцию с расписсанными значениями
Должно получится вот так...

А вот дальше сложнее
Как узнать типы значений байтовые они или текстовые, константы или с плавющей точкой и т.д.
Прописываешь подсказку функции с PureBasic(ручками) в любой браузер
И ковыряешься часами в поисках нужного результата(с твоей либой мне хватило два часа)
В нете инфы по системным dll пруд пруди(правда исходники в основном на Delphi или С++)
Но разобраться можно!!! prof

Если кто-то знает способ лучше поделитесь инфой,
Буду рад заполнить пробелы в своих знаниях. biggrin


MiniDemo3D - Blitz3D
 
xAvaTARxДата: Пятница, 08.04.2011, 19:28 | Сообщение # 7
ламер
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline
спасибо!!!

а ты можешь описать что ты уже узнал об этой dll?
я знаю что нужно выбрать процесс,
и с него перехватывать коннект
а дальше уже считывать)
поможешь?)

Сообщение отредактировал xAvaTARx - Пятница, 08.04.2011, 20:56
 
MishanayCoolДата: Воскресенье, 10.04.2011, 17:57 | Сообщение # 8
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
xAvaTARx извини за задержку очень занят горит заказ, скоро выйду в отпуск, будет много времени biggrin
По твоей decls не могу найти описания некоторых функций и похоже нет смысла этого
делать, потому что судя по исходникам на Delphi или С++ одной wsock32.dll ты не обойдёшься.
Там как минимум три системных .dll подключают.
Но не отчаивайся, то что тебе нужно называется снифером.
Вот отличный сайт по PureBasic форум purebasic.info, там реально готовый код по твоей теме(в самом конце раздела смотри). А PureBasic очень похож как ты уже наверно заметил на синтаксис blitz'а, можно этот код переделать в свою .dll
Если что непонятно в коде задавай вопросы на форуме.
Там быстро дают толковый ответ(Частенько там обитаю).

Выйду в отпуск я весь твой!!! smile


MiniDemo3D - Blitz3D

Сообщение отредактировал MishanayCool - Понедельник, 11.04.2011, 20:57
 
xAvaTARxДата: Вторник, 12.07.2011, 14:24 | Сообщение # 9
ламер
Группа: Пользователи
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline
а её можно перенастроить на перехват пакетов с приложения?)
мне нужно конкретно с приложения) я покачто с этим постараюсь разобраться)

Добавлено (12.07.2011, 14:24)
---------------------------------------------
кое что понел, так разбираюсь с функцией

Global wsadata.WSADATA

WSA_VER = $202
WSAStartup(WSA_VER, @wsadata)

вот тут проблема, что туда прописать вместо wsadata
я незнаю откуда её взять, она обычно на шарпе и.т.д уже есть вот как бы её на блитзе сделать...
вот проблема

 
MishanayCoolДата: Среда, 13.07.2011, 00:55 | Сообщение # 10
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Вот написал библиотеку для Blitz3d по быстрому, правда очень сильно сыровато
Скачать snifer.rar (481.1 КБ)
код примерно такой
Code
Graphics 640,480,0,2
SetBuffer BackBuffer()
font=LoadFont("Arial",12)
SetFont font

InitSocket()
CreateSocket()
ReadPort(0)
While Not KeyHit(1)
pack$=ReadPackage$()
If Not pack$="" Then
Print pack$
EndIf
Wend
CloseSocket()
End

Как запустишь программу, потом браузер запусти, чтоб видеть работу программы
Надо будет доработать
Похоже это первый снифер на Blitz3D biggrin


MiniDemo3D - Blitz3D

Сообщение отредактировал MishanayCool - Среда, 13.07.2011, 15:41
 
Форум мира Blitz3D » Язык Blitz3D » 3D моделирование, текстуры, библиотеки » WinSock (перехват пакетов с приложений)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: