Blog

9 Ti 2017

Software Development: Dab Tsi Yog Dab Tsi?

Software Development: Dab Tsi Yog Dab Tsi?

Peb Yuav Tsum Muaj Txog Ntau Yam Kev Sib Luv.

Qhov Hook yog dabtsi?Hauv kev txhim kho software, Hooking yog ib lub tswv yim uas tso cai rau kev hloov tus cwj pwm ntawm qhov kev zov me nyuam. Txoj cai tau muab koj hloov cov thawj coj ntawm yam tsis hloov koj cov cai ntawm cov sib piv hauv chav kawm. Qhov no tiav lawm los ntawm overwriting tus sib tsoo tswv yim.

Qhov kev pab no tsis tshua muaj txiaj ntsim zoo los ntawm kev sau cov kev ua haujlwm tshiab rau cov kev siv, ntxiv rau kev sib txuas lus ntawm cov txheej txheem thiab lwm cov txheej txheem. Hooks yuav txo qhov kev ua tiav los ntawm kev ua kom tiav cov khoom thauj uas lub cev yuav tsum tau ua rau txhua zaj lus. Nws yuav tsum tau nkag los yog thaum xav tau thiab khiav tawm ntawm lub sijhawm ntxov.

Pom hais tias koj siv cov Thawj Coj Kev Tswj (Customer Care System System) (CMS) los ntawm ib tus neeg sab nraud thiab koj yuav xav tau ib tug super thawj los ntawm kev xa email los ntawm txhua lub sij hawm lwm tus xa tawm thiab qhov kev ua no tsis yog lub neej ntawm lub cuab yeej. Yuav muaj ob peb txoj kev taug mus:

Hloov cov CMS source code tsis yog tus ntse xav, tom qab tag nrho cov nram qab no tshiab ntawm qhov cuab yeej koj yuav ntsib cov teeb meem ntawm kev poob koj qhov kev hloov lossis tsis muaj peev xwm mus ntxiv txhua yam kev txhawb zog;

  • Ua rau koj tus kheej CMS yog ib qho kev xav phem, txhua yam xam tau hais tias, koj tsis muaj lub zog txaus los yog cov khoom muaj nqis txaus tsim tshiab lossis tseem khaws cia li tsim dab tsi;
  • Tshawb nrhiav kev tsim ntawm kev sib tsoo, uas yog, xyuas seb lub CMS zoo li sab nrauv cov khoom los yog cov khoom siv rau cov ntsiab lus ntawm lub npe uas tau muab tua rau ntawm lub sij hawm craved, rau qhov teeb meem, qhov faib ntawm cov tshiab posts.
  • Qhov nqes mus rau lub ntiaj teb ib feem ntawm kev siv cov hooks hloov ua feem ntau los ntawm cov cuab yeej los ntsuas. Lub hauv paus ntsiab lus ntawm cov dej hooks tsis yog hloov cai thawj zaug. Nyob rau hauv tag nrho cov zoo siv phau ntawv ntawm tag nrho cov qhib qhov khoom siv uas tau sib tshuam tshiab lub mantra uas rehashes nws tus kheej tsis hloov lub chaw. Txawm li cas los ua qhov tsis zoo siab, txhua tus neeg uas los tom qab los ua haujlwm yuav tsis xav txog kev hloov, thiab tus neeg uas sib tham txog nws yog koj, tsis yog lub cuab yeej.

Lub extensibility yog ib qho zoo dua ntawm kev siv cov tswv yim sib txuas lus uas tso cai rau daim ntawv thov los txhawb nws txoj kev ruaj khov. Hook cov tswv yim decouple ruaj khov interfaces thiab kev cwj pwm ntawm ntau qhov chaw uas tuaj yeem tawm ntawm qhov instantiation ntawm daim ntawv thov rau ib qho chaw.

Lub Kws Txawj Ntse Technology muaj Software Development Training nyob rau hauv Gurgaon, Delhi NCR hauv Is Nrias teb.

Hooks Raws li Tsim Qauv

Nws yog qhov kev txaus siab kom paub tias ntau tus qauv (tag nrho) qauv qauv qhia qauv siv rau cov ntsiab lus tseem ceeb. Lawv tham txog yuav ua li cas rau kev ua cov sub-systems ntawm cov teeb meem. Qee tus neeg nyob ntawm seb txoj kev tswj hwm kev txhim kho hauv kev lag luam yog: Abstract, Factory, Builder, Command, Interpreter, Observer, Prototype, Xeev, thiab Tswvyim.

