blog

9 Mar 2017

Software-ûntwikkeling: wat is in hook?

/
Pleatst troch

Software-ûntwikkeling: wat is in hook?

Wy moatte wat wite types fan hook kenne.

Wat is in Hook?Yn 'e softwareûntwikkeling is Hoken in idee dat it feroarje fan in programma feroaret. De mooglikheidskoade biedt jo it earste gedrach fan 'e feroaring te feroarjen sûnder jo koade te feroarjen fan' e fergelende klasse. Dit is foltôge troch it oerskriuwen fan de hookstrategyen.

Dizze soarte gebrûk is tige brûkber as jo nije funksjonaliteiten oanmeitsje oan applikaasjes, ekstra stimulearje de korrespondinsje tusken ôfwikende prosedueres en berjochten fan it systeem. Haken sille de systeemútfiering ferminderje troch te wreidzjen fan de tariedende lade dy't it systeem foar elke berjocht foltôgje moat. It moat krekt ynfierd wurde as ferplicht en evakuearre is op 'e earste gelegenheid.

Tink derom dat jo brûke fan in Customer Management System (CMS) fan in outsider en jo kinne wolle dat in superbehearder troch elts in kear ferwidere wurde sil wurde in oare post ferspraat en dat dizze hâlding net de standert fan it apparaat is. Der soe in pear rûtes nei foaren komme:

Wizigje de CMS-boarne koade is net in tûk gedachte, nei alle gedachten yn 'e neikommende refresh fan it apparaat dat jo de swierrichheid hawwe om jo feroaring te ferliezjen of net de kapasiteitsje om alles ferfetsje te bliuwen;

  • Meitsje jo eigen bepaalde CMS in oar skriklike gedachte, alle dingen beskôge, jo hawwe net genôch enerzjy of genôch genôch genôch om nije dingen te meitsjen of sels op te hâlden wat te fabrykjen;
  • Undersyk nei de wikseling fan it brûken fan in hook, dat is, kontrolearje oft de CMS nei bûten moduueren of modules foar eleminten fan in oanbefolde namme nei útfiere wurdt op 'e nocht minút, foar dizze situaasje, de ferdieling fan nije berjochten.
  • De del nei ierde diel fan gebrûk fan hoekjes swalket allinich út apparaat nei ynstrumint. It prinsipe favorabel posysje fan haken is it earste koade net te feroarjen. Yn alle grutte praktyske hantliedingen fan alle iepen boarne-apparaten dy't de mantra, dy't him opnij feroaret, it yntertemintal fernijt, feroaret it sintrum net. Nettsjinsteande ferfrissing ûnimaasjabel, elk yndividu dy't letter letter omhannele sil, net tinke oan 'e wiziging, en de persoan dy't it dúdlik beheart is jo, net de appartemint.

De fergruttetens is in oare foarkommende sichtberens fan gebrûk fan hokstrategyen dy't it oanfreegjen fan syn stabile interfaces ferheegje. Hookstrategyen dekke stabile ynterfakken en it hâlden fan in ferskaat fan romte dy't kin ûntsteane út 'e ynstânsje fan in oanfraach foar in spesifike ynstelling.

Innovative Technology Solutions biedt Software Developement Training yn Gurgaon, Delhi NCR yn Yndia.

Haken as ûntwerppatroanen

It is yntrigearjend om te notearjen dat in protte (alle) rigel-ûntwerpen semantika foar haken sjen litte. Se prate mei hoe't jo subsysteem fan problemen gebieten útfiere. Guon binne ôfhinklik fan 'e regel fan detachmentûntwikkeling: Abstract, Factory, Builder, Command, Interpreter, Beobachter, Prototype, State, Strategy.

Oaren yn sawol foarbylden fan yndieling en dieltiidûntwikkeling: Sjabloanmetoade en brêge.

Semantika is normaal kommunisearre yn 'e namme fan de hoktechniek (bygelyks yn' e Kommando, de strategy wurdt as execute () neamd.

 

Virtual Method Table Token

Software-ûntwikkeling - Wat is in Hook - punte 1Virtuele techniken wurde yn in ûntefrede rûte út statyske strategyen brocht, mar om't de virtuele techniken feroare wurde kin de kompiler net it adres fan in spesifike virtuele kapasiteit kenne as jo it yn jo koade neamme. De kompilator befettet dêrmei in Virtual Virtual Tablet (VMT), dy't in manier om te freegjen oan kapasiteitsadressen yn runtime. Alle ienige firtuele strategy wurdt aktivearre yn 'e runtime fia de VMT. De VMT fan in fraach befettet alle firtuele strategyen foar har foargongers, en ek dejingen dy't it ferkundiget. Dêrom brûke de virtuele techniken mear ûnthâld as elemintstrategy, yn tsjinstelling fan it feit dat se hast flugger rinne.

Omdat VMT in tafel is dy't de punten hat mei spesjale adressen foar de interface-kapitaasjes, wat moat dien wurde om it earste ûnthâldadres mei in adres fan in legitime hokwurk te ferwiderjen. Oan dizze rigels wurdt de neamde technyk oerskreaun, en it nije befeilige hâlding fan 'e kapasiteit sil útfierd wurde.

 

Hûske API

Software-ûntwikkeling - Hokker Hook-punt 2The Hooking API-proseduere ferdielt jo jo de eleminten fan it wurksysteem te erfinden. Mei de mooglikheid om sokke ladingen te fangen, kinne jo har parameters feroarje troch de aktiviteit te feroarjen dy't yn earste ynstânsje útfierd wurde.

