Ĺadny brzuch
Mam program łączący się z portem COM (port wirtualny bluetooth), czy da się przechwycić i zmodyfikować dane przesyłane przez aplikację do portu(i spowrotem).
Ewentualnie między portem COM a BlueSoleil.
Schemat komunikacji wygląda tak:
Program -> Port COM -> BlueSoleil -> Urządzenie BT -> Telefon
Preferuje Delphi, ale moze być też inny język :)
ja bym próbował stworzyć własny wirtualny port com i nakłonić program do komunikacji z moim portem a wtedy wszystko bym mógł sobie zapisać i przesłać dalej, do własciwego portu
hmm genialne w sowjej prostocie(o ile tworzenie portów jest w miarę znośne) :D programowi można konfigurować bez problemu. Poszukam czegos o tworzeniu portów wirtualnych.
Wydaje mi się też że widziałem kiedyś program do sniffowania COM... jeśli ktoś wie jak to zrobić to też chętnie posłucham :)
hmm genialne w sowjej prostocie(o ile tworzenie portów jest w miarę znośne) :D programowi można konfigurować bez problemu. Poszukam czegos o tworzeniu portów wirtualnych.
heh dzięki ;p no właśnie czy tworzenie własnych portów jest proste? myślę że bez stworzenia własnych sterowników się nie obejdzie, do tego musisz spojrzeć na ddk czyli Driver Development Kit(aczkolwiek nie wykluczam że "normalnie" też jakoś da się to zrobić), na codeproject pamiętam że chyba było coś o własnych driverach, tutaj masz coś o robieniu wirutalnego drivera, co prawda po to aby coś z GPS zrobić i to pod win ce ale myślę że coś przydatnego może być
btw znalazłem coś takiego
http://www.kmint21.c...l-port-monitor/
http://www.serial-po...niffer-activex/
sprawdzałeś to?
Użytkownik Edas edytował ten post 31 maj 2008, 21:27
tak użyteczne ale nie modyfikuje w locie, a drugi jest płatny.
znalazłem sterowniki które tworza backloop dla com (cos jak 127.0.0.1) i komponent do obsługi com w delphi, wygląda że będzie działać jak tylko rozgryzę jak oszukać telefon :)
teraz to wygląda tak:
program -> pentelka COM -> mój program (czyta z jednego COM i zapisuje na inny) -> port COM bluetooth -> Bluesoleil -> Telefon
uzywam komponentu ComPort
kiedy telefon zaczyna nadawać następuje zdarzenie OnRxChar, jako string nie da się tego odczytać (znaki NUL), wiec wczytałem do array of char
wygląda to tak:
var s: array[0..1024] of char; i: integer; sx: string; begin comport.Read(s,count); comport1.Write(s,count); end;
jak widać ma forwardować jeden COM na drugi, niestety nie działa(odczyt jest poprawny, gorzej z zapisem).
nie mam pomysłu co z tym zrobić.
Użytkownik someone edytował ten post 01 czerwiec 2008, 02:00
var s: array[0..1024] of char; i: integer; sx: string; begin comport.Read(s,count); comport1.Write(s,count); end;
jak widać ma forwardować jeden COM na drugi, niestety nie działa(odczyt jest poprawny, gorzej z zapisem).
nie mam pomysłu co z tym zrobić.
niestety nie pomogę Ci tutaj bo nie znam ani delphi ani tego komponentu i naprawdę radzę Ci zainteresować się jak to się robi bardziej hmm profesjonalnie ;P
btw jak widzę to w tym płatnym jedyne ograniczenie to
Demo version limitations:
Reminder when invoking Start() method.
więc chyba to nic "przykrego"
hmm marnie działa ten ActiveX, coś się gryzie z systemem.
zostałem przy swojej metodzie, i stwierdziłem, że dane na drugi port są wysyłąne, ale albo sa zniekształcone, albo czegoś nie zrobiem, bo program na nie nie reaguje.
po odebraniu danych występuje jeszcze zdarzenie OnRxFlag.
dlatego mówię Ci, zajrzyj do DDK, dam głowę że są example z robieniem podobnych rzeczy ;)
z jednej strony masz racją, ale z drugiej pisanie wlasnego drivera to trochę odkrywanie koła na nowo.
to co juz mam praktycznie juz działa, a pisanie tego od nowa zajeło by masę czasu(nieopłacalne biorąc pod uwagę skalę projektu)
przypuszczam że chodzi o zdarzenie OnRxFlag, a konkretnie jego przekazanie na drugi port.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Ewentualnie między portem COM a BlueSoleil.
Schemat komunikacji wygląda tak:
Program -> Port COM -> BlueSoleil -> Urządzenie BT -> Telefon
Preferuje Delphi, ale moze być też inny język :)
ja bym próbował stworzyć własny wirtualny port com i nakłonić program do komunikacji z moim portem a wtedy wszystko bym mógł sobie zapisać i przesłać dalej, do własciwego portu
hmm genialne w sowjej prostocie(o ile tworzenie portów jest w miarę znośne) :D programowi można konfigurować bez problemu. Poszukam czegos o tworzeniu portów wirtualnych.
Wydaje mi się też że widziałem kiedyś program do sniffowania COM... jeśli ktoś wie jak to zrobić to też chętnie posłucham :)
hmm genialne w sowjej prostocie(o ile tworzenie portów jest w miarę znośne) :D programowi można konfigurować bez problemu. Poszukam czegos o tworzeniu portów wirtualnych.
heh dzięki ;p no właśnie czy tworzenie własnych portów jest proste? myślę że bez stworzenia własnych sterowników się nie obejdzie, do tego musisz spojrzeć na ddk czyli Driver Development Kit(aczkolwiek nie wykluczam że "normalnie" też jakoś da się to zrobić), na codeproject pamiętam że chyba było coś o własnych driverach, tutaj masz coś o robieniu wirutalnego drivera, co prawda po to aby coś z GPS zrobić i to pod win ce ale myślę że coś przydatnego może być
btw znalazłem coś takiego
http://www.kmint21.c...l-port-monitor/
http://www.serial-po...niffer-activex/
sprawdzałeś to?
Użytkownik Edas edytował ten post 31 maj 2008, 21:27
tak użyteczne ale nie modyfikuje w locie, a drugi jest płatny.
znalazłem sterowniki które tworza backloop dla com (cos jak 127.0.0.1) i komponent do obsługi com w delphi, wygląda że będzie działać jak tylko rozgryzę jak oszukać telefon :)
teraz to wygląda tak:
program -> pentelka COM -> mój program (czyta z jednego COM i zapisuje na inny) -> port COM bluetooth -> Bluesoleil -> Telefon
uzywam komponentu ComPort
kiedy telefon zaczyna nadawać następuje zdarzenie OnRxChar, jako string nie da się tego odczytać (znaki NUL), wiec wczytałem do array of char
wygląda to tak:
var s: array[0..1024] of char; i: integer; sx: string; begin comport.Read(s,count); comport1.Write(s,count); end;
jak widać ma forwardować jeden COM na drugi, niestety nie działa(odczyt jest poprawny, gorzej z zapisem).
nie mam pomysłu co z tym zrobić.
Użytkownik someone edytował ten post 01 czerwiec 2008, 02:00
var s: array[0..1024] of char; i: integer; sx: string; begin comport.Read(s,count); comport1.Write(s,count); end;
jak widać ma forwardować jeden COM na drugi, niestety nie działa(odczyt jest poprawny, gorzej z zapisem).
nie mam pomysłu co z tym zrobić.
niestety nie pomogę Ci tutaj bo nie znam ani delphi ani tego komponentu i naprawdę radzę Ci zainteresować się jak to się robi bardziej hmm profesjonalnie ;P
btw jak widzę to w tym płatnym jedyne ograniczenie to
Demo version limitations:
Reminder when invoking Start() method.
więc chyba to nic "przykrego"
hmm marnie działa ten ActiveX, coś się gryzie z systemem.
zostałem przy swojej metodzie, i stwierdziłem, że dane na drugi port są wysyłąne, ale albo sa zniekształcone, albo czegoś nie zrobiem, bo program na nie nie reaguje.
po odebraniu danych występuje jeszcze zdarzenie OnRxFlag.
dlatego mówię Ci, zajrzyj do DDK, dam głowę że są example z robieniem podobnych rzeczy ;)
z jednej strony masz racją, ale z drugiej pisanie wlasnego drivera to trochę odkrywanie koła na nowo.
to co juz mam praktycznie juz działa, a pisanie tego od nowa zajeło by masę czasu(nieopłacalne biorąc pod uwagę skalę projektu)
przypuszczam że chodzi o zdarzenie OnRxFlag, a konkretnie jego przekazanie na drugi port.