Strona 1 z 2

Plik znakowy urządzenia klawiatury

: 26 marca 2009, 16:07
autor: grendolf
Witam...
Szukam rozwiązania dosyć nietypowego problemu i postanowiłem poprosić o jakąkolwiek pomoc gdyż albo rozwiązanie jest na tyle banalne aż nie widzę rozwiązania, albo rozwiązanie jest faktycznie bardzo skomplikowane.
Sprawa zapowiada się prosto. Potrzebuję odnaleźć plik urządzenia znakowego klawiatury.
Zazwyczaj jest to coś w stylu /dev/input/event4 (przykładowo)
Co wiem:
- maszyna to komputer na bazie PC wzbogacony o dodatkowe kontrolery
- system to debian, ale wersji nie znam gdyż jest on nieco zmodyfikowany na potrzeby tej maszyny
- jądro z rodziny 2.4.x
- X'y są, maszyna pracuje z Gnome i to właśnie w trybie graficznym potrzebuję plik klawiatury
- klawiatura nie jest standardowa, zatem szukanie jej w /dev/input czy w logach mija się z celem. Klawiatura jest pewnego rodzaju panelem sterującym, jednak działa jak standardowa klawiatura, posiada znaki alfanumeryczne itd
- /dev/ttySx nic nie daje
- jest szansa, że klawiatura ta podłączona jest przez port usb ale sprawdzałem szynę usb i żadne z urządzeń usb nie jest widziane jako klawiatura
- nie mam możliwości użycia poleceń lsusb ani poleceń z rodziny udev
- nie mam możliwości instalacji lub aktualizacji wielu pakietów (głównie z powodu modyfikacji systemu)
- znam prawdopodobny moduł jądra dotyczący posiadanej klawiatury (nie posiadam jego źródła a google nigdy o takim module nie słyszało)
- lspci niewiele zdradza istotnych informacji
Sprawa jest dla mnie dosyć ważna.
Plik ten potrzebuję do keylogera. Odpowiedniego deamona już napisałem, ale bez wskazania mu pliku urządzenia niewiele zdziałam (chyba, że jest inny sposób globalnego przechwycenia klawiatury)
Najprościej byłoby dowiedzieć się z jakim urządzeniem blokowym powiązany jest owy moduł jądra.
Mam nadzieję, że względnie logicznie opisałem mój problem i naprawdę zależy mi na szybkim znalezieniu rozwiązania - mam czas do jutra rana ;/
Jeśli potrzebne są dodatkowe informacje to mogę je podać.
Proszę nie zadawać pytań typu wersja tego czy owego pakietu gdyż w tym przypadku raczej nie będzie miało to znaczenia (chyba, że się mylę). To jest zmodyfikowany debian i niektóre wersje pakietów mogą się różnić od tych na zwykłych PC.

: 26 marca 2009, 19:36
autor: lis6502
Więc jaki to moduł? Jesteś w stanie wrzucić:

Kod: Zaznacz cały

lspci

Kod: Zaznacz cały

cat /etc/X11/xorg.conf
lub:

Kod: Zaznacz cały

cat /etc/X11/xfree86.conf
Dostępu do klawiatury potrzebujesz z poziomu iksów czy kernela (o ile wiem jest różnica).

: 26 marca 2009, 20:49
autor: grendolf
Teraz nie pamiętam nazwy modułu ale jest to moduł stworzony przez producenta sterowanej tym systemem maszyny. Chodzi dokładniej o laser tnący firmy Mazak. Jeżeli ktoś zna tą firmę wie jak ciężko o jakiekolwiek informacje o ich sprzęcie.

Chodzi mi o przechwycenie ogólnie klawiatury. Domniemam, że jak podłączę się bezpośrednio pod plik urządzenia to niezależnie od środowiska graficznego ,,hook'' będzie działał.

,,Keylogera'' testowałem pod innym Debianem ale bez X-ów. Podpinałem się pod odpowiednie urządzenie /dev/input/... i było ok, otrzymywałem niemapowane kody klawiszy czyli zaraz po przechwyceniu ze sprzętu ale jeszcze nie przetworzonych przez sterownik. Mi to wystarczy gdyż i tak spora część klawisz nie jest znakami alfanumerycznymi - mapowanie zrobię sobie na piechotę później ;) Zatem domyślam się, że przechwytuję z poziomu kernela.
lspci nie mam przy sobie ale komenda ta zwracała jedynie informacje o chipsecie, kontrolerze usb, itd. Treść tego polecenia nie pomoże gdyż już to sprawdzałem - ta płyta ma złącze PS/2 wyprowadzone do obudowy terminala i jak podłączę klawiaturę zewnętrzną to mogę ją przechwycić, a mi chodzi o owy terminal.

