Blog

9 Mar 2017

U sviluppu di software: Chì ghjè un cravatte?

/
Posted By

U sviluppu di software: Chì ghjè un cravatte?

Avemu bisognu di qualchi tipu di cravatta.

Chì hè un Cravatta?In u sviluppu di software, Hooking hè una idea chì permette di cambià a realizazione di un prugramma. U codice pussibule offre di cambià a primu cundizzioni di qualcosa senza cambià u vostru còdicu di a classa comparatore. Questu hè finitu annunziate l'aghjunghjenu strategie.

Stu tipu d'usu hè assai utile in u cuntribuitu di aghjunghje funziunalità novi à e applicazioni, incurzati sopra a corrispondenza entre i prucessi alternattivi è i missaghji di u sistema. Anu tenenu l'esurtazione di u sistema di reduczione expandendu a preparazione di carica chì u sistema hà bisognu di rializà per ogni messaghju. Hè essiri accunciatu quandu hè necessariu è evacuate à l'urganizazione più antica.

Envision chì avete utilizendu un Sistema di Cuntenutu di Cunsigliu (CMS) da un outsider è pudete fà vulemu un super executive chì hè avvishatu per mezu email cada volta un altru postu era distribuitu è ​​chì sta cundutta ùn hè micca u predefinitu di u dispositivu. Cosa ci hè un coppiu percorso per avanzi:

U cambià u codice di u CMS ùn hè micca un pensamentu intellettuale, dopu à tuttu in l'aghjurnà di rinfrescenu di u dispusitivu vi cunfruntassi a difficultà di perdienti u vostru mudificazione o ùn anu micca a capacità di cuntinuà tuttu ciò chì hè aggritu;

  • Fate a vostra CMS particulari hè un altru pensu terribili, tuttu ciò chì hè cunsideratu, ùn avete micca boni energia o bè immatriculati bè per fà e cose di novi o ancu mantene ciò chì fabricate;
  • Esplora a probabilitati di usu di u ganciu, per esempiu, verificate si u CMS s'assegna in moduli fora o mòulule per elementi di un nomu offruu per esse eseguitu in u minutu craved, per sta situazione, a distribuzione di novi publiciti.
  • A parte di a terra di utilizà i ganci fluveru in generale da u discu a l'instrumentu. A postu favorevule principale di i ganichi ùn hè micca di cambià u primu còdice. In tutti i manuale di prutezione grande di tutti i dispositi d'uperimentu aperto chì anu aghjurnatu intermittenti u mantra chì rinfriscenu ùn si cambia micca u centru. Invece di rinfriscanti unimaginable, qualsiasi individuu chì vene dopu à fà mantenimentu ùn penserianu micca di u cambiamentu, è a persona chì ùn hà scontruitu ùn hè micca scritta, micca l'apparatu.

L'extensibilità hè un altru pianu preferitu di utilizà strategie di cunnessione chì permettenu l'appiecu per aduce a so interfaces stabile. L'apprussioni di Hook analizate l'interfaces stabile è a cundizione di un spaziu varietà chì pò esce da l'espanzioni di una applicazioni per un locu specificu.

Soluzioni tecnulugia innovadora prupone Software Developement Training in Gurgaon, Delhi NCR in India.

Hooks As Design Patterns

Hè intriggante di nutà chì numerosi (tutti) contru di u schema simbulizanu un semantica per i ganchi. Parlanu à cumu esse aduprate sottosistema di e duminii problemati. Certi sò dipendenu di u regnu di sviluppu di distacchju: Abstracte, Fabbriche, Builder, Command, Intreprete, Ostiniziu, Prototipu, Statu è Strateġija.

Altri in i dui esempi di l'unificazioni è u sviluppu di partizioni: Metu Template è Ponte.

A semantica hè stata cumunicata in u nomu tècnicu di l'aiutu (per esempiu, in u Command, l'estratugia hè chjamata cumprenda ()).

Metu Mètiti Libbru Viaghjat

U Tecnulugia di Software - Cosa hè un Hook - Point 1Cuntatti virtusivi sò purtati una strada indistinguiscibile da stratezii staticici, ma dinò chì e tecniche virtuale pò mudificà, u compilatore ùn cunnosca l'indirizzu di una capacità virtuale specifica chì chjamanu in u vostru còdice. U compilatore, cusì, assemblendu un Tìtulu di Metu Virtuale (VMT), chì dà un modu à indagine à indirizzu di capacità in runtime. Ogni strule strategie virtuale sò attivati ​​in runtime per u VMT. U VMT di una quistione cuntene tutte l'estratèggi virtuale per i so precursori, è ancu per quelli chì pruclamate. Dunque, i tecnulugii virtuale utilizan più memoria di l'elementu strategiche, anche di u fattu chì cuglitanu più velocie.

Siculu VMT hè un tavulu chì cuntene i persunali cù l'indirizzi di memoria per l'capacità di l'interfaccia, chì deve esse fattu di supplantà u primu indirizzu di memoria cù l'indirizzu di un travagliu ligatu legatu. In questa ligna, a tècnica chjamata serà scrivuta, è a nova aducazione codificata di a capacità serà esercitu.

Hooking API

U sviluppu di u Software - Chì hè un Cravatte - Point 2The Hooking API prucedure veramente permette di reinventà l'elementi di u sistema di travagliu. Cù a capacità di capiscenu cumune, puderete cambià i so parambule cambià l'attività chì si deve esse realizatu inizialmente.