Lwm tus hauv ob qho piv txwv ntawm kev koom ua ke thiab kev faib kev faib tawm: Template Method thiab Bridge.

Semantics yog kev sib txuas lus nyob rau hauv kev sib txuas lub npe (piv txwv li, nyob rau hauv kev hais kom ua, lub tswv yim hu ua execute ()).

Tus txheej txheem ntawm txoj kev sib tham

Software Development - Txoj Kev Ntaus - Qhov Chaw 1Virtual yog coj los rau hauv txoj kev zoo li qub, tab sis txij li thaum cov tswv yim ua lag luam raug hloov, tus compiler tsis paub qhov chaw nyob ntawm ib lub peev xwm tshwj xeeb thaum koj hu nws hauv koj cov cai. Tus compiler, yog li, sib sau ua ke ntawm qhov Virtual Method Table (VMT), uas muab ib txoj kev los mus nug txog kev muaj peev xwm chaw nyob runtime. Txhua lub tswv yim ua lag luam yog qhib rau ntawm runtime los ntawm VMT. Lub VMT ntawm ib lo lus nug muaj tag nrho cov tswv yim virtual rau nws cov precursors, thiab ntxiv nrog cov nws tshaj tawm. Yog li ntawd, cov tswv yim siv virtual siv ntau lub cim xeeb tshaj lub tswv yim ntawm cov tswv yim, tis ntawm qhov tseeb tias lawv khiav ceev dua.

Vim VMT yog ib lub rooj uas muaj cov pointers nrog nco chaw nyob rau hauv daim ntawv thov kev pabcuam, yuav tsum ua licas yog ntxiv rau thawj lub chaw nyob nrog chaw nyob ntawm kev sib txuas lus ua haujlwm. Raws li cov kab no, cov txheej txheem hu ua yuav raug sau, thiab cov kev coj ua tshiab ntawm lub peev xwm yuav raug tua.

Ua kom raws API

Software Development - Txoj Kev Ntaus - Qhov Point 2The Haging API txoj cai yuav cia koj rov ua cov haujlwm ntawm kev ua haujlwm. Nrog kev muaj peev xwm mus ntes xws li cov nqi, koj tuaj yeem hloov lawv cov kev hloov los ntawm kev hloov cov kev ua ub no uas yuav pib ua ntej.

Nws yog conceivable, piv txwv li, rau ib daim tshem tawm ntawm ib cov ntaub ntawv, khaws ib daim ntawv thov los ntawm kev khiav, thiab xav tau ib tug neeg txais kev pom zoo kom tseg ib qho kev tshaj tawm rau lub voj voog, thiab lwm tus.

Tseeb, qhov loj tshaj kev txiav txim siab yog nyob rau hauv thaj tsam ntawm kev ruaj ntseg, piv txwv li, antivirus thiab antispyware. Yog tias nws muaj peev xwm, muaj qhov xwm txheej hauv peb qhov kev coj ua hauv qhov chaw uas Hooking API, tuaj yeem yog txoj kev loj tshaj.

Programming interface Huas, nyob rau hauv peb qhov teeb meem, implies tau txais ib qho API los ntawm OS, los yog los ntawm txhua qhov DLL, thiab hloov nws raug tua mus rau lwm thaj chaw, tag nrho cov ntau raws nraim, mus rau lwm lub peev xwm. Nws muaj ob txoj kev qhia:

EAT thiab IAT: tag nrho cov EXE / DLL muaj API rau import thiab fare tables. Cov ntawv teev lus no muaj cov pointers uas qhia txog API Entry Point. Thaum hloov cov pointers, ua rau lawv pom tias peb rov qab rov qab, peb muaj ib txoj hlua. Ua li ntawd, nws yog, yog tias qhov kev ua EXE / DLL tsis hloov API, qhov no yuav tsis ua haujlwm;

Txoj Cai Ncaj Ncees Xwb: Raws li hais ua ntej, yog tias ua ntej tau hais tias nws tau hu xov tooj ntxiv rau peb rov qab tuaj rau ntawm qib pib, peb yuav "sib txuas lus", ua rau peb muaj peev xwm khiav ntawm qhov taw tes rau qhov API. Ua li ntawd, nws muaj qhov teeb meem: yog tias tom qab peb tau saib xyuas cov cai, peb yuav tsum tau hu tus thawj API, peb yuav rov qab los rau peb rov qab, thiab yuav tsim dej nyab. Ib qho kev txhim kho yog qhov txhawm rau txhim kho qhov muaj peev xwm hu lub API, rov sim ua nws thaum nws tseg. Yog tias nws ua tau, qhov no hauv qhov chaw hauv av, muaj ntau lub API hu ua thiab yuav tsis ua rau peb hu rov qab;