Jak wygląda terminal? W ,,Google images'' wpisać można ,,mazatrol matrix'', tam w pierwszych wynikach będzie nieco nowsza wersja ale podobna do tej o jaką mi chodzi.
W xfree86 jako sterownik klawiatury jest ,,keyboard'', brak innych śladów.

: 26 marca 2009, 21:09
autor: lis6502
Kurde, pół roku pracowałem w Tenneco i nie wiedziałem, że Mazaki stoją na Linuksach. Racja, o dokumentację ciężko, ale jak się inżyniery zebrali to mieli takie opasłe tomisko, może tam byłoby to czego szukasz? Pewnie nie.
Na pewno jakiś dostęp będzie przez /dev/console; swego czasu w Androidzie (Googlofon) było o tym głośno. /dev/xconsole też będzie jakimś punktem zaczepienia.
Spróbuj przeanalizować to.
Swoją drogą, co za flejtuch zleca Ci napisanie programu pod konkretny sprzęt, nie udostępniając przy tym dokumentacji?

: 26 marca 2009, 21:29
autor: grendolf
/dev/console oraz /dev/xconsole sprawdzałem.
Domyślam się o jakie tomisko Ci chodzi. Mam dwa, ale to tylko dokumentacja techniczna maszyny i okablowania.
Sprzęt mam w firmie i ma przyjechać serwisant. Muszę wiedzieć jakie klawisze wciska itd.
Maszyna nie była podłączona do sieci ale to problemem nie było. Również brak jakichkolwiek haseł dało się obejść. Już nawet mogę maszynę przełączyć w tryb normalnej pracy gdzie mam desktop (Gnoma) i mogę np firmową stronę www otworzyć. Jedynie ta klawiatura?

Ps. Nie wiem czy wszystkie Mazaki stoją na Linuksach, popularne są obrabiarki ale z nimi nie miałem do czynienia więc nie wiem. U siebie mam jednak laser, a pod Linuksem odpala się Mazatrol czyli aplikacja sterująca. Zresztą przy tak dużej elastyczności Linuksa nie powinno dziwić wykorzystanie jego w takim miejscu.

: 26 marca 2009, 21:39
autor: lis6502
Maszyna nie była podłączona do sieci ale to problemem nie było
Możesz tam teraz zadzwonić przez ssh? Jaka to architektura? arm, s390? Przejrzałeś tego vlogger'a?

: 26 marca 2009, 21:54
autor: grendolf
Teraz nie ale będąc w firmie mogę z dowolnego pc wejść przez ssh.
Co do arhitektury, jak wspomniałem, jest to PC nieco zmodyfikowany, płyta na chipsecie intela bodajże, Celeronik 1,2gHz.
vloger? co masz na myśli?

: 26 marca 2009, 22:00
autor: lis6502

: 26 marca 2009, 22:28
autor: grendolf
{b]J[/b]akbym mógł z czegoś takiego skorzystać byłoby dobrze. Ale jak wspomniałem, mam bardzo ograniczone możliwości instalacji pakietów. Nie zainstaluję ,,vloggera''. Inaczej bym nie zabierał się za pisanie ,,keyloggera'' tylko bym skorzystał z istniejących rozwiązań.
Widzę, że ciężki to orzech...

: 26 marca 2009, 22:31
autor: lis6502
Przecież to nie pakiet, a źródełka. Jeśli masz kompilator na docelowej maszynie, to nie widzę problemu. Co więcej, jeśli faktycznie architektury są zgodne, możesz pokusić się kompilację u siebie, a wynikową binarkę przenieść na Mazak.
Poza tym, miałem raczej na myśli byś przejrzał kod (opensource) i tam szukał jakiegoś punktu zaczepienia, bo z tego co przeczytałem na szybko program wstrzeliwuje się gdzieś między kernel a bufor klawiatury, także dane odczytuje zapewne na bardzo niskim poziomie.
Jeszcze tak mnie naszło: możesz spróbować na głupa. W załączniku wrzucam moją listę urządzeń (Debian Squeeze/Sid/Experimental, sprzęt: nic specjalnego, domowy pecet) w /dev: na Mazaku poszukaj tego, co nie występuje na mojej liście