Elektronika.lt
 2024 m. balandžio 25 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 - Elektronika, automatika
 - Kompiuterija
 - Telekomunikacijos
 - Organizaciniai
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Balandžio 25 d. 14:36
Gegužę – svarbūs pokyčiai tūkstančiams „Shopify“ vartotojų (1)
Balandžio 25 d. 12:27
Grėsmės vaikų mobiliuosiuose telefonuose: ką apie tai galvoja tėvai?
Balandžio 25 d. 10:41
Išmanioji buitinė technika: kaip ji gali padėti sumažinti elektros sąskaitą?
Balandžio 25 d. 08:32
HMD pristatė tris atnaujintus „Nokia“ mygtukinius telefonus
Balandžio 24 d. 20:16
Kaip išjungti ar perkrauti visų modelių „iPhone“
Balandžio 24 d. 17:16
Nuo blynus kepančių robotų iki miesto priežiūros technologijų – „Tech_Champ 2024“ hakatone komandos kūrė naujoves
Balandžio 24 d. 14:32
Pristatytas 816 AG „Mercedes-AMG GT 63 S E PERFORMANCE“ kupė
Balandžio 24 d. 11:26
Švietimo ekspertai sutaria: universitetų aljansai – galimybė turėti geresnę švietimo sistemą
Balandžio 24 d. 08:18
„Nothing“ pristatė „Ear“ ir „Ear (a)“ belaidžius ausinukus
Balandžio 23 d. 20:24
Dauguma Lietuvos tėvų riboja vaikų laiką internete: psichologas patarė, kaip nepažeisti vaiko privatumo
FS 22 Tractors
Farming Simulator 19 Mods, FS 22 Maps, FS22 Mods
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS22 Trucks
VAT calculator
VAT number check, What is VAT, How much is VAT
Paskola internetu
Vartojimo paskola, paskola automobiliui, paskola būsto remontui
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS22 Mods
FS22 Harvesters, FS22 Tractors Mods, FS22 Maps Mods
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat
Optic sight
Binoculars for hunting elk,
Best compact binoculars,
Riflescope hunting
Reklama
 Vykdomi projektai » IT, kompiuteriai ir sistemos Dalintis | Spausdinti

Klaviatūros šnipas

Publikuota: 2006-09-24 18:08
Tematika: IT, kompiuteriai ir sistemos
Vykdytojai: Mėgėjai
Autorius: el. paštas Vitalij Rodnov
Aut. teisės: el. paštas ©Vitalij Rodnov

Kartą dėl „sportinių“ sumetimų sumanėme pagaminti kompiuterio klaviatūros šnipą. Naršydami internete, radome platų jų pasirinkimą, tačiau programinės versijos mums tiesiog netiko, o už „hardvarines“ mokėti nemažus pinigus nesinorėjo. Nusprendėme, kad galime patys pasidaryti tokį prietaisą.

 Rodyti komentarus (10)
Įvertinimas:  1 2 3 4 5 

Projekto pradžia

Kartą dėl „sportinių“ sumetimų sumanėme pagaminti kompiuterio klaviatūros šnipą. Naršydami internete, radome platų klaviatūros šnipų pasirinkimą. Programinės versijos netiko, nes joms įdiegti kompiuteryje privalėjome turėti Administratoriaus teises. „Hardvarinių“ versijų irgi radome, bet mokėti už jas nemažus pinigus nesinorėjo, nes jautėme, kad galime patys pasidaryti tokį prietaisą.

Prie darbo

Klaviatūra bendrauja su AK skankodais. Nuspaudus klavišą, host‘ui nusiunčiamas „Make“ kodas (dažniausiai vieno baito), o atleidus – nusiunčiamas „Brake“ kodas (dažniausiai du baitai – F0 ir „Make“ kodas). Pavyzdžiui, trumpai paspaudus „a“ klaviatūroje, host‘as gauna tris baitus: 1C F0 1C. Funkcinių klavišų skankodai yra ilgesni.


