Blogi

9 Teisip 2017

Tarkvaraarendus: mis on konks?

/
postitas

Tarkvaraarendus: mis on konks?

Me peaksime teadma paari hookitüüpidest.

Mis on konks?Tarkvara väljatöötamisel on Hooking idee, mis võimaldab programmi käitumist muuta. Võimaluse kood võimaldab teil midagi muuta esimest korda, ilma et muudaksite võrreldava klassi koodi. See on lõpetatud konksu strateegiate ülekirjutamisega.

Selline kasutus on äärmiselt kasulik, kuna lisab rakendustele uusi funktsioone, soodustades täiendavalt vaheldumisi toiminguid ja sõnumeid. Konksud kalduvad vähendama süsteemi täitmist, suurendades ettevalmistuskoormust, mida süsteem peab iga sõnumi jaoks täitma. Seda tuleks kehtestada just siis, kui seda nõutakse ja evakueerida võimalikult kiiresti.

Oletame, et kasutate kõrvalsissel põhinevat kliendijuhtimissüsteemi (CMS) ja võite soovida, et superettevõtjat teavitatakse e-posti teel iga kord, kui teine ​​postitus levitatakse ja see käitumine ei ole seadme vaikimisi. Järgnevalt oleks paar rada:

CMS-i lähtekoodi muutmine ei ole nutikas mõte, sest järgmisel seadme värskendamisel võitlete oma muutuse kaotamise raskusega või ei suuda kõike uuendada;

  • Tee oma enda CMS on veel üks kohutav mõte, kõik asjad on arusaadavad, teil pole piisavalt energiat või vara, et uusi asju teha või isegi hoida ära, mida valmistada;
  • Uurige konksu kasutamise tõenäosust, st kontrollige, kas CMS otsib välimisi mooduleid või mooduleid pakutud nime elementide jaoks, mida täidetakse minutiga, selle olukorra puhul uute postituste levitamiseks.
  • Konksude kasutamine alla maa poolest kõikub tavaliselt seadmest instrumendini. Konksude peamine soodsaks seisundiks ei ole esimese koodi muutmine. Kõigi avatud lähtekoodiga seadmete suurepäraste käsiraamatute puhul, mis on vahelduvalt uuendanud, ei muuda keskus muutmata mantrat, mis taaskäivitub ise. Hoolimata sellest, et värskendusi ei kujutata, võib iga inimene, kes tuleb hoolitseda hiljem, muutusi mõtlema ja see, kes seda vaevalt arutab, on sina, mitte aparatuur.

Laiendatavus on veel üks eelistatud nägemus kasutades konksu strateegiaid, mis võimaldavad rakendusel oma stabiilseid liideseid täiustada. Konksuregistrid eraldavad stabiilsed liidesed ja sordiressursi käitumise, mis võivad ilmneda konkreetse seadistuse rakenduse näidisest.

Innovaatilised tehnoloogia lahendused pakub Tarkvara arenduskursust Gurgaonis, Delhi NCRis Indias.

Konksud disainimustritena

On intrigeeriv märkida, et arvukad (kõik) üldjoonised illustreerivad konksude semantika. Nad räägivad, kuidas täita probleemsete alade alamsüsteeme. Mõned sõltuvad eraldumisprotsessi arengust: Abstract, Factory, Builder, Command, Interpreter, Observer, Prototype, State, and Strategy.

Teised mõlemad ühendamise ja partitsiooni arendamise näited: mallimeetod ja sild.

Semantikat kasutatakse tavaliselt konksu tehnilise nime (näiteks käskluses, strateegia nimetatakse execute ()).

 

Virtuaalsete meetodite tabel Hooking

Tarkvaraarendus. Mis on Hook Point 1Virtual'i meetodid on staatilistest strateegiatest eristamatud, kuid kuna virtuaalseid tehnoloogiaid saab muuta, siis ei teata kompileerijat konkreetse virtuaalse võimsuse aadressiga, kui seda koodis nimetatakse. Kompilaator kogub seega virtuaalse meetodi tabeli (VMT), mis annab võimaluse käimasoleva võimsuse aadresside päringu tegemiseks. Iga virtuaalne strateegia aktiveeritakse Runtime kaudu VMT. Küsimuse VMT sisaldab kõiki tema lähteainete virtuaalstrateegiaid ja lisaks neid, mida ta kuulutab. Seetõttu kasutavad virtuaalsed tehnoloogiad rohkem kui ühe elementaarstrateegia mälu, hoolimata sellest, et need töötavad kiiremini.

Kuna VMT on tabel, mis sisaldab liidese võimsusega mälukaartidega seotud näpunäiteid, siis tuleb teha esimene mäluaadress koos õigustatud konksu töökoha aadressiga. Nendel juhtudel kantakse nn tehnikat üle üle ja täidetakse uus mahukas käitumine.

 

Hooking API

Tarkvaraarendus - mis on konksupunkt 2 Hooking API-protseduur võimaldab tõeliselt töödelda süsteemi elemente. Selliste tasude hõivamiseks võite oma parameetreid muuta, muutes esialgselt toimuvat tegevust.

