Elektronika.lt
 2019 m. gruodžio 14 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
Gruodžio 14 d. 15:21
Daiktų internetas: 5 pavyzdžiai, atskleidžiantys jo potencialą
Gruodžio 14 d. 09:25
Kiekvieno vairuotojo džiaugsmas – visada žaliai šviečiantis šviesoforas
Gruodžio 13 d. 20:22
Nuo išmaniųjų akinių iki elektros lizdo: svarbiausi 2019-ųjų įrenginiai
Gruodžio 13 d. 19:19
2019 metų telefonų apžvalga: ką apie technologijų ateitį praneša šie telefonai
Gruodžio 13 d. 18:37
Telefone laikote darbo duomenis? Atkreipkite dėmesį į šiuos patarimus
Gruodžio 13 d. 16:40
JAV strateginiams bombonešiams B-1B uždrausta skraidyti labai žemai ir labai dideliais greičiais
Gruodžio 13 d. 12:14
Šiukšlina visi, o rinkti nenori niekas: kosmoso šiukšlyną tvarkys robotas su keturiomis rankomis
Gruodžio 13 d. 08:16
Silpnoji grandis: kibernetinę gynybą Lietuvoje slopina darbuotojų trūkumas ir neišprusimas (1)
Gruodžio 12 d. 21:19
Elektros perdavimo sistemos ir elektros skirstomųjų tinklų modernizavimą ir plėtrą lydi sklandus tarpinstitucinis bendradarbiavimas
Gruodžio 12 d. 20:34
Technologijos neišlaisvino: moterims per šventes darbų tik padaugės
FS19 Mods
FS19 Map mods, FS19 Courseplay, FS19 GPS mod
SnowRunner Mods
SnowRunner maps, SnowRunner trucks, How to install mods
FS 19 Tractors
Farming Simulator 19 Mods, FS 19 Maps, FS 19 Trucks
FS19 Maps, FS19 Trucks
Farming Simulator 2019 Mods, FS19 Tractors
Install MC Mods
Minecraft Dungeons Mods, Minecraft Dungeons Skins, Minecraft Dungeons Maps
FS19 Combines
Farming Simulator 19 Mods, FS19 Trucks, FS 19 Mods
How to Install Mods
Minecraft Dungeons Mod, Minecraft Dungeons Maps, Minecraft Dungeons Skins
Mobilieji telefonai
Mobilieji telefonai internetu, telefonų dėklai, telefonų priedai
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

TMS ELECTRONICS
TMS ELECTRONICS

www.rslietuva.com – nemokamas elektronikos komponentų pristatymas

ENEBA's game store

Lietuvos mokinių neformaliojo švietimo centras

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

Technologijos.lt

Mokslo festivalis „Erdvėlaivis Žemė

www.esaugumas.lt – apsaugok savo kompiuterį!

LTV.LT - lietuviškų tinklalapių vitrina

www.matuok.lt - Interneto spartos matavimo sistema

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

MRO Supply


Reklama
‡ 1999–2019 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Farming Simulator 2017 Mods, FS 17 Mods
ls2017.com
„TV programa“ – tiksli
televizijos programa

www.tvprograma.lt
Lietuvos mokinių neformaliojo švietimo centras
www.lmnsc.lt
Buhalterijos kursai, apskaitos kursai, vadovų apskaitos kursai
www.apskaitakiekvienam.lt
Lietuvių kalba informacinėse technologijose
www.likit.lt
Lyderystės mokymai, mokymai vadovams, vadovų mokymai
www.tripleo.lt
Mokslo ir technologijų pasaulis – naujienos ir straipsniai
www.technologijos.lt
Farming Simulator 2019 Mods, FS19 Tractors, FS19 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – geriausių lietuviškų tinklalapių katalogas
www.ltv.lt/technologijos/
FS19 Mods, FS17 Mods, FS15 Mods
www.farming2015mods.com
Mokslo populiarinimo projektas „Mokslas verslui ir visuomenei“
www.mokslasplius.lt
Reklama


Reklama