బ్లాగు

9 Mar 2017

సాఫ్ట్వేర్ డెవలప్మెంట్: హుక్ అంటే ఏమిటి?

సాఫ్ట్వేర్ డెవలప్మెంట్: హుక్ అంటే ఏమిటి?

మేము హుక్ యొక్క కొన్ని రకాలు గురించి తెలుసుకోవాలి.

హుక్ అంటే ఏమిటి?సాఫ్ట్వేర్ అభివృద్ధిలో, హుయింగ్ ఒక కార్యక్రమం యొక్క ప్రవర్తనను మార్చడానికి అనుమతించే ఒక ఆలోచన. పోల్చదగిన తరగతి యొక్క మీ కోడ్ని మార్చకుండానే ఏదో ఒక ప్రవర్తనను మార్చడానికి అవకాశం కోడ్ మీకు అందిస్తుంది. ఇది హుక్ స్ట్రాటజీలను తిరిగి రాయటం ద్వారా ముగిసింది.

ఈ విధమైన ఉపయోగం అనువర్తనాలకు కొత్త కార్యాచరణలను జోడించడంలో చాలా ఉపయోగకరంగా ఉంటుంది, అదనంగా వ్యవస్థ యొక్క ప్రత్యామ్నాయ విధానాలు మరియు సందేశాల మధ్య సంబంధాలను ప్రోత్సహిస్తుంది. హూక్స్ సిస్టమ్ ప్రతి కార్యనిర్వహణ కోసం నిర్వహించాల్సిన సిద్ధం లోడ్ విస్తరించడం ద్వారా సిస్టమ్ అమలును తగ్గిస్తుంది. అవసరమైనప్పుడు అవసరమైనప్పుడు మరియు ప్రారంభ అవకాశంలో ఇది ఖాళీ చేయబడాలి.

మీరు బయటి నుండి ఒక కస్టమర్ మేనేజ్మెంట్ సిస్టం (CMS) ను ఉపయోగిస్తున్నారని ఊహించుకొని, ప్రతి పోస్ట్ పంపిణీ చేయబడిన ప్రతిసారీ ఇమెయిల్ ద్వారా ఒక సూపర్ ఎగ్జిక్యూటివ్ హెచ్చరిస్తుంది మరియు ఈ ప్రవర్తన పరికరం యొక్క డిఫాల్ట్ కాదని మీరు అనుకోవచ్చు. రెండు మార్గాలను ముందుకు తీసుకెళ్లవచ్చు:

CMS సోర్స్ కోడ్ మార్చండి స్మార్ట్ ఆలోచన కాదు, అన్ని తరువాత మీరు మీ మార్పు కోల్పోయే కష్టం ఎదుర్కొనే పరికరం యొక్క రిఫ్రెష్ లేదా ప్రతిదీ రిఫ్రెష్ కొనసాగించడానికి సామర్థ్యం కలిగి ఉంటుంది;

  • మీ స్వంత ప్రత్యేకమైన CMS మరొక భయంకరమైన ఆలోచనగా ఉంది, అన్ని విషయాలను పరిగణలోకి తీసుకుంటే, కొత్త విషయాలను సంపాదించడానికి మీకు తగినంత శక్తి లేదా ఆస్తులు లేవు లేదా ఏమి కల్పించాలో కూడా ఉంచండి;
  • ఈ పరిస్థితికి, క్రొత్త పోస్ట్ల పంపిణీకి, CraM నిమిత్తం అమలు చేయబడే పేరు యొక్క మూలకాల కోసం CMS మాడ్యూల్స్ లేదా మాడ్యూల్స్ వెలుపల ఉన్నట్లయితే, ఒక హుక్ను ఉపయోగించడం యొక్క సంభావ్యతను అన్వేషించండి.
  • హుక్స్లను ఉపయోగించడం యొక్క భూభాగానికి దిగువకు పరికరం నుండి పరికరం వరకు సాధారణంగా మారవచ్చు. హుక్స్ సూత్రం అనుకూలమైన స్థానం మొదటి కోడ్ను మార్చడం కాదు. అంతరంగిక నవీకరణలను కలిగి ఉన్న అన్ని ఓపెన్ సోర్స్ పరికరాల అన్ని గొప్ప అభ్యాసం మాన్యువల్లలో, మంత్రాన్ని స్వయంగా పునరుద్ధరించే కేంద్రం మారదు. రిఫ్రెషేస్ అనూహ్యమైనదిగా చేసినా, ఏది వ్యక్తి తరువాత ఆదరించుకోవాలనుకుంటాడు, మార్పు గురించి ఆలోచించరు, మరియు అది తక్కువగా వ్యవహరిస్తున్న వ్యక్తి మీరు కాదు, ఉపకరణం కాదు.

