Elektronika.lt
 2020 m. gruodžio 6 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 5 d. 16:47
MMD pristato du naujus „Philips Brilliance“ monitorius
Gruodžio 5 d. 10:15
JAV armija kuria minčių skaitymo techniką
Gruodžio 4 d. 20:19
Prekybininkai kreipiasi į pirkėjus: kalėdinėmis dovanomis pasirūpinkite internetu
Gruodžio 4 d. 18:08
4 patarimai, kaip išlikti mandagiems internetinių diskusijų metu
Gruodžio 4 d. 16:20
Mokytojas apie dalyvavimą pasauliniame konkurse: milijono dolerių nelaimėjau, tačiau dabar jaučiuosi taip, tarsi juos turėčiau
Gruodžio 4 d. 14:38
„Samsung“ pristatė planšetę „Galaxy Tab Active3“ – sukurtą lauko sąlygoms
Gruodžio 4 d. 12:26
Virtualaus renginio rezultatas – 8 sprendimai klimato kaitai suvaldyti
Gruodžio 4 d. 10:28
Kalėdų dovanos internetu: saugiai apsipirkti padės 6 paprastos taisyklės
Gruodžio 4 d. 08:34
Žiedinės ekonomikos link: mokslininkų atliktas tyrimas atskleidė pagrindinius savivaldybių iššūkius
Gruodžio 3 d. 21:32
„Kia“ pristatė naują itin greito elektromobilių įkrovimo platformą
FS19 Mods
FS19 Courseplay, FS19 Maps, FS19 Seasons
GTA 5 Mods
GTA 5 Cheats, GTA 5 vehicle mods, GTA 5 Map mods
FS 19 Tractors
Farming Simulator 19 Mods, FS 19 Maps, FS 19 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
Install MC Mods
Minecraft Dungeons Mods, Minecraft Dungeons Skins, Minecraft Dungeons Maps
FS19 Combines
Farming Simulator 19 Mods, FS19 Trucks, FS 19 Mods
Cyberpunk 2077 Mods
Installing CP2077 Mods, Cyberpunk 2077 cheats,
CP 2077 Modding guide
Mobilieji telefonai
Mobilieji telefonai internetu, telefonų dėklai, telefonų priedai
Žaislai vaikams
Paspirtukai, lėlės, dviratukai
LS19 Mods
Fs19 modhub, fs19 maps, FS19 Seasons
Snowrunner Mods
Snowrunner Maps, Snowrunner Trucks, Install Snowrunner Mods
MSFS2020 Liveries
Flight Simulator 2020 Mods, MSFS2020 Scener, MSFS2020 Airports
Sims 4 Mods
Sims 4 cheats, Sims 4 money cheat, Sims 4 careers
Lastenvaunut
Turvaistuin, Matkarattaat, Lasten vaatteet
Paskola internetu
Vartojimo paskola, paskola automobiliui, paskola būsto remontui
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

„Altegra“ – elektronikos projektavimas ir gamyba

Mokslo festivalis „Erdvėlaivis Žemė

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

„Deinavos baldai“ — šeimos baldai

ENEBA's game store

Technologijos.lt

LTV.LT - lietuviškų tinklalapių vitrina

Lietuvos mokinių neformaliojo švietimo centras

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

MRO Supply


Reklama
‡ 1999–2020 © 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
Ilgalaikiai kreditai, paskola už automobilį, kreditų skaičiuoklė
www.mokilizingas.lt
Lietuvių kalba informacinėse technologijose
www.likit.lt
Mokslo festivalis „Erdvėlaivis žemė“
MoksloFestivalis.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