„Q“ klavišo skankodas. Kanalas A yra Clock signalas, kanalas B yra Data signalas (autorius – Adam Chapweske)

Pirmas prietaiso variantas buvo juokingas ir nepatogus naudojimui. Tiesiog panaudodavom Clock ir Data signalų laidus iš klaviatūros kabelio ir pravesdavom laidą iki kito PC LPT prievado. Tame kompiuteryje mano programa sinchroniškai įrašydavo Clock ir Data lygius į tekstinius failus „nuliukų-vienetukų“ pavidalu. Po 30 sekundžių skanavimo, failai užimdavo apie 60 MB. Taigi programą reikėjo paleisti tik slaptažodžio įvedimo metu, o tai ne visada buvo įmanoma. Po to programa analizuodavo gautus failus ir išskirdavo klavišų paspaudimus. Jie buvo paverčiami iš skankodų į ASCII simbolius pagal lentelę. Iš pat pradžių buvo aišku, kad tai yra tik laikinas sprendimas.


Pirmo prietaiso varianto duomenų dekodavimo programa

Sekantis variantas jau turėjo AVR mikrokontrolerį. Nesukau galvos dėl pavadinimo ir pavadinau jį Loggeriu. Jis jungiamas prie Clock ir Data signalų laidų tarp klaviatūros ir kompiuterio. AVR kontroleris įrašo skankodus į savo vidinę atmintį (128 baitai). Vidinės AVR‘o atminties užtenka įrašyti apie 40 klavišų paspaudimų, nes skankodai yra nuo 3 iki 5 baitų ilgio. Buvo idėja prijungti išorinę EEPROM atmintį, bet vėliau nusprendžiau to atsisakyti, nes man nereikėjo tokio atminties kiekio. Pridėjus programinį filtrą host‘o valdymo ir klaviatūros inicializavimo komandoms, login-password lengvai sutelpa į vidinę AVR atmintį.

Veikimo principas

Loggeris gauna maitinimą per PS/2 jungtį, t. y., įsijungia kartu su PC. Kompiuterio įjungimo metu vyksta klaviatūros inicializavimo procedūra, kurios aš neaprašinėsiu. Beveik visus šios procedūros skankodus Loggeris išfiltruoja taupydamas vietą atmintyje. Spaudžiant klaviatūros mygtukus, skankodai įrašomi į Loggerio atmintį. Kai atmintis persipildo, Loggeris veikia toliau tik tam, kad atpažintų teisingai įvesta slaptą klavišų kombinaciją. Jei aptinkamas teisingas kodas, Loggeris nustato High būseną Control linijoje, kuria valdo 4066 mikroschemą. Taip Loggeris nutraukia ryšį tarp PC ir klaviatūros, pats likdamas prijungtas prie Clock ir Data linijų, einančiu į PC.

Toks veiksmas leidžia Loggeriui imituoti klaviatūros veikimą ir išsiusti sukauptą informaciją į bet kokį tekstinį redaktorių. Jei AVR pradėtų siusti duomenis neatjungus klaviatūros, tie duomenys patektų ne tik į PC, bet ir į klaviatūrą, kuri supras juos kaip valdymo komandas iš PC ir mėgins į jas reaguoti. Gaunasi visiška betvarkė ir PC dažniausiai „pakimba“.

Modifikacijos

Padarėme du Loggerio variantus:

1. Išorinis. Jis jungiamas į PC PS/2 prievadą ir prie jo jungiama klaviatūra. Privalumai – galima greitai prijungti / atjungti. Trūkumai – matomas (nors ne kiekvienas kasdien pasižiūri į savo kompiuterio galinį skydelį, tuo labiau jei kompiuteris pakištas po stalu).

Išorinis Loggeris

