Elektronika.lt
 2024 m. gruodžio 22 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 22 d. 11:24
Energetikos sektoriaus laukia pokyčiai – alternatyvų yra, bet ar užteko laiko pasiruošti?
Gruodžio 21 d. 11:33
Kokį elektronikos įrenginį dovanoti, kad jis vėliau neišaugintų elektros sąskaitos?
Gruodžio 20 d. 17:12
KTU mokslininkai sukūrė nanolazerį – sidabro nanokubus panaudojo šviesos generavimui
Gruodžio 20 d. 14:28
Lietuvių kalba ir technologijos: VU mokslininkų projektas LIEPA-3 atvers naujas galimybes
Gruodžio 20 d. 11:49
Stacionarūs kompiuteriai: koks jų vaidmuo nešiojamųjų kompiuterių eroje?
Gruodžio 20 d. 08:14
„DS Automobiles“ pristato naujausią savo elektrinį flagmaną – „DS N°8“ kupė
Gruodžio 19 d. 20:18
Naudingi patarimai, kurie padės maksimaliai padidinti jūsų elektrinio automobilio priemonės įveikiamą atstumą
Gruodžio 19 d. 17:27
Žaidybinimas: efektyvus švietimo įrankis ar bėgimas nuo tikrovės?
Gruodžio 19 d. 14:27
Orkaitės darbymetis prasideda: 5 paprasti patarimai, kurie kalėdinius kepinius leis paruošti elektrą naudojant taupiau
Gruodžio 19 d. 11:15
Proveržis magnetų tyrimuose: ištisas savaites tarnaujanti telefono baterija ir 1000 kartų didesnė jo sparta
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
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

Sveiki ir ekologiški maisto produktai

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

Draugiškas internetas


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
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
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