It is te betinken om bygelyks in tekenrige fan in spesifike rekord te hâlden, in applikaasje út te fieren, en freegje in kliïnt befestiging om in argyf te fertsjinjen nei de sirkel, et cetera.

Ja, de grutste besuniging fan 'e beslissing is yn' e regio fan feiligens, bygelyks anty- en antypyware. Wês dat sa, as it kin, binne omstannichheden yn ús gewoane ûntwikkeling wêr't de Hûchen-API, de wichtichste manier wêze kin.

Programming-ynterface Hoken, yn ús spesifike omstannichheid, betsjuttet in API fan 'e OS, of fan elke DLL te krijen en syn typyske útfiering earne oars te feroarjen, hyltyd mear, nei in oare kapasiteit. Der binne grûnwize twa oanpak:

EAT en IAT: alle EXE / DLL befettet API om tabellen te ymportearje en te fieren. Dizze tabellen befetsje punten dy't de API-yngongspunt sjen litte. Troch dizze wizigingen te feroarjen, wêrtroch't se ús oproppe, hawwe wy in hook. Wês dat as it kin, as dizze EXE / DLL de API net ymportearret, dizze strategy sil net wurkje;

Rjochtsfoarstelskoade Overwriting: As jo ​​foar it antwurd steld hawwe, yn 't gefal dat it wêze koe dat in oprop oan ús opnij oan' e start fan 'e API-koade taheakke koe, dan kinne wy ​​it "hookje", wêrtroch't ús kapasiteiten op hokker punt de API oproppen waard. Wês dat sa, as it kin, in probleem: as jo nei ús koade behannele wurde, moatte wy de earste API neame, wy moatte weromfalle op ús callback, en in stapke float soe makke wurde. Ien arranzjemint is it hok te befestigjen om de mooglikheid te meitsjen om de API te neamen, it besykje it op 'e nij as it útfiert wurdt. Wês sa as it kin, midden yn dizze sintraalgrûn, kinne inkele API-opfettings makke wurde en jo koppeblêd net útfiere;

Inline Hook is it punt wêryn't wy de haad rjochtlinen krije fan in kapasiteit, en wy ferkeapje foar in Jump, Push of in Call foar ús kapasiteit.

Foarskreaun lêzen: Windows arbeidssysteem is ekstra oppakt foar hokker API. Wy moatte witte hoefolle funksjes fan Windows API binne?

 

Wetter - Agrarwetter

Software-ûntwikkeling - Hok - technyk - punten 3As Hakentechniken dekopple stabile interfaces en it hâlden fan in ferskaatromte dy't út 'e ynstjitting fan in applikaasje ûntstean kin foar in bepaalde ynstellings in opkommens fan kontrôle. Objekts occasion occasion handlers modifisearje stappen. Oan 'e ein fan' e dei, as in gelegenheid bart, reagearret de handler in ferhúzjen fan hokstrategyen op pre-opsleine objekten dy't in bepaalde gelegenheid opstelle fan aktiviteiten. Opsjes fan gelegenheden: finster berjochten, bundels lâning fan korrespondinsjehaven.

 

Binnen IAT Hoken

Software-ûntwikkeling - Hokker Hook-Point 4Each-ferwurking yn Windows hat in tabel mei de namme "Address Address Table" (IAT), dy't bepaalde punten oan de kapasiteiten dy 't troch de DLL's fan elke proseduere ferstjoerd wurde, bewarje. Dizze tafel wurdt stadichoan populêr mei it adres fan de eleminten fan 'e DLLs op' e runtiid.

Mei help fan bepaalde kapasiteiten kinne wy ​​de IAT-tabel skriuwber meitsje, troch te fieren om syn adres te wizigjen troch in adres fan in oanpaste kapasiteit, it tabeljen fan 'e tafel as lêzen-ienfâldich nei dizze feroaring. Op it stuit dat de proseduere besiket de kapasiteits te neamen, wurdt it adres yn 'e IAT-tabel krigen, en in pointer is weromjûn. As de IAT-tafel feroare is, wurdt de oanpastfunksje opsetten fan de earste kaptens en de koade dy't yn 'e proseduere ynfoard is ûntfongen.

 

Netfilter hook

Software-ûntwikkeling - wat is in hook - punt 5Netfilter is in subsysteem fan Linux ûnder mear nauwerig as 2.4. It is ferantwurdlik foar bündel te skieden, NAT, firewall, omlieding, ûnder oaren. Netfilter is útsûnderlik ferwiderje, en syn dokumintaasje is foltôge. It ferlies de wikseling fan it brûken fan Hooks yn 'e Kernel-koade, wêrtroch't har utilisaasje tige fleksibel is en algemien ûntfongen is troch de groep. Dizze hoeken litte in pear begrypbere útkomsten en kinne as triggers ynfolje foar spesjale gelegenheden.

 

Konklúzje:

Software-ûntwikkeling - Wat is in Hook - konklúzjen De hokfoarprogrammingprosedueres binne effektyf en iepenje in gebrek fan begryplike útkomsten foar software-yngenieurs, mar it moat brûkt wurde mei alaarm, om't se in mear promininte kompensaasje yn 'e stream fan prosedueres hawwe en it earste feroarje it hâlden fan 'e OS, applikaasjes of oare sêftguodegeminten, wêrtroch it dreech is om it begryp fan software te begripen. Oars as dat, as foarich yn dit artikel spesifisearre, de utilisaasje fan dizze systeemen sûnder paradigm kin de útfiering fan 'e applikaasjes ûntbrekke.

Leave a Reply

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