Hè cunvince, per esempiu, per annunzià una cancelleria di un registru specìficu, mantene una applicazione di correru, è eseguite una affirmazione di u cliente per sparisce un archiviu à u circhiu, et cetera.

Infatti, u cuteddu maiò di a decisione hè in a regione di security, per esempiu, antivirus e antispyware. Sì chì cumu pò esse, ci sò circunstanze in u nostru sviluppu urdinatu chì induve l'APP suece, pò esse a via principali.

Intricatu di prugrammazione Hooking, in a nostra circustanza cusì specifica, implica ottene una API da u SO, o da qualsiasi DLL è cambia a so esecutezione tipica in un altru locu, più più appuntu, à una altra capacità. Ci hè fundamentale à dui apprezzamenti:

EAT è IAT: tutte e EXE / DLL contene l'API per impurtazioni è i mette di tariffu. Sti cartoni cuntenenu persone chì dimustranu l'API Point Point. Trasfurmendu quelli persunalizatori, facentenu nant'à u nostru ritornu, avemu un ganciu. Sì chì per quessa, se stu EXE / DLL ùn importa micca l'API, st'errore ùn saria micca;

Cimbabrante di scrivere Straightforward: Cum'è l'avanti hà dettu, in l'eventu chì era cunvenu per aghjunghje una chjamata à u nostru ritornu à u principiu di u codice API, pudemu "appiccicate", facendu a nostra capacità esse da quantu cosa hè chjamatu l'API. Sì chì cumu pò esse, ci hè un prublema: se dopu a nostra codice si trattava, avemu bisognu di chjamà a prima API, avissimu novu nantu à u nostru ripruduzzione, è un inseme stabile seria creata. Un arrangement hè di corriggerà u ganciu per avè a capacità di chjamà l'API, tornanu pruvate una sola volta hè esercitu. Sì chì cumu pò esse, in stu locu di u centru, uni pochi chjamati API pò esse faciuti è ùn eseguisce micca esse u nostru ripruduzzione;

In linea Hook hè u puntu à quale avemu ottinutu i guida principale di una capacità, è hà da a tradizione per un Jump, Push o Call for our capacity.

Prescritti sanu: U sistema di travagliu di Windows tutte sopra ancora aghjettivu API. Avemu avutu sapè cumu funziunalità di Windows API funziunanti?

Occasione induva

U sviluppu di u Software - Chì hè un Punticchiu - A tecnulugia di u puntutu 3As dissociate l'interfaces stabile è aducazione di un spaziu varietà chì pò sviluppà da l'espanzioni di una applicazione per un determinate scupertu passa un cambiamentu di cuntrollu. L'urdunzione, l'amministratori di l'occasion, mudificanu a preparazione di passi. A fine di u ghjornu, quandu occasione hè a succorsa, u manuvirru risponde cunveggià strategichi di cullini nantu à l'articuli preugistrati chì esecutate a particular occasion chì preparava attività. Casi di occasioni: messagi di finestra, fagalli attrattivi da porti di currispundenza.

Duttore IAT Hooking

U sviluppu di u Software - Quandu hè un Puntu - Point 4 Procura in Windows hè una tola chjamata Importazione Domiciliola (IAT) chì apreva pointers à e capacità mandatu da i DLLs di ogni prucessione. Questa tavulazione hè populata cun l'indirizzu di l'elementi di u DLL in u tempu d'esèrcitu.

Utilizà capacità particulari, pudemu fà a lista di iTAT scrivibile, essendu cunvince per cambià l'indirizzu cù un indirizzu di una capacità customizata, rinfuzzata a tavula cum'è lea, simpricimenti dopu stu cambiamentu. A stu puntu quandu a prucessione prova di chjamà a capacità, a so indirizzu hè stata annunziata in a table IAT, è un rimintu hè tornatu. Comu a table IAT hè statu cambiatu, a capacità customizata hè traportata di a prima capacità è u codice infundutu à a prucedura hè stata ottena.

Netfilter Hook

U sviluppu di u Software - Chì hè un Cravatte - Point 5Netfilter hè un sottosistema di pezzi di Linux più notevile chì 2.4. Hè incaricatu di fascimentu chì separanu, NAT, firewall, redirectione, among others. Netfilter hè stallalizate extensibilmente, è a so documentazione hè finita. Si abbanduneghja u probabilitate di utilizà Hooks in u codice di Kernel, facendu a so utilizazione assai umana è sopratuttu di u gruppu. Quessi Sbanditi spuntanu un pocu rimi imaginanti è ponu cum'è invulsifere per esempiu spicìfici.

cunclusioni:

U sviluppu di u Software - Chì hè un Hook - cunclusioni I prucessi di programazione d'intruduce sò effittivamenti è aperta un scopu di ricercà imaginariu per i ingenieria di software, ma avà deve esse utilizatu cù alerta chì anu un intricatu più prominente in u currente di prucedure è cambia u primu cumpurtamentu di u SO, apprupazzioni o altri settori di software, facendo difficultà per capisce a basa di u software. Un altru ch'è quellu chì, comià pricate annantu à stu articulu, l'utilizazione di sti sistemi senza paradigma pò devaldu l'esekzione di l'appliaggi.

GTranslate Your license is inactive or expired, please subscribe again!