Blog

9 Madi 2017

Devlopman lojisyèl: Ki sa ki yon kwòk?

/
Moun ki afiche Lè

Devlopman lojisyèl: Ki sa ki yon kwòk?

Nou ta dwe Konnen sou kèk kalite Hook.

Ki sa ki se yon Hook?Nan devlopman lojisyèl, Hooking se yon lide ki pèmèt chanje konduit la nan yon pwogram. Kòd posibilite a ofri ou chanje konduit an premye nan yon bagay san yo pa chanje kòd ou nan konpare klas la. Sa a fini pa ekstraksyon estrateji yo zen.

Sa a sòt de l 'se trè itil sou kont ajoute fonksyonalite nouvo nan aplikasyon pou, Anplis de sa ankouraje korespondans ki genyen ant pwosedi altènatif ak mesaj nan sistèm lan. Hooks yo gen tandans rediksyon ekzekisyon sistèm pa agrandi chaj la prepare ki sistèm nan bezwen fè pou chak mesaj. Li ta dwe prezante jis lè yo mande ak evakye nan opòtinite nan pi bonè.

Anvizaje ke ou ap itilize yon Sistèm Jesyon Kliyan (CMS) ki soti nan yon outsider epi ou ta ka vle yon egzekitif super yo dwe avèti pa imèl chak fwa yon lòt pòs te distribye e ke kondwit sa a se pa default la nan aparèy la. Ta gen yon koup wout pi devan:

Chanje kòd sous CMS la se pa yon panse entelijan, apre tout nan rafrechisman sa a nan aparèy la ou pral konfwonte difikilte pou yo pèdi chanjman ou oswa ou pa gen kapasite a kontinye tout bagay rafrechi;

  • Fè pwòp ou CMS patikilye se yon lòt panse terib, tout bagay sa yo konsidere, ou pa gen ase enèji oswa byen ase yo fè nouvo bagay oswa menm kenbe sa ki fabrike;
  • Eksplore chans pou yo itilize yon zen, se sa ki, tcheke si CMS yo sanble nan modil deyò oswa modil pou eleman nan yon Non yo ofri yo dwe egzekite nan minit la anvi, pou sitiyasyon sa a, distribisyon an nan posts nouvo.
  • Desann nan sou latè yon pati nan itilize kwòk fluktuan jeneralman soti nan aparèy enstriman. Prensip la favorab pozisyon nan Kwòk se pa chanje kòd an premye. Nan tout manyèl pratik gwo nan tout aparèy sous louvri ki gen dènye tanzantan maître a ki rehashes tèt li pa chanje sant lan. Malgre ke fè frèt inimajinabl, nenpòt ki moun ki vini pita fè antretyen pa pral panse sou chanjman an, ak moun ki fèk diskite li se ou, pa aparèy la.

Dedomajibilite a se yon lòt fason pi pito nan itilize estrateji zen ki pèmèt aplikasyon an ogmante entèfas ki estab li yo. Hook estrateji dekouple interfaces ki estab ak kondwit nan yon espas varyete ki ka sòti nan enstantane nan yon aplikasyon pou yon anviwònman espesifik.

Innovative Technology Solutions ofri Fòmasyon devlopman lojisyèl nan Gurgaon, Delhi NCR nan peyi Zend.

Hooks kòm modèl Design

Li se curieux sonje ke anpil (tout) desen deskripsyon montre semantik pou Kwòk. Yo pale ak fason yo egzekite sub-sistèm nan zòn pwoblèm. Gen kèk depann sou règ la nan devlopman detachman: Abstract, faktori, Builder, lòd, entèprèt, obsèvatè, Pwototip, Eta, ak estrateji.

Lòt moun nan tou de egzanp nan inifikasyon ak devlopman patisyon: Metòd Modèl ak Bridge.

Semantics se nòmalman kominike nan non an teknik zen (pou egzanp, nan Kòmandman an, se estrateji a rele egzekite ()).

 

Virtual Metòd Table Hooking

Devlopman lojisyèl - Ki sa ki se yon Hook - Point 1Virtual teknik yo te pote nan yon wout konfonn soti nan estatik estrateji, men depi teknik vityèl ka chanje, du a pa konnen adrès la nan yon kapasite espesifik vityèl lè ou rele li nan kòd ou. Lè sa a, du a, konsa, rasanble yon tab metòd Virtual (VMT), ki bay yon fason pou rechèch sou kapasite adrès nan ègzekutabl. Chak estrateji sèl vityèl yo aktive nan ègzekutabl atravè VMT la. VMT a nan yon kesyon gen tout estrateji yo vityèl pou précurseur li yo, ak Anplis de sa moun li pwoklame. Se poutèt sa, teknik vityèl itilize plis memwa pase estrateji eleman, nan malgre lefèt ke yo kouri vitès.

Depi VMT se yon tab ki gen pwent yo ak adrès memwa pou kapasite yo koòdone, ki sa yo ta dwe fè se ranpli adrès la memwa premye ak yon adrès nan yon travay zen lejitim. Ansanm liy sa yo, yo pral ekri teknik yo rele yo, epi nouvo konpòtman ki te sitèlman anvi nan kapasite a pral egzekite.

 

Hook API

Devlopman lojisyèl - Ki sa ki se yon Hook - Point 2The Haking API pwosedi vrèman pèmèt ou reenvante eleman yo nan sistèm nan k ap travay. Ak kapasite nan pran chaj sa yo, ou ka chanje paramèt yo pa chanje aktivite a ki ta dwe fèt okòmansman.

