WinSock
|
|
xAvaTARx | Дата: Вторник, 05.04.2011, 20:02 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Помогите пожалста создать .decls для блитза мне нужно перехватывать данные с приложения) может у кого нить уже есть пример пожалста немогу разобраться
|
|
| |
MishanayCool | Дата: Среда, 06.04.2011, 10:10 | Сообщение # 2 |
![MishanayCool](/avatar/51/154619.jpg) разработчик
Группа: Пользователи
Сообщений: 226
Статус: 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
Статус: Offline
| есть такая библа wsock32.dll в ней есть функции, все которые перехватываю, вобщем мне нужно прехватить коннект и данные которые посылаються) и как нить посылать мне я просто неразбираюсь в биботеках) я видел ты создал bWinApi.dll хорошая библиотека я ей пользусь)
|
|
| |
MishanayCool | Дата: Четверг, 07.04.2011, 11:55 | Сообщение # 4 |
![MishanayCool](/avatar/51/154619.jpg) разработчик
Группа: Пользователи
Сообщений: 226
Статус: Offline
| Quote (xAvaTARx) bWinApi.dll хорошая библиотека Спасибо!!! Ну .decls чтоб подшить функции wsock32.dll я тебе сделаю, а юзать функции будешь сам. Кстати .decls почти готов(времени мало), только забыл уточнить про твою OС. Это важно! Я для XP делаю, а то в Windows7 и Vista вроде есть разница в функциях. Чтоб зря не делал...
MiniDemo3D - Blitz3D
|
|
| |
xAvaTARx | Дата: Четверг, 07.04.2011, 15:05 | Сообщение # 5 |
ламер
Группа: Пользователи
Сообщений: 19
Статус: Offline
| у меня видна, как и у тебя) XP а тяжело это делать? как ты их узнаешь эти функции понемаешь?)
|
|
| |
MishanayCool | Дата: Пятница, 08.04.2011, 10:43 | Сообщение # 6 |
![MishanayCool](/avatar/51/154619.jpg) разработчик
Группа: Пользователи
Сообщений: 226
Статус: 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 или С++) Но разобраться можно!!! Если кто-то знает способ лучше поделитесь инфой, Буду рад заполнить пробелы в своих знаниях. ![biggrin](http://s8.ucoz.net/sm/1/biggrin.gif)
MiniDemo3D - Blitz3D
|
|
| |
xAvaTARx | Дата: Пятница, 08.04.2011, 19:28 | Сообщение # 7 |
ламер
Группа: Пользователи
Сообщений: 19
Статус: Offline
| спасибо!!! а ты можешь описать что ты уже узнал об этой dll? я знаю что нужно выбрать процесс, и с него перехватывать коннект а дальше уже считывать) поможешь?)
Сообщение отредактировал xAvaTARx - Пятница, 08.04.2011, 20:56 |
|
| |
MishanayCool | Дата: Воскресенье, 10.04.2011, 17:57 | Сообщение # 8 |
![MishanayCool](/avatar/51/154619.jpg) разработчик
Группа: Пользователи
Сообщений: 226
Статус: Offline
| xAvaTARx извини за задержку очень занят горит заказ, скоро выйду в отпуск, будет много времени По твоей decls не могу найти описания некоторых функций и похоже нет смысла этого делать, потому что судя по исходникам на Delphi или С++ одной wsock32.dll ты не обойдёшься. Там как минимум три системных .dll подключают. Но не отчаивайся, то что тебе нужно называется снифером. Вот отличный сайт по PureBasic форум purebasic.info, там реально готовый код по твоей теме(в самом конце раздела смотри). А PureBasic очень похож как ты уже наверно заметил на синтаксис blitz'а, можно этот код переделать в свою .dll Если что непонятно в коде задавай вопросы на форуме. Там быстро дают толковый ответ(Частенько там обитаю). Выйду в отпуск я весь твой!!! ![smile](http://s8.ucoz.net/sm/1/smile.gif)
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Понедельник, 11.04.2011, 20:57 |
|
| |
xAvaTARx | Дата: Вторник, 12.07.2011, 14:24 | Сообщение # 9 |
ламер
Группа: Пользователи
Сообщений: 19
Статус: Offline
| а её можно перенастроить на перехват пакетов с приложения?) мне нужно конкретно с приложения) я покачто с этим постараюсь разобраться)Добавлено (12.07.2011, 14:24) --------------------------------------------- кое что понел, так разбираюсь с функцией
Global wsadata.WSADATA
WSA_VER = $202 WSAStartup(WSA_VER, @wsadata)
вот тут проблема, что туда прописать вместо wsadata я незнаю откуда её взять, она обычно на шарпе и.т.д уже есть вот как бы её на блитзе сделать... вот проблема
|
|
| |
MishanayCool | Дата: Среда, 13.07.2011, 00:55 | Сообщение # 10 |
![MishanayCool](/avatar/51/154619.jpg) разработчик
Группа: Пользователи
Сообщений: 226
Статус: 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
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Среда, 13.07.2011, 15:41 |
|
| |