Inline Hook yog lub ntsiab lus uas peb tau txais cov txheej txheem tseem ceeb ntawm ib lub peev xwm, thiab peb ua lag luam rau Ib Khiav, Push lossis Hu rau peb lub peev xwm.

Tshaj Tawm: Tshawb fawb ua hauj lwm ntxiv nrog rau hauv qab API. Peb yuav tsum paub tias qhov API API hooking li cas?

Ua Huag

Software Development - Qhov Kev Ntaus Nqi - Ntaus Point 3As nias cov tswv yim decouple ruaj khov ua ke thiab kev cwj pwm ntawm ntau qhov chaw uas tuaj yeem tawm ntawm qhov kev thov rau ib qho chaw zoo li qhov kev hloov ntawm kev tswj. Cov khoom ntees ua haujlwm hloov cov kauj ruam. Thaum xaus rau hnub ntawd, thaum lub sijhawm muaj li ntawd, cov neeg ua haujlwm teb cov lus sib txuas ntawm cov khoom ua ntej rau npe uas ua rau lub sijhawm npaj kev ua si. Cov sij hawm ntawm lub sij hawm: cov lus qhib qhov rai, bundles yuav tsaws los ntawm kev sib txuas lus.

Sab hauv IAT Hooking

Software Development - Txoj Kev Ntaus - Qhov Chaw 4Each txheej txheem hauv qhov rais muaj ib lub rooj hu ua Import Address Table (IAT), uas khaws cov pointers rau daim ntawv xa tawm los ntawm DLLs ntawm txhua txoj haujlwm. Lub rooj ntawv no muaj qhov qhia txog cov ntsiab lus ntawm DLLs thaum khiav mus los.

Kev siv lub peev txheej, peb tuaj yeem ua tau IAT cov lus sau, ua qhov hloov tau qhov chaw nyob los ntawm qhov chaw nyob ntawm tus neeg muaj peev xwm, rov ua dua lub rooj raws li tau nyeem-tsuas yog tom qab qhov kev hloov no. Nyob rau ntawm qhov chaw thaum tus txheej txheem sim hu lub peev xwm, nws qhov chaw nyob hauv IAT lub rooj, thiab tus pointer xa rov qab. Raws li cov IAT rooj tau hloov lawm, qhov kev muaj peev xwm raug coj tuaj rau ntawm thawj lub peev xwm thiab cov cai uas tau muab tso rau hauv txoj kev ua tiav.

Netfilter sib ntsib

Software Development - Qhov Hook - Qhov Point 5Netfilter yog ib qho tseem ceeb ntawm Linux daim ntawv subsystem dua 2.4. Nws yog lub luag hauj lwm ntawm nrav cais, NAT, firewall, redirection, thiab lwm tus. Netfilter yog kev siv qis dua, thiab nws cov ntaub ntawv tiav lawm. Nws yoojyim ntawm kev siv Hooks hauv cov ntsiav tshuaj, ua rau nws siv tsis yoojyim thiab feem ntau tau txais los ntawm pawg. Cov Hooks no tawm ob peb cov txiaj ntsim tau tshwm sim thiab tuaj yeem ua rau kom ua tau rau qee zaus.

xaus:

Software Development - Lub Hook - Lub Hoob Hwv - Cov txheej txheem ntawm cov txheej txheem huav tau zoo thiab qhib tau cov ntsiab lus ntawm cov kws tshawb txuj ci software, tiam sis nws yuav tsum tau siv nrog kev ceeb toom vim lawv muaj ntau yam zoo rau hauv cov dej ntawm cov txheej txheem thiab hloov thawj kev ua haujlwm ntawm OS, kev siv lossis lwm cov software ntu, ua rau nws nyuaj rau kev nkag siab txog kev ua software. Lwm yam tshaj li, raws li tau teev tseg ua ntej hauv tsab xov xwm no, kev siv cov tshuab no tsis muaj kev txiav txim siab yuav thim qhov kev siv ntawm kev siv.

&bsp

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