Li se rezonab, pou egzanp, nan anile moso nan yon dosye espesifik, kenbe yon aplikasyon soti nan kouri, ak demann yon afimasyon kliyan nan rezèv yon achiv nan sèk la, ak sere.

Vreman vre, koupe a pi gran nan desizyon se nan rejyon an nan sekirite, pou egzanp, antivirus ak antispyware. Se pou ke jan li ka, gen sikonstans nan devlopman òdinè nou kote API nan Hooking, yo ka yo te wout prensipal la soti.

Koòdone Programming Hooking, nan sikonstans espesifik nou an, implique jwenn yon API nan eksplwatasyon an, oswa nan nenpòt DLL, ak chanje ekzekisyon tipik li nan yon lòt kote, tout plis egzakteman, nan yon lòt kapasite. Gen fondamantal de apwòch:

EAT ak IAT: tout EXE / DLL gen API pou enpòte ak tab pri. Tablo sa yo gen ladan endikasyon ki montre Point Antre API a. Pa chanje pwent sa yo, fè yo endike callback nou an, nou gen yon zen. Fè sa kòm li ka, si sa a EXE / DLL pa enpòte API a, estrateji sa a pa pral travay;

Dwat Kòd overscripting: Kòm davans te di, nan evènman an ke li te imajinabl yo ajoute yon apèl nan callback nou an nan direksyon nan kòmansman an nan Kòd la API, nou te kapab "kwòk li", fè kapasite nou kouri nan kèlkeswa pwen API la te rele. Se pou ke menm jan li ka, gen yon pwoblèm: si apre yo te Kòd nou an okipe, nou te bezwen yo rele API an premye, nou ta tonbe tounen sou callback nou an, epi yo ta yon inondasyon chemine dwe kreye. Yon aranjman ranje zen an gen kapasite pou yo rele API a, re-ap eseye li yon fwa li egzekite. Fè sa kòm li ka, nan mitan tè sant sa a, yon kèk API apèl ka fè ak pa ta egzekite callback nou an;

Hook Inline se pwen kote nou jwenn direktiv direktè yon kapasite, epi nou komès pou yon Jump, Push oswa yon Rele pou kapasite nou.

Preskri li: Windows sistèm k ap travay Anplis de sa eskli API. Nou ta dwe konnen ki jan fonksyon fenèt API fenèt API?

 

Okazyon Hooking

Devlopman lojisyèl - Ki sa ki yon Hook - Point 3As teknik kwòk dekouple interfaces ki estab ak kondwit nan yon espas varyete ki ka sòti nan enstantane a nan yon aplikasyon pou yon anviwònman an patikilye k ap pase yon anilasyon kontwòl. Objè pòtè okazyon modifye prepare etap yo. Nan fen jounen an, lè yon okazyon rive, moun kap okipe a reponn estrateji zen an sou objè pre-enskri ki egzekite patikilye okazyon prepare aktivite yo. Ka nan okazyon: mesaj fenèt, offres ateri soti nan korespondans pò.

 

Anndan IAT Hooking

Devlopman lojisyèl - Ki sa ki se yon Hook - Point 4Each pwosesis nan fenèt gen yon tab ki rele Table Adrès Import (IAT), ki magazen endikasyon kapasite yo voye soti nan DLL yo nan chak pwosedi. Tablo sa a pepleman progressive ak adrès eleman DLL yo nan tan kouri.

Sèvi ak kapasite patikilye, nou ka fè tab IAT ki ekriti a, ke yo ta chanjan pou chanje adrès li pa yon adrès yon kapasite koutim, re-endike tab la kòm li-tou senpleman apre chanjman sa a. Nan pwen lè pwosedi a ap eseye rele kapasite a, adrès li vinn nan tablo IAT la, epi li se yon konsèy ki retounen. Kòm yo te chanje tab la IAT, se kapasite a koutim te pote moute nan kapasite nan premye ak kòd la enfuze nan pwosedi a se vinn.

 

Netfilter Hook

Devlopman lojisyèl - Ki sa ki se yon Hook - Point 5Netfilter se yon subsystem moso Linux plis notables pase 2.4. Li se an chaj nan pake separe, NAT, firewall, Reoryantasyon, nan mitan lòt moun. Netfilter se eksepsyonèlman ekstansib, ak dokiman li yo fini. Li kite chans pou itilize Hooks nan kòd Kernel la, ki fè itilizasyon li trè fleksib epi jeneralman resevwa pa gwoup la. Sa yo Hooks kite yon rezilta kèk akablan ak ka ranpli nan kòm deklannche pou okazyon espesyal.

 

Konklizyon:

Lojisyèl Devlopman - Ki sa ki se yon Hook - konklizyon Pwosedi pou pwograsyon yo efektif yo efikas epi ouvè yon dimansyon nan rezilta limajè pou enjenyè lojisyèl, sepandan li ta dwe itilize ak alèt paske yo gen ladan yon konplèks plis enpòtan nan kouran nan pwosedi ak chanje premye a kondwit nan eksplwatasyon eksplwatasyon yo, oswa lòt segments lojisyèl, ki fè li difisil yo konprann rezon ki fè nan lojisyèl. Lòt pase sa, jan yo espesifye anvan nan atik sa a, itilizasyon sistèm sa yo san paradigm ka debase ekzekisyon aplikasyon yo.

Kite yon Reply

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