అప్లికేషన్ యొక్క స్థిరమైన ఇంటర్ఫేస్లను పెంపొందించడానికి అనువర్తనాన్ని అనుమతించే హుక్ స్ట్రాటజీలను ఉపయోగించుకునే మరొక ప్రాధాన్యత స్థానంగా విస్తరణ ఉంది. హుక్ స్ట్రాటజీస్ స్థిరమైన ఇంటర్ఫేస్లను మరియు నిర్దిష్ట ప్రదేశంలో ఒక అప్లికేషన్ యొక్క ఇన్స్టారియేషన్ నుండి ఉద్భవించే వివిధ స్థలాల ప్రవర్తనను డీక్యూబుల్ చేస్తుంది.

ఇన్నోవేటివ్ టెక్నాలజీ సొల్యూషన్స్ భారతదేశంలో ఢిల్లీ NCR లో గుర్గావ్లో సాఫ్ట్వేర్ డెవలప్మెంట్ ట్రైనింగ్ని అందిస్తుంది.

డిజైన్ పద్ధతులుగా హుక్స్

హుక్స్ కోసం అనేక (అన్ని) అవుట్లైన్ నమూనాలు సెమాంటిక్స్ను ఉదహరించడం గమనించదగ్గ విషయం. వారు సమస్య ప్రాంతాల యొక్క సబ్-సిస్టమ్స్ను ఎలా నిర్వహించాలో మాట్లాడతారు. కొందరు నిర్లిప్తత అభివృద్ధి పాలనపై ఆధారపడి: వియుక్త, ఫ్యాక్టరీ, బిల్డర్, కమాండ్, ఇంటర్ప్రెటర్, అబ్జర్వర్, ప్రోటోటైప్, స్టేట్, అండ్ స్ట్రాటజీ.

ఏకీకరణ మరియు విభజన అభివృద్ధి రెండు ఉదాహరణలు: మూస విధానం మరియు బ్రిడ్జ్.

సెమాంటిక్స్ సాధారణంగా హుక్ టెక్నిక్ పేరులో తెలియజేయబడుతుంది (ఉదాహరణకు, కమాండ్లో, వ్యూహం అమలు అంటారు ()).

వర్చువల్ మెథడ్ టేబుల్ హుయింగ్

సాఫ్ట్వేర్ డెవలప్మెంట్ - హుక్ - పాయింట్ 1 వర్చ్యువల్ టెక్నిక్లను స్టాటిక్ వ్యూహాల నుండి గుర్తించలేని మార్గంలో తీసుకువచ్చారు, అయితే వర్చ్యువల్ మెళుకువలను మార్చడం వలన, మీరు మీ కోడ్లో కాల్ చేసేటప్పుడు కంపైలర్ నిర్దిష్ట వర్చువల్ సామర్ధ్యం యొక్క చిరునామాను తెలియదు. కంపైలర్, అందువలన వర్చువల్ మెథడ్ టేబుల్ (VMT) ను ఏర్పరుస్తుంది, ఇది రన్టైమ్లో సామర్ధ్య చిరునామాలకు విచారణకు దారి తీస్తుంది. ప్రతి వర్చువల్ వ్యూహం VMT ద్వారా రన్టైమ్లో యాక్టివేట్ చేయబడుతుంది. ఒక ప్రశ్న యొక్క VMT దాని పూర్వీకుల కోసం అన్ని వర్చువల్ వ్యూహాలను కలిగి ఉంది మరియు అదనంగా అది ప్రకటిస్తున్నది. అందువల్ల, వర్చ్యువల్ మెళుకువలు వారు వేగవంతమైన రన్ అయినప్పటికీ, మూలకాల వ్యూహాల కంటే ఎక్కువ జ్ఞాపకాలను ఉపయోగించుకుంటాయి.

VMT అనునది ఇంటర్ఫేస్ సామర్ధ్యములకు మెమొరీ చిరునామాలతో వున్న పాయింటర్లను కలిగి ఉన్నందున, మొట్టమొదటి మెమొరీ అడ్రసును చట్టబద్ధమైన హుక్ వర్క్ చిరునామాతో భర్తీ చేయుటకు ఏది చేయాలి. ఈ పంక్తులు పాటు, అని పిలుస్తారు టెక్నిక్ భర్తీ చేస్తుంది, మరియు సామర్థ్యం యొక్క కొత్త గౌరవనీయమైన ప్రవర్తన అమలు అవుతుంది.

Hooking API