Duomenų nuskaitymas: išimame Loggerį ir prijungiame jį prie kito kompiuterio su PILNAI užkrauta operacine sistema. Atidarome key.exe ir surenkame slaptą kodą. Pagal nutylėjimą trijų simbolių kodas yra „Tarpas“, „`“, „Num+“. Jį galima pakeisti programiškai. Po sekundės viršutiniame key.exe lange pasirodys skankodu seka iš AVR atminties. Spaudžiame GO (slapto kodo simboliai turi būti ištrinti ). Programa paverčia skankodus į ASCII simbolius ir apatiniame lange matome rezultatą. Jei rezultatas atrodo įtartinas, atidarykite gautą failą notepad. Visos simbolių poros turi būti atskirtos tarpais. Priekyje neturi būti slapto kodo simbolių. Programa gali suklysti, jei Loggerio darbo metu ilgesnį laiką buvo paspaustas kuris nors klavišas (buvo įsijungęs „autorepeat“). Jei failas atrodo tvarkingai, o programa jo vis tiek nesupranta, pamėginkite dekoduoti skankodus rankiniu būdu pasinaudojus ASCII lentele.


Key.exe duomenų dekodavimo programa

2. Vidinis. Loggeris įmontuojamas į klaviatūros vidų. Privalumai – niekas net neįtars, kad jo klaviatūroje padaugėjo detalių. Trūkumai – ilgesnis montavimas.

Duomenų nuskaitymas: jei galima pasinaudoti tuo pačiu kompiuteriu su PILNAI užkrauta operacine sistema, tai tiesiog atidarome notepad ar key.exe, suvedame slaptą kodą ir dekoduojame vietoje. Arba galima prijungti „patobulintą“ klaviatūrą prie kito kompiuterio su PILNAI užkrauta operacine sistema. Toliau veiksmai kaip ir su Loggerio išoriniu variantu.

Užbaigtas Loggerio variantas (autorius – Vaicekas)

Išvados

Loggerio gamyba buvo gera patirtis. Teko išstudijuoti PS/2 protokolą, susipažinti su AVR (tai buvo mano pirmasis AVR projektas), net paprogramuoti su „Borland Builder C++“ (nemažai nervų man kainavo). Tačiau sukurtas prietaisas nėra tobulas. Norint gauti tikrai universalų įrenginį, galima būtų:

  1. Prijungti norimos talpos išorinę EEPROM atmintį.
  2. Panaudoti AT90S2323 vietoj 2313 – sumažinsime įrenginio matmenis.
  3. Suprojektuoti PCB plokštę su SMD komponentais – tada matmenys dar labiau sumažės.
  4. Patobulinti ar visai perrašyti key.exe algoritmą, įgyvendinti slapto kodo pakeitimą per notepad, cut, copy, paste funkcijas.
  5. Perrašyti AVR programą C+ kalboje pasinaudojant jau esama PS/2 klaviatūros emuliavimo biblioteka.
  6. ....sugalvokite patys.

Nuorodos

  1. Geras PS/2 protokolo aprašymas.
  2. Klaviatūros skankodų lentelė.

Failai

  • 1132.BAS – programa BascomAVR‘ui;
  • 1132.HEX – sukompiliuotas hex failas AVR‘ui;
  • key.EXE – Loggerio duomenų dekodavimo programa;
  • xxx_16_09_2004.TXT – Loggerio darbo pavyzdys, užkraukit jį į key.exe;
  • WinXPstart.TXT , WinXPstartNO_FA.TXT – dar Loggerio darbo pavyzdžiai;
  • Logger1.LAY – eksperimentinio Loggerio plokštės (pcb) išdėstymas SprintLayout‘ui;
  • Logger_by_Vaicekas.LAY – užbaigtas Loggerio pcb (autorius – Vaicekas);
  • logger.JPG,logger2.JPG – eksperimentinio Loggerio nuotraukos;
  • logger-Finished1.JPG, 2,3 – užbaigtas Loggerio variantas (autorius – Vaicekas);
  • Logger-alfaFAQ.DOC – klausimai-atsakymai;
  • logger.PNG – Loggerio schema;
  • scancodetable.PNG – Klaviatūros skankodų lentelė (autorius - Adam Chapweske).

Visi failai viename archyve.




Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

„Deinavos baldai“ — šeimos baldai


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
Farming Simulator 2019 Mods, FS22 Mods, FS22 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama