Blog

9 Mar 2017

Pag-uswag sa Software: Unsa ang Usa ka Kawatan?

Pag-uswag sa Software: Unsa ang Usa ka Kawatan?

Angay Natong Mahibal-an Bahin sa Pipila ka Mga Uri sa Punit.

Unsa ang usa ka Hook?Sa pagpalambo sa software, ang Hooking usa ka ideya nga nagtugot sa pag-usab sa pagpahigayon sa usa ka programa. Ang posibilidad nga code nagtanyag kanimo sa pag-usab sa unang pagpahigayon sa usa ka butang nga wala mausab ang imong code sa pagtandi nga klase. Nahuman kini pinaagi sa pag-overwrite sa mga estratehiya sa kaw-it.

Kining matanga sa paggamit mapuslanon tungod sa pagdugang sa bag-ong mga gamit sa mga aplikasyon, dugang nga nagdasig sa mga sulat tali sa alternatibo nga mga pamaagi ug mga mensahe sa sistema. Ang mga kaw-it nga naggamit sa sistema sa pagputol pinaagi sa pagpalapad sa pag-andam sa luwan nga kinahanglan nga buhaton sa sistema alang sa matag mensahe. Kinahanglan kini ipaila kon gikinahanglan ug gipabakwit sa unang higayon.

Hunahunaa nga ikaw naggamit sa usa ka Customer Management System (CMS) gikan sa usa ka gawas ug tingali gusto nimo ang usa ka super executive nga pasidan-an pinaagi sa email sa matag higayon nga ang usa ka post gipang-apud-apod ug kini nga panggawi dili ang default sa device. Adunay usa ka magtiayon nga mga rota sa unahan:

Ang pag-usab sa source code sa CMS dili usa ka maayong panghunahuna, human sa tanan sa mosunod nga pag-refresh sa device nga imong atubangon ang kalisud sa pagkawala sa imong pagbag-o o wala ang kapasidad sa pagpadayon sa tanan nga napa-refresh;

  • Himoa ang imong kaugalingon nga partikular nga CMS usa ka lain nga makalilisang nga hunahuna, ang tanan nga mga butang nga giisip, wala ka igo nga kusog o mga butang nga igo aron sa paghimo sa bag-ong mga butang o bisan sa pagpadayon sa unsa ang pagtukod;
  • Susiha ang posibilidad nga magamit ang usa ka kaw-it, nga mao, susihon kung ang CMS nagatan-aw sa gawas nga mga modulo o mga modulo alang sa mga elemento sa usa ka gihalad nga ngalan nga ipatuman sa minahal nga minuto, alang niining kahimtang, ang pag-apod-apod sa mga bag-ong posts.
  • Ang sa ubos sa yuta nga bahin sa paggamit sa mga kaw-i nagbalhin-balhin sa kasagaran gikan sa himan ngadto sa instrumento. Ang prinsipyo nga paborable nga posisyon sa mga kaw-it dili ang pag-usab sa unang kodigo. Sa tanan nga maayo nga praktis nga mga manwal sa tanang mga himan nga bukas nga tinubdan nga adunay nagapadayon nga mga pag-usab ang mantra nga nag-usab-usab sa iyang kaugalingon wala mag-usab sa sentro. Bisan pa sa paghimo sa mga pagpa-refresh nga dili mahanduraw, bisan kinsa nga moabut sa ulahi aron magpraktis dili maghunahuna mahitungod sa pagbag-o, ug ang tawo nga dili kaayo maghisgot niini mao kamo, dili ang aparatiba.

Ang ekstensibilidad mao ang laing gipalabi nga panglantaw sa paggamit sa mga estratehiya sa kaw-it nga nagtugot sa aplikasyon sa pagdugang sa lig-on nga mga interface niini. Ang mga estratehiya sa pagkalunod makapakunhod sa lig-on nga mga interface ug pagpahigayon sa nagkalainlaing luna nga mahimo nga makita gikan sa instantiation sa usa ka aplikasyon alang sa usa ka piho nga kahimtang.

Inovative Technology Solutions nagtanyag sa Software Developement Training sa Gurgaon, Delhi NCR sa India.

Mga Kaunuran Ingong mga Pamatasan sa Disenyo

Makapainteres nga matikdan nga daghan (mga) laraw nga mga laraw naghulagway sa mga semantiko alang sa mga kaw-it. Naghisgot sila kon unsaon pagpatuman sa mga sub-system sa mga problema. Ang uban nagsalig sa lagda sa paglambo sa detatsment: Abstract, pabrika, Builder, Command, Interpreter, Observer, Prototype, State, ug Strategy.

Ang uban sa duha ka mga pananglitan sa pagpahiusa ug pag-uswag sa partisyon: Method Method ug Bridge.

Ang mga semantiko sagad nga gipahibalo sa ngalan nga teknik sa hook (pananglitan, sa Command, ang estratehiya gitawag nga execute ()).

Paagi sa Virtual nga Pag-uswag sa Pamaagi

Ang Software Development - Unsa ang mga pamaagi sa Hook-Point 1Virtual nga gidala sa usa ka dili mailhan nga ruta gikan sa estratehikong estratehiya, apan tungod kay ang mga pamaagi sa virtual nga paagi mahimong mausab, ang compiler wala mahibalo sa address sa usa ka partikular nga kapasidad sa virtual sa pagtawag niini sa imong code. Ang compiler, sa ingon, nag-assemble sa usa ka Virtual Method Table (VMT), nga naghatag usa ka paagi sa pagpangutana sa mga address sa kapasidad sa runtime. Ang matag usa nga virtual nga estratehiya gi-activate sa runtime pinaagi sa VMT. Ang VMT sa usa ka pangutana naglangkob sa tanan nga mga virtual nga estratehiya alang sa mga nag-una niini, ug dugang pa ang gipahayag niini. Busa, ang mga virtual nga mga pamaagi mogamit og labaw pa nga panumduman kay sa mga estratehiya sa elemento, bisan pa sa kamatuoran nga kini nagdagan nga mas madali.

Tungod kay ang VMT usa ka lamesa nga naglangkob sa mga taktika nga adunay mga address sa panumduman alang sa mga kapasidad sa interface, unsa ang angay buhaton mao ang pagpuli sa unang panumduman sa panumduman uban ang usa ka address sa usa ka lehitimong trabaho sa kaw-it. Uban niining mga linya, ang gitawag nga teknik mapuno pa, ug ang bag-ong gitinguha nga pagpahigayon sa kapasidad ipatuman.

Pagtan-aw sa API

Software Development - Unsa ang usa ka Hook-Point 2Ang Hooking API nga pamaagi tinuod nga nagtugot kanimo sa pag-usab sa mga elemento sa working system. Uban sa kahanas sa pagdakop sa ingon nga mga sumbong, mahimo nimo mausab ang ilang mga sumbanan pinaagi sa pag-usab sa kalihokan nga mahimo sa sinugdanan.

Pananglit, pananglitan, sa pag-undang sa pagkansela sa usa ka piho nga rekord, paghupot sa usa ka aplikasyon gikan sa pagdagan, ug paghangyo sa usa ka kliyente nga magpalig-on sa usa ka archive sa lingin, ug uban pa.

Sa pagkatinuod, ang labing dako nga desisyon anaa sa rehiyon sa seguridad, pananglitan, antivirus ug antispyware. Mahimong ingon niana, adunay mga sirkumstansya sa atong ordinaryo nga paglambo diin ang Hooking API, mahimo nga ang pangunang paagi.

Ang paghimo sa programming nga Pag-uyon, sa atong piho nga kahimtang, nagpasabot sa pagkuha sa usa ka API gikan sa OS, o gikan sa bisan unsang DLL, ug usbon ang iyang kasagarang pagpatay sa laing dapit, labi ka eksakto, ngadto sa laing kapasidad. Adunay duha ka mga pamaagi:

EAT and IAT: ang tanan nga EXE / DLL adunay API sa pag-import ug mga lamesa. Kini nga mga lamesa adunay mga igsusulat nga nagpakita sa API Entry Point. Pinaagi sa pag-usab sa mga pahimangno, nga nagpahibalo kanila sa atong callback, kita adunay usa ka kaw-it. Mahimong ingon nga kini mahimo, kung kini nga EXE / DLL wala mag-import sa API, kini nga estratehiya dili molihok;

Matulin nga Code Overwriting: Ingon sa giingon kaniadto, sa higayon nga kini mahunahunaan nga makadugang sa usa ka tawag sa atong callback sa pagsugod sa API code, kita mahimo nga "hook it", nga ang atong kapasidad modagan sa bisan unsang punto nga gitawag ang API. Mahimo nga ingon niini, adunay usa ka isyu: kung human sa pagdumala sa atong kodigo, gikinahanglan nga tawagan ang unang API, kita mahibalik sa atong callback, ug usa ka stack flood ang pagabuhaton. Usa ka kahikayan mao ang pag-ayo sa kaw-it nga adunay kapasidad sa pagtawag sa API, pagsulay pag-usab niini sa higayon nga kini ipatuman. Hinaut nga ingon niini, taliwala niining sentro nga yuta, pipila ka mga tawag sa API ang mahimo ug dili ipatuman ang atong callback;