సాఫ్ట్వేర్ డెవలప్మెంట్ - హుక్ - పాయింట్ 2The హుఇంగ్ API విధానం ఏమిటంటే నిజంగా మీరు పని వ్యవస్థ యొక్క అంశాలని ఆవిష్కరించడానికి అనుమతిస్తుంది. ఇటువంటి ఆరోపణలను సంగ్రహించే సామర్థ్యంతో, ప్రారంభంలో ప్రదర్శించబడే కార్యాచరణను మార్చడం ద్వారా వారి పారామితులను మార్చవచ్చు.

ఉదాహరణకు, ఒక నిర్దిష్ట రికార్డును రద్దు చేయటానికి, అమలు నుండి ఒక అప్లికేషన్ను ఉంచడానికి, మరియు ఒక ఆర్కైవ్ను వృత్తం, మరియు సెటేరాకు విడిచిపెట్టడానికి క్లయింట్ అంగీకారాన్ని డిమాండ్ చేస్తాయి.

నిజానికి, నిర్ణయం యొక్క గొప్ప కట్ భద్రతా ప్రాంతంలో ఉంది, ఉదాహరణకు, యాంటీవైరస్ మరియు యాంటీస్పైవేర్. ఇది మాదిరిగా, హుబింగ్ API, మా ప్రధాన అభివృద్ధిలో పరిస్థితులు ఉన్నాయి ప్రధాన మార్గం.

ప్రోగ్రామింగ్ ఇంటర్ఫేస్ హ్యూజింగ్, మా నిర్దిష్ట పరిస్థితిలో, OS నుండి ఒక API ను పొందడం లేదా ఏ DLL నుండి తీసుకోవడం మరియు ఇంకొక చోటికి దాని యొక్క విలక్షణమైన అమలును మార్చడం, సరిగ్గా మరొక సామర్థ్యానికి మార్చడం. ప్రాథమికంగా రెండు విధానాలు ఉన్నాయి:

EAT మరియు IAT: అన్ని EXE / DLL దిగుమతి మరియు పట్టికలు ఛార్జీల API కలిగి. ఈ పట్టికలు API ఎంట్రీ పాయింట్ చూపించే గమనికలు కలిగి. ఈ పాయింటర్లను మార్చడం ద్వారా, మా బ్యాక్ ను సూచిస్తున్నట్లుగా, మనకు హుక్ ఉంది. ఈ EXE / DLL API లను దిగుమతి చేయకపోతే, ఈ వ్యూహం పనిచేయదు;

సూటిగా కోడ్ ఓవర్రైటింగ్: ముందుగా చెప్పినట్లుగా, అది API కోడ్ ప్రారంభంలో మా బ్యాక్కు కాల్ చేయడానికి గర్వించదగిన సందర్భంలో, మేము దానిని "హుక్" చేయగలము, మా సామర్ధ్యం ఎపిసోడ్ అని పిలువబడిన ఏ పాయింట్ వద్దనైనా మన సామర్ధ్యం రన్ అవుతుంది. అది మాదిరిగానే, ఒక సమస్య ఉంది: మా కోడ్ నిర్వహించిన తరువాత, మేము మొదటి API కి కాల్ చేయాల్సి వస్తే, మేము తిరిగి వెనక్కి తిరిగి వస్తాము మరియు స్టాక్ వరద సృష్టించబడుతుంది. ఒక అమరిక API ను కాల్ చేయగల సామర్థ్యాన్ని కలిగి ఉన్న హుక్ను పరిష్కరించుకుంటుంది, ఇది అమలు చేసిన తర్వాత మళ్ళీ ప్రయత్నిస్తుంది. ఈ సెంటర్ మైదానంలో మధ్యలో, కొన్ని API కాల్స్ చేయబడవచ్చు మరియు మా బ్యాక్బ్యాక్ని అమలు చేయలేవు;

ఇన్లైన్ హుక్ మేము సామర్ధ్యం యొక్క ప్రధాన మార్గదర్శకాలను పొందుతున్న పాయింట్, మరియు మేము ఒక జంప్, పుష్ లేదా మా సామర్థ్యం కోసం కాల్ కోసం వ్యాపారం చేస్తాము.

సూచించిన పఠనం: విండోస్ వర్కింగ్ సిస్టం అదనంగా hooking API కు అండర్పిన్. మేము విండోస్ API హుంగ్ ఫంక్షన్లను ఎలా తెలుసుకోవాలి?

సందర్భంగా హుఇంగ్