Näiteks on mõeldav konkreetse rekordi tühistamine, rakenduse käivitamine ja nõudmine kliendi kinnitusena arhiivi varundamiseks suhtlusringi jms.

Tõepoolest, kõige suurem otsus on turvalisuse piirkonnas, näiteks viirusetõrje ja nuhkvaratõrje. Võimalik, et meie tavalises arengus on asjaolud, kus Hooking API võib olla peamine väljapääs.

Programmeerimisliides Hooking, meie konkreetses olukorras tähendab API saamist operatsioonisüsteemist või mis tahes DLL-ist ja muutma selle tüüpilist täitmist kusagil mujal, veel täpsemalt teise suutlikkusega. Põhimõtteliselt on kaks lähenemist:

EAT ja IAT: kõik EXE / DLL-i sisaldavad tabeleid importimiseks ja tasuliseks kasutamiseks. Need tabelid sisaldavad viiteid, mis näitavad API sisestuspunkti. Muutades neid näpunäiteid, muutes need meie tagasiside näitamiseks, on meil konks. Olgu see siis, kui see EXE / DLL ei import API-sid, see strateegia ei toimi;

Lihtne koodi ülekirjutamine: nagu eelnevalt öeldi, juhul, kui API-koodi alguseni oleks võimalik meie kõnet tagasi kutsuda, võime selle konksu kinni hoida, muutes meie võimsuse kõikjal, kus API kutsuti. Võimalikult on see probleem: kui pärast meie koodi käitlemist oli vaja kutsuda esimest API-d, siis peaksime taganema tagasi tagasi ja luuakse virna üleujutus. Üks võimalus on kinnitada konks, et tal oleks võimalik API-d helistada, proovige seda uuesti pärast selle täitmist. Olgu see siis, kui selle keskpunkti keskel on võimalik teha mõni API-kõne ja see ei toimi meie tagasihelistamist;

Inline Hook on koht, kus me saame suutlikkuse peamised suunised, ja me kaupleme hankimise, pingutuse või üleskutse saamiseks.

Ettekirjutatud lugemine: Windowsi töösüsteem toetab täiendavalt kinnihoidmise API-d. Peaksime teadma, kuidas Windowsi API-sid hoiab?

 

Sündmus Hooking

Tarkvaraarendus. Mis on konksu punktid 3A konksu tehnikad lahutavad stabiilsed liidesed ja konkreetse seadistuse rakenduse näidisest tuleneva sordiruumi käitumine toob kaasa kontrolli tühistamise. Objektide juhatajad muudavad ettevalmistusetappe. Päeva lõpus, kui sündmus juhtub, käitleja vastab eelnevalt registreeritud esemete konksude strateegiatele, mis täidavad konkreetset tegevust ettevalmistamise korda. Juhtumite korral: akna sõnumid, paketid, mis lähevad korrespondentsportidelt.

 

IAT-i hoiatus sees

Tarkvaraarendus - mis on konksupunkt 4Kõik protsess Windowsis on tabel nimega Import Aadressitabel (IAT), mis salvestab viiteid igale protseduurile DLL-ide poolt välja saadetud võimsustest. See tabel asetab järk-järgult DLL-ide elementide aadressi täitmise ajal.

Kasutades suutlikkust, saame muuta IAT-i tabeli kirjutatavaks, sest on võimalik mõelda oma aadressi kohandatud võimsuse aadressile, kui uuesti seda tabelit uuesti lugeda - pärast seda muudatust. Kui protseduur üritab võimsust kutsuda, saab selle aadress IAT tabelisse ja kursor tagastatakse. Kuna IAT tabelit on muudetud, viiakse esimese võimsusega kohandatud võimsus sisse ja protseduurile sisestatud kood on hangitud.

 

Netfilter Hook

Tarkvaraarendus - mis on konksupunkt 5Netfilter on Linuxi tükkide allsüsteem, mis on märkimisväärsem kui 2.4. Ta vastutab kimpude eraldamise, NATi, tulemüüri, ümbersuunamise eest. Netfilter on erakordselt laiendatav ja selle dokumentatsioon on valmis. See jätab Hookide kasutamise tõenäosuse kerneli koodi, muutes selle kasutamise väga paindlikuks ja üldiselt grupi poolt. Need konksud jätavad mõned mõeldavad tulemused ja võivad teatud sündmuste käivitajana täita.

 

Järeldus:

Tarkvaraarendus - mis on Hook-järeldusKontrollimise programmeerimine on tõhus ja avab tarkvara inseneridele mõeldavate tulemuste ulatuse, kuid seda tuleks kasutada hoiatussignaalina, kuna need hõlmavad protseduuri vooge silmatorkavamat keerukust ja muudavad esimest OS-i, rakenduste või muude tarkvarasektorite käitumine, mis muudab tarkvara mõistmise keerukuse mõistmise keerukaks. Nimetatud süsteemide kasutamine ilma paradigmuta võib lisaks käesolevale artiklile täpsustada, nagu on ette nähtud käesolevas artiklis, võib rakenduste täitmisest kõrvale kalduda.

Jäta vastus

 
GTranslate Please upgrade your plan for SSL support!
GTranslate Your license is inactive or expired, please subscribe again!