Ang Inline nga Hook mao ang punto nga atong nakuha ang mga sumbanan sa panudlanan sa usa ka kapasidad, ug kita nagbaligya alang sa usa ka Jump, Push o Call alang sa atong kapasidad.

Gipresentar nga mabasa: Ang Windows working system dugang nga nagpasiugda sa hooking API. Kinahanglan mahibal-an kung giunsa ang Windows API hooking functions?

Pagdukiduki

Software Development - Unsa ang usa ka Hook-Point 3As hook nga mga teknik sa pag-decouple sa stable nga interface ug pagpahigayon sa usa ka nagkalainlain nga luna nga mahimong mogawas gikan sa instantiation sa usa ka aplikasyon alang sa usa ka partikular nga kahimtang mahitabo ang usa ka pagbag-o sa kontrol. Ang mga handler sa mga butang nga okasyon usbon ang pag-andam sa mga lakang. Sa katapusan sa adlaw, kung adunay usa ka higayon nga mahitabo, ang tigdumala motubag sa paghatag og mga estratehiya sa kaw-it sa mga gi-enroll nga mga butang nga nagpahigayon sa partikular nga okasyon nga nag-andam sa mga kalihokan. Mga kaso sa mga okasyon: mga mensahe sa bintana, mga binugkos nga mga landing gikan sa mga sulat sa sulat.

Sa sulod sa IAT Hooking

Software Development - Unsa ang usa ka Hook-Point 4Ang proseso sa Windows adunay usa ka lamesa nga gitawag Import Import Table (IAT), nga nagtipig sa mga pointers sa mga kapasidad nga gipadala sa DLLs sa matag pamaagi. Kini nga lamesa gipalapad sa populasyon sa mga address sa mga elemento sa DLLs sa run time.

Pinaagi sa paggamit sa partikular nga mga kapasidad, mahimo natong isulat ang IAT nga talaan, nga mahunahuna nga usbon ang iyang adres pinaagi sa usa ka address sa usa ka kostumbre nga kapasidad, gipasabut pag-usab ang lamesa nga basahon-human lamang kini nga pagbag-o. Sa punto kung ang pamaagi nagsulay sa pagtawag sa kapasidad, ang adres niini nakuha sa IAT nga lamesa, ug usa ka pointer ang ibalik. Samtang giusab ang lamesa sa IAT, ang custom nga kapasidad gidala sa unang kapasidad ug ang code nga gibutang sa pamaagi nakuha.

Netfilter Hook

Software Development - Unsa ang usa ka Hook - Point 5 Netfilter usa ka Linux piece subsystem nga mas makaiikag kaysa 2.4. Kini mao ang nagdumala sa pagbahin sa bugkos, NAT, firewall, redirection, ug uban pa. Ang netfilter hilabihan nga mapalapdan, ug ang dokumentasyon nahuman. Kini nagbilin sa kalagmitan sa paggamit sa mga Hooks sa Kernel code, nga ang paggamit niini hilabihan ka flexible ug kasagaran nga nadawat sa grupo. Kini nga mga Hooks nagbilin sa pipila ka mga panghunahuna nga mahitabo ug mahimong pun-on ingon nga mga hinungdan alang sa piho nga mga okasyon.

Panapos:

Pag-uswag sa Software - Unsa ang usa ka Hook - konklusyonAng epektibo nga mga pamaagi sa paghimo sa mga programa sa pagpaandar epektibo ug magbukas sa usa ka kasangkaran sa mga posibleng resulta alang sa mga software engineer, bisan pa kinahanglan kini gamiton uban sa alert tungod kay kini naglakip sa usa ka labaw nga prominenteng intricacy sa sapa sa mga pamaagi ug mag-usab sa una pagdumala sa OS, mga aplikasyon o uban pang mga software nga mga bahin, nga nagpalisud sa pagsabut sa rationale sa software. Gawas pa niana, ingon sa gitakda sa wala pa niini nga artikulo, ang paggamit niini nga mga sistema nga walay panig-ingnan mahimong makapaubos sa pagpatuman sa mga aplikasyon.

&bsp

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