సాఫ్ట్వేర్ డెవలప్మెంట్ - ఒక హుక్ - పాయింట్ 3As హుక్ టెక్నిక్స్ డ్యూయబుల్ స్టెబుల్ ఇంటర్ఫేసెస్ మరియు ఒక నిర్దిష్ట అమరిక కోసం అప్లికేషన్ యొక్క ఇన్స్టాన్టియేషన్ నుండి ఉద్భవించే వివిధ స్థలాల యొక్క ప్రవర్తన అంటే నియంత్రణ వెనుకబడిపోతుంది. వస్తువులు సందర్భంగా నిర్వహించేవారు దశలను సిద్ధం చేస్తారు. రోజు చివరిలో, ఒక సందర్భం జరిగితే, హ్యాండ్లర్ ప్రత్యేక కార్యక్రమాలను సిద్ధం చేసే ముందుగా-నమోదు చేయబడిన వస్తువులపై హుక్ స్ట్రాటజీలను ప్రకాశిస్తుంది. సందర్భాలలో సందర్భాల్లో: విండో సందేశాలు, అనుసంధాన పోర్టుల నుంచి లాంగిపోతున్న ఏకం.

IAT Hooking లోపల

సాఫ్ట్వేర్ డెవలప్మెంట్ - Windows లో ఒక హుక్ - పాయింట్ 4 ప్రక్రియ అంటే ఏమిటి, ప్రతి విధానం యొక్క DLLs ద్వారా పంపిన సామర్థ్యాలకు గమనికలను నిల్వ చేసే దిగుమతి అడ్రస్ టేబుల్ (IAT) అనే పట్టిక ఉంది. ఈ పట్టిక రన్ సమయంలో DLLs అంశాల చిరునామాతో క్రమక్రమంగా జనాభా ఉంది.

ప్రత్యేక సామర్థ్యాలను ఉపయోగించడం ద్వారా, IAT టేబుల్ ను రాయగలిగేలా చేయవచ్చు, దాని చిరునామాను మార్చగల సామర్థ్యం, ​​ఒక కస్టమ్ సామర్థ్యం యొక్క చిరునామాతో, ఈ మార్పు తర్వాత చదివే రీతిలో పట్టికను మళ్లీ సూచిస్తుంది. ఈ ప్రక్రియను సామర్థ్యం కాల్ చేయటానికి ప్రయత్నించినప్పుడు, దాని చిరునామా IAT పట్టికలో లభిస్తుంది, మరియు పాయింటర్ తిరిగి వస్తుంది. IAT పట్టిక మార్చబడినందున, సామర్ధ్యం అనేది మొదటి సామర్ధ్యంతో ఏర్పాటు చేయబడుతుంది మరియు ప్రక్రియలో చేర్చబడిన కోడ్ సంపాదించబడుతుంది.

నెట్ఫిల్టర్ హుక్

సాఫ్ట్వేర్ డెవలప్మెంట్ - హుక్ - పాయింట్ 5Netfilter అంటే ఏమిటి? 2.4 కన్నా ఎక్కువ ముఖ్యమైనది లైనక్స్ పావు ఉపవ్యవస్థ. ఇది బండిల్ వేరుచేస్తున్నది, NAT, ఫైర్వాల్, మళ్లింపు, ఇతరులలో. నెట్ఫిల్టర్ అనూహ్యంగా విస్తరించదగినది, మరియు దాని డాక్యుమెంటేషన్ పూర్తి అవుతుంది. ఇది కెర్నెల్ కోడ్లో హుక్స్ను ఉపయోగించుకునే అవకాశాన్ని కోల్పోతుంది, దీని వినియోగం చాలా సరళమైనది మరియు సాధారణంగా సమూహం ద్వారా పొందబడుతుంది. ఈ హుక్స్ కొన్ని గర్వించదగిన ఫలితాలను విడిచిపెట్టి, నిర్దిష్ట సందర్భాల్లో ట్రిగ్గర్స్గా నింపవచ్చు.

ముగింపు:

సాఫ్ట్వేర్ డెవలప్మెంట్ - హుక్ - ముగింపు ఏమిటంటే హుయింగ్ ప్రోగ్రామింగ్ విధానాలు ప్రభావవంతంగా ఉంటాయి మరియు సాఫ్ట్ వేర్ ఇంజనీర్ల కోసం గర్వించదగిన ఫలితాల పరిధిని తెరుస్తాయి, అయినప్పటికీ అది ప్రక్రియల ప్రవాహంలో ప్రముఖమైన ప్రవృత్తిని కలిగి ఉండటం మరియు మొదటి మార్పును మార్చడం వలన ఇది హెచ్చరికతో ఉపయోగించబడుతుంది OS, అప్లికేషన్లు లేదా ఇతర సాఫ్ట్వేర్ విభాగాల యొక్క ప్రవర్తన, ఇది సాఫ్ట్వేర్ యొక్క సూత్రాన్ని అర్థం చేసుకోవడానికి కష్టతరం చేస్తుంది. ఈ వ్యాసంలో పేర్కొన్నట్లుగానే కాకుండా, ఈ వ్యవస్థల ఉపమానం లేకుండా అప్లికేషన్లు అమలు చేయకపోవచ్చు.

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