![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Mam do rozwiązania pewien problem:
Dysponując czytnikiem kodów kreskowych napisać aplikację reagującą na aktywność czytnika i zapisującą kod i inne dane w bazie. Oczywiście jedynym zmartwieniem dla mnie jest przechwycenie z poziomu php (najlepiej w przeglądarce) sekwencjio znaków wypisanych z klawiatury (czytnik kresek jest wpięty równolegle z klawiaturą i generuje cyfry na stdin - tyle informacji a razie mam). Odczyt powinien się odbywac oczywiście bez ingerencji uzytkownika. Pytanie: Gdzie i co poczytać o tym? Dajcie mi lekturkę do obiadu, jeśli macie coś pod ręką. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 27.08.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat przechwycenie z poziomu php (najlepiej w przeglądarce) Możesz coś przechwycic albo z poziomu php (po stronie serwera), alebo w przeglądarce (po stronie klienta). Poczytać musisz o JavaScripcie, bo to jest narzędzie do działania po stronie przeglądarki, a co za tym idzie klawiatury, itp. Polecam coś o 'dynamic forms'. Przykładowe działanie skryptu: na wejsciu ustaw focus (kursor) w polu w którym ma byc wczytana wartosc z czytnika. Za kazdą zmiana zawartości 'tego' pola formularza (onChange()) zliczaj ilosc zankow w tym polu. Jezeli bedziesz mial ilosc znakow rowną ilosci znaków zczytanych z czytnika (czyli tyle, ile przewidujesz na kod kreskowy), to wyslij formularz (submit). Ten post edytował misterLu 5.10.2004, 17:17:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Moge napomkan ze w php sa dostepne strumienie(o ktorych rzadko kto pamieta) takie jak w C - to chyba rozwiazuje problem - moge jutro cos podrzucic nt. - tzn. jakis przykladzik wkleje a manual reszte powie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował null 5.10.2004, 21:54:48 |
|
|
![]()
Post
#4
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Obu dzieki za naprowadzenie.. a co do strumieni.. zawsze sie ich obawiałem, ale chyba tak jak mówi null - przyszła pora na nie...
Będę wdzięczny za te przykłady. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Scanner wybacz za brak przykladu - sprobuje wytlumaczyc bo nie moge znalesc skryptu(napisze cos jutro i wkleje jak trzeba). Strumen otwieramy fopenem i korzystamy z standardowych funkcji systemu plikow- jak przeczytac pasek kreskopwy nie wiem za cholere - nie wiem jak jest zoorganizowany strumien(napisz cos (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) jakbys cos napisal to moze napisze cos bardziej konkretnego
Pozdro |
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Więc tak.
Póki nie otrzymam czytnika do ręki, cięzko mi powiedzieć coś konkretnego, moge się tylko opierać na informacjach, jakie zleceniodawca mi przedstawił. - Czytnik jest wpięty poprzez rozgałęziacz z portem klawiatury. - Symuluje działanie klawiszy numerycznych - Można mu ustawić poprzedzenie każdej odczytanej sekwencji dowolnym znakiem ASCII Co do aplikacji: Na razie przewiduję dwa moduły: - Jeden pracujący w tle i obsługujący: odczytywanie sekwencji, zapis zdarzenia do bazy. - Drugi pracujący w przeglądarce i obsługujący: drukowanie etykiet "Gość", zapis logu odwiedzin gościa (kto, do kogo, kiedy) Całość ma pracować na zasadzie identyfikacji pracowników na portierniach. Myślałem nad napisaniem tego w JAVie, ale tej dopiero zaczyna się uczyć i za długo by potrwało - php powinno sobie z tym poradzić. |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Scanner: a nie lepiej napisać coś powiedzmy w c siedzącego u klienta, odczytującego te dane i przesylajacego je do php? Albo zaprządz gtk do uaktywnienia php po stronie klienta? No chyba, że jakoś (javascript?) oprogramować przeglądarkę, która po odebraniu określonej liczby cyfr wyśle je do serwera.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Ostatni raz pisałem cos w C 7 lat temu niestety.
Przy okazji już wykształcił mi się teoretyczny problem: Co w sytuacji gdy portier generuje etykietke dla gościa a w tym momencie przechodzi przez bramke uprawniona osoba? teoretycznie zadziałają dwie kalwiatury i portier w formularzu zobaczy wpisywane dane czytnika Więc moduł czytnika musiałby pobrać dane z stdin() i od razu je usunąć z bufora - taka operacja powinna IMHO zając nie wiecej niż ułamek sekundy, więc zmieści się pomiędzy dwoma naciśnięciami klawiszy na klawiaturze przez portiera - ale musże miec to na uwadze. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Scanner, mam prosbe
jak juz bedziesz mial cos konkretnego, w sensie "jak pogryzles temat i co z tego wyszlo" to wrzuc to na forum tutaj osobiscie do tej pory stojac w supermarkecie w kasie obmyslalem sobie na ile sposobow mozna by wykorzystac taki czytnik tylko problem byl zawsze jak zaczac od strony technicznej czekam z niecierpliwoscia na twoje powodzenie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdr. K. Ten post edytował nocnyMark() 6.10.2004, 23:47:47 |
|
|
![]() ![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 12.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, dlaczego nie chcesz spróbować z JavaScriptem (jak radził misterLu). IMHO jest to najłatwiejszy sposób. W taki sposób oprogramowywałem system do obsługi biblioteki i działał jak marzenie.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat(scanner @ 2004-10-06 10:01:42) Co w sytuacji gdy portier generuje etykietke dla gościa a w tym momencie przechodzi przez bramke uprawniona osoba? teoretycznie zadziałają dwie kalwiatury i portier w formularzu zobaczy wpisywane dane czytnika Więc moduł czytnika musiałby pobrać dane z stdin() i od razu je usunąć z bufora - taka operacja powinna IMHO zając nie wiecej niż ułamek sekundy, więc zmieści się pomiędzy dwoma naciśnięciami klawiszy na klawiaturze przez portiera - ale musże miec to na uwadze. @scanner: w javie nie bedzie to trudne, poczytaj o standardowym wczytywaniu informacji z inputu, a co do tego zacytowanego problemu, wielowątkowość (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a to juz troche wyższa szkoła jazdy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) zoba, masz jeden wątek który nie przerwanie nasłuchuje z czytnika, i jeżeli czytnik się "odezwie" to go obsługuje, dodatkowo wątki które nasłuchują z innych urządzeń dostępowych, czy to czytnik czy cokolwiek innego (koleś za biurkiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i wsio (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pzdr |
|
|
![]()
Post
#12
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
No i zdobyłem już czytnik.
Pierwsze eksperymenty wykazują, ze przesyła on do komputera 13 cyfr i znak końca linii. Próby robiłem w notepad.exe - linijka po linijce pokazywał kody wszystkiego co skanowałem. mając jeszcze chwile wolnego czasu, próbowałem coś sklecić: Ale nie wyszło... Chyba nie mam natchnienia dzisiaj... Załozęnie jest takie, że czytnik jest podpięty bezpośrednio do komputera, na którym działa oskryptowanie. PHP5 jako moduł. Mógłby mnie ktoś nakierować w dobrą stronę? Prirytetem na chwile obecną jest odczyt wspomnianej sekwencji znaków. Jak to zrobię, to jestem w domu - reszta aplikacji to już betka. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
@scanner
zamiast fgetc() ktore pobiera jeden znak daj fgets() dodajac moze drugi parametr czyli dlugosc lini do pobrania (z tego co mowiles to 13+1 > 13 znakow i znak nowej lini) Powinno śmigać. Pozatym kiedyś coś takiego robiłem w Delphi i działało na zasadzie, że gdy TEdit zmieniał swoją wartość i osiągał te np. 13 znaków to zaczynało się wyszukiwanie. To samo (co już ktoś zaproponował) mógłbyś i ty zastosować. W javascript sprawdzać te znaki i wysyłać formularz gdy będzie ich 13. przecież czytnik wstawia txt "na raz". a jakby ktoś chciałby wprowadzać kod ręcznie to też zadziała. to chyba nawet bardziej miłe dla użytkownika wyjście niż STDIN |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Skrypt poprawnie czyta /dev/stdin, tylko nic nie jest przekazywane przez wejście tego procesu.
Spróbuj odpalić ten skrypt z lini poleceń: php skrypt.php Wtedy po naciskaniu przycisków na klawiaturze itp. wszystko działa. Trzeba znaleść jak sprawdzać dane wchodzące na wszystkie wejścia a nie tylko na jedno. |
|
|
![]()
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
a te kody wczytywane z czytnika mają jakąs sumę kontrolną ?
|
|
|
![]()
Post
#16
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Nie zagłębiałem się jeszcze w sposoby generowania kodów - ale chyba widziałeś cyferki pod kreskami - jakis algorytm na to jest.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
co do kodow jeszcze u mnie na forum bylo podobne pytanie:
http://strefaphp.net/index.php?page=forum&...iew_topic&t=114 |
|
|
![]()
Post
#18
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Dzięki za link.
Co do generowania kodu - informatyk firmy ma już w głownej aplikacji odpowiednie implementacje i wybrany sposób kodowania. Co do problemu. Wymysliłem na razie (teoretycznie) coś takiego:
Na razie czytam o wielowątkowości w Javie, ale chyba jestem lekko za słaby jeszcze na ten język, poza tym ambicjonalnie chciałbym udowodnić zleceniodawcy, że to jest możliwe do wykonania w php/MySQL. |
|
|
![]()
Post
#19
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewien ale chyba musisz tez wziasc pod uwage ze user w czasie kozystania ze skryptu moze robic cos innego i musialbys jakos sprawdzac czy te dane które "strażnik (Sentinel.php)" bedzie wczytywał w tle, będą tymi które chcesz nasłuchiwać...
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
No przecież napisał że skrypt będzie sprawdzał czy sekwencja ma odpowiednią długość i czy pasuje do wzorca. Wystarczy dobrze czytać :]
|
|
|
![]()
Post
#21
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Spróbowałem zrobić symulację modułu Sentinel - do zrobienia pozostaje metoda openInput() oraz getKey().
Skrypt w zasadzie powinien działać niezauważalnie - w tle, nie generując żadnych outputów.
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 16.10.2004 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
pisałem niegdyś moduł 'sprzedaży detalicznej' dla sklepu internetowego:
zadaniem tej aplikacji było rejestrowanie towarów sprzedanych w prawdziwym fizycznym sklepie i aktualizowanie stanu magazynu, czyli bazy towarów w MySQL (magazyn odzwierciedlał stan ilościowy towarów dla sklepu internetowego, lecz wspódzielony był przez prawdziwy sklep). system zarządzania sklepem generował z pomocą biblioteki gd kody kreskowe (jeśli sie nie mylę to w standardzie code39) dla każdego nowo wprowadzanego produktu - obsługa drukowała tak wygenerowany kod za pomocą właściwej drukarki - w ten sposób towar był identyfikowany i możliwe było łatwe prowadzenie jego ewidencji. Ale do sedna: wspomniany moduł działał tak: pracownik sklepu przed rozpoczęciem pracy otwierał internetowy panel obsługi i przechodził do sekcji sprzedaży detalicznej. Skrypt wyświetlał input na kod kreskowy i kilka opcji związanych z ilością jednorazowo sprzedawanego towaru. Pracownik przejeżdżał czytnikiem po kodzie kreskowym (dodam że to urządzenie dodaje po sekwencji cyfr kodu kreskowego enter), formularz był w tym momencie wysyłany i dokonywałą się aktualizacja bazy. może to nieco OT, ale jeśli widzisz tu jakies podobienstwo do twojego problemu to czerp śmiało, pozdrawiam |
|
|
![]()
Post
#23
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Kwestia jest taka:
Nie moża wykorzystać formularza do odczytywania danych z czytnika. Sentinel musi siedzieć w tle, nie wyświeltając żadnego okienka ani nic. Po prostu uruchomiony z autostartu lub Crona skrypt, którego nie widać. Otwiera on jakis sposób odczytu tego, co przechodzi przez port klawiatury, miesza wewnętrzny bufor i jeśli zawartośc bufora jest zgodna z wzorcem, to zapisuje zdażenie (dla uproszczenia poprzez error_log() ); W żaden sposób nie ingeruje w dane z klawiatury, tylko je analizuje. Operator stanowiska może w tym czasie nawet układąc pasjansa, albo robić inne cuda - dlatego Sentinel musi pozostać w trybie "Stealth". Jeśli do końca tygodnia nic nie wymyślę, będę sie musiał zakopać w Javę, ale wolałbym to zrobić w php (chyba, ze ktoś mi udowodni, że się nie da). Po drobnych modyfikacjach kod skrytpu wygląda tak:
Ale niezaleznie od tego, czy go uruchomię w linii poleceń, czy z przeglądarki po prostu nie działa... Czytałem o socketach, ale nie wiem, jak można by je zastosować. null wspominał coś o strumieniach, ale tez jeszcze sie tym nie bawiłem, wiec nie wiem co i jak... Osoba, która pomoże mi w rozwiązaniu tego problemu może liczyć na gratyfikację po oddaniu projektu zleceniodawcy. P.S. Przenoszę do PHP5, żeby ktoś nie pomyślał, że piszę to w php4 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Sentinel musi siedzieć w tle, nie wyświeltając żadnego okienka ani nic. Po prostu uruchomiony z autostartu lub Crona skrypt, którego nie widać. Chcesz przez to powiedziec, ze Sentinel nie ma focusa i chce odczytywac znaki? Jezeli tak, to, IMO, nie da sie tego zrobic w php. Nawet zwykly prog windowsowy nie ma takich mozliwosci - zeby przychwytywac wszystkie zdarzenia (majac nieaktywna aplikacje) trzeba uzyc hook-ow. To mogloby byc rozwiazanie Twojego problemu - aplikacja win32, przychwytujaca wszystkie znaki i ew. wysylajaca zapytania do serwera z php, przekazujaca np. przez GET odczytane dane do analizy i zapisania w bazie. (chociaz rownie dobrze mozna juz probowac robic to w C). Natomiast linux - nie wiem, w jaki sposob prog moze to robic (moze odczyt z portu klawiatury? czy to w ogole mozliwe?) |
|
|
![]()
Post
#25
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
A gdyby zrobić tak, że uruchomimy jakis napisany w C czy czyś innym proces, który przy pomocy socketów lub strumieni będzie się komunikował z moim Sentinelem i podawał mu wychwycone z porty klawiatury sygnały?
Tylko w czym by taki program napisać? I jak? Ktoś chętny na zarobienie kilkudziesięciu złotych? |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Takiego proga mozna napisac np. w C. Tylko jest tu jeszcze jedna kwestia: z tego co pisales kody z czytnika nie powinny docierac do osoby siedzacej przy kompie. Nie jestem powien, czy proces dzialajacy w tle moze (w jakis ludzki sposob) usuwac wcisniete znaki z bufora, trzebaby to zbadac dokladniej.
Co do komunikacji to moga byc sockety, moga byc zapytania do serwera, na ktorym bryka Twoj skrypt. A strumienie? Tu nie wiem jak mogloby to dzialac. |
|
|
![]()
Post
#27
|
|
Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
a ja wymyśliłem coś innego ... żeby sentinel siedział w Iframe w formularzu portiera i bylby poprostu niewidoczny ... chodzi mi o to ze wtedy mozesz zrobic formularz do ktorego moze on zapisywac sekwencje ... dodatkowo napisałeś, że jest możliwość zaprogramowania znaku ASCII od jakiego zacznie się sekwencja więc trzeba go tak ustawić żeby nawet pomiędzy naciśnięciami klawiszy jak wpadnie sekwencja rozpoczęta znakiem ASCII a zakończona enterem o długości 15 znaków, to żeby to przechwycił form w iframe
PS. Nie wiem czy dobrze myślę ale jestem trochę chory i mam spowolnione procesy myślowe |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj wg mnie jedyny problem to to, w jaki sposob nieaktywna aplikacja otrzymywala znaki z klawiatury. Jezeli bedzie bedzie jakis formularz, to co jezeli, tak jak pisze scanner, facio przelaczy sie na pasjansa? Proby lapania klawiszy poprzez przegladarke to sredni pomysl. Jezeli byloby to mozliwe, to oznaczaloby, ze mozna zrobic keyloggera (bo o to przeciez chodzi!) przez www. (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif)
No wlasnie - scanner, mozesz zapuscic jakiegos darmowego keyloggera i przez php analizowac logi jakie generuje. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) I wcale nie zartuje w tej chwili, mysle, ze to spoko pomysl! Ale jezeli zalezy Ci na natychmiastowej reakcji na klawisze, to juz trzeba zadzialac. Ten post edytował netzah 20.10.2004, 12:09:25 |
|
|
![]()
Post
#29
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cały czas mi chodzi po głowie ten programik w C.
1) Całość ma działać zarówno pod Windowsem jak i Linuxem/Unixem 2) Oprogramownaie będzie korzystać z Apacha, MySQL i PHP5 zainstalowanego na maszynie, na której podpięty jest czytnik. 30 Operator komputera w zasadzie ma tylko obsługiwac drugi moduł pakietu w sytuacji gdzy przyjdzie jakiś gość i trzeba mu będzie przypiąć tymczasowy barcode - więc problem Cytat kody z czytnika nie powinny docierac do osoby siedzacej przy kompie gdyż nawet jełsi bnędzie ona wypełniać formularz gościa, to nie poroblem skasowac ewentualne znaki z czytnika.Najwazniejsze w tej chwili to stworzenie keylogera właśnie. Szykam oprogramownaie do mojego czytnika, bo podobno można go zmusić do wysłania sekwencji poprzedzonej zdefiniownaym w jego konfiguracji znakiem - wtedy łatwiej by było odfiltrować bufor klawiatury z czytanej sekwencji. |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
O ile w win32 jest w miare spoko, to ciekawe , czy pod linuxem mozna zmontowac keyloggera? Watpie, czy mozna rozwiazac to poprzez dostep do portu klawiatury (to 1. zagadka), bo przeciez nie mozna na nim wisiec w petli non-stop, bo obciazenia proca w 100% chyba nie wchodzi w gre...
|
|
|
![]()
Post
#31
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
No cóż. Chyba pozostanie mi tylko przebudowa projektu i oparcie się o przeglądarkę, focusy i JS.
Zmniejsza to elastyczność, ale trudno. Zobaczymy co zleceniodawca powie... |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(netzah @ 2004-10-20 15:21:44) O ile w win32 jest w miare spoko, to ciekawe , czy pod linuxem mozna zmontowac keyloggera? Watpie, czy mozna rozwiazac to poprzez dostep do portu klawiatury (to 1. zagadka), bo przeciez nie mozna na nim wisiec w petli non-stop, bo obciazenia proca w 100% chyba nie wchodzi w gre... W linuxie jest możliwe napisanie takiego programu. Wystarczy spojrzeć jak działają programy do obsługi klawiatur multimedialnych. Przecież one wychwytują kody wciśniętych klawiszy - w ten sposób można keyloggera zrobić bez problemu. Dla chętnych źródła takiego programu pod linux'a: http://ypwong.org/hotkeys/0.5.7.1/hotkeys_0.5.7.1.tar.gz |
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ale te sterowniki dzialaja tylko pod X-window, tak? System okienek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) na pewnie sam rozdziela zdarzenia, tak jak win32. Czy moze sie myle? Czy jest mozliwe napisanie keyloggera pod konsole?
|
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(netzah @ 2004-10-22 08:08:56) Ale te sterowniki dzialaja tylko pod X-window, tak? System okienek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) na pewnie sam rozdziela zdarzenia, tak jak win32. Czy moze sie myle? Czy jest mozliwe napisanie keyloggera pod konsole? Możliwe to jest - choćby napisać sterownik do klawiatury (najlepiej przerobić jakiś isteniejący ;-) i dodać funkcję, która gdy podany ciąg będzie pasował będzie go przechwytywała). Sęk w tym jak to napisać. Nie zagłębiałem się w pisanie sterowników więc nie powiem jak i co ;-( |
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Do czego zmierzam: czy przychwytywanie klawiszy pod linuxem odbywa sie poprzez system okieniek czy na nizszym poziomie?
|
|
|
![]()
Post
#36
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat(netzah @ 2004-10-22 08:26:46) Do czego zmierzam: czy przychwytywanie klawiszy pod linuxem odbywa sie poprzez system okieniek czy na nizszym poziomie? A pomyśla sam. Gdyby to było na poziomie okienek, to jak mółbyś cokolwiek pisać pod konsolą? Sorry za OT, ale nie mogłem się oprzeć. |
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(kszychu @ 2004-10-22 09:31:19) A pomyśla sam. Gdyby to było na poziomie okienek, to jak mółbyś cokolwiek pisać pod konsolą? To nietrafione spostrzezenie. Przeciez nie napisalem, ze to dopiero okienka obieraja zdarzenia z klawiatury i wszystko co jest "nizej" nie ma dostepu do klawiszy(a wlasnie to wynika z Twojego postu). Mowa jest o przechwytywaniu zdarzen z klawiatury przez nieaktywne procesy. Pod okienkami mozna zazyczyc sobie, zeby do naszego procesu docieraly wybrane zdarzenia, bo to okienka je rozsylaja, ale NIE sa to zdarzenia prosto z klawiatury. Sa to przeciez inne, nowe zdarzenia, generowane po odebraniu czegos ze sprzetu. To jest raczej jasne, bo przeciez np. pod win32 obieramy WM_KEYDOWN a nie cos tam z portu 0x60... Teraz linux: np. pod takim Qt do aplikacji dociera zdarzenie, ze ktos wcisnal guziczek, a nie trzeba sobie pilnowac co sie dzieje ze sprzetem. A zdarzenie to generuja wlasnie okienka. A teraz moja odpowiedź: moge pisac pod konsola, bo tez kwestie nie sa powiazane (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Sterowniki nie reagują jak jestem pod innym terminalem (np. tty6), ale jak działam w obrębie X'ów to niezależnie co robię eventy są wyłapywane.
|
|
|
![]()
Post
#39
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
tak z ciekawości (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
czy zamiast:
nie powinno być:
czy też myle z javą (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) |
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 24.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nie bo ASentinel jest klasą abstrakcyjną a nie interfacem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 04:47 |