блог

9 март 2017

Развој на софтвер: Што е кука?

Развој на софтвер: Што е кука?

Треба да знаеме за неколку типови куки.

Што е кука?Во развојот на софтверот, Hooking е идеја која дозволува менување на однесувањето на програмата. Можноста кодот ви нуди да го промените првото однесување на нешто без да го промените кодот од класата споредувајќи. Ова е завршено со презапишување на стратегиите за јадица.

Овој вид на употреба е исклучително корисен за додавање на нови функционалности на апликациите, дополнително поттикнување на кореспонденцијата помеѓу алтернативните процедури и пораките на системот. Куките имаат тенденција да го намалат извршувањето на системот со проширување на подготвениот товар што системот треба да го изврши за секоја порака. Треба да се воведе само кога тоа е потребно и евакуирано во најраната можност.

Замислете дека користите аутсајдерски систем за управување со клиенти (CMS) и можеби ќе сакате супер извршната власт да се предупреди преку е-пошта секој пат кога ќе се дистрибуира друг пост и дека ова однесување не е стандардно на уредот. Ќе има неколку правци напред:

Промена на изворен код на CMS не е паметна мисла, и после сè во следново освежување на уредот ќе се соочите со тежината на губење на вашата промена или немате капацитет да продолжите со сето освежување;

  • Направете свој посебен CMS е уште една страшна мисла, сите работи што се сметаат, немате доволно енергија или средства доволно за да направите нови работи или дури да продолжите со тоа што да фабрикувате;
  • Истражувајте ја веројатноста за искористување на јадицата, односно проверете дали CMS изгледа во надворешни модули или модули за елементите на понуденото име што треба да се извршат во посакуваната минута, за оваа ситуација, дистрибуцијата на нови мислења.
  • Долниот дел на земјата дел од искористување куки варира генерално од уред до инструмент. Принципот поволна позиција на куки не е да се промени првиот код. Во сите одлични практични прирачници на сите уреди со отворен код кои имаат наизменично ажурирање на мантрата која се реализира, не го менува центарот. Без оглед на тоа да се освежи незамисливо, секој поединец кој доаѓа подоцна да врши одржување нема да размислува за промената, а оној што едвај разговара за тоа е вие, а не апаратот.

Продливоста е уште еден склопот на гледиште за користење на стратегии за кука кои дозволуваат апликацијата да ги зголеми своите стабилни интерфејси. Кука стратегии одвојуваат стабилни интерфејси и однесување на различни простор кој може да се појави од инстанција на апликација за одредена поставка.

Иновативни технолошки решенија нуди обука за развој на софтвер во Гургаон, Делхи NCR во Индија.

Куки како дизајни шаблони

Интригативно е да се забележи дека бројните (сите) прегледни дизајни се пример за семантика за куките. Тие зборуваат за тоа како да ги извршуваат подсистемите на проблематичните области. Некои зависат од правилото за развој на одделот: апстракт, фабрика, градител, команда, преведувач, набљудувач, прототип, држава и стратегија.

Други во двата примери на развој на обединување и поделба: Метод на шаблонот и мост.

Семантиката вообичаено се пренесува во името на техниката на куката (на пример, во командата, стратегијата се нарекува извршување ()).

Виртуелна методна табела

Развој на софтвер - Што е кука - точка 1Виртуелните техники се доведени во нераскинлив пат од статични стратегии, но бидејќи виртуелните техники можат да се променат, компајлерот не ја знае адресата на одреден виртуелен капацитет кога ја повикувате во вашиот код. На тој начин, компајлерот составува Виртуелна методна табела (VMT), која дава начин за испитување на адресите на капацитет за време на траење. Секоја виртуелна стратегија се активира за време на извршувањето преку VMT. VMT на прашањето ги содржи сите виртуелни стратегии за своите претходници, а дополнително оние што ги објавува. Затоа, виртуелните техники користат повеќе меморија отколку елементи на елементи, и покрај фактот што тие работат побрзо.

Бидејќи VMT е табела која ги содржи упатствата со мемориски адреси за капацитетите на интерфејсот, што треба да се направи е да се замени првата мемориска адреса со адреса на легитимна работа на куката. Заедно со овие линии, повиканата техника ќе биде препишана, а новото посакувано однесување на капацитетот ќе биде извршено.

Ангажирање API

Развој на софтвер - Што е Hook-Point 2Процесот на ангажирање API навистина ви овозможува да ги откриеме елементите на работниот систем. Со можност за снимање такви трошоци, можете да ги промените нивните параметри со промена на активноста што ќе се изврши на почетокот.

Можно е, на пример, да се укине одредена евиденција, да се задржи апликацијата да работи и да побара афирмација на клиентот за да ја поштеди архивата до кругот, и така натаму.

Навистина, најголемо намалување на одлуката е во регионот на безбедноста, на пример, антивирус и антиспајвер. Бидете како што може, постојат околности во нашиот обичен развој, каде што Hooking API, може да биде главниот излез.

Интерфејс за програмирање Hooking, во нашите специфични околности, подразбира добивање API од оперативниот систем, или од било кој DLL, и го менува својот типично извршување на некаде на друго место, поточно, на друг капацитет. Во суштина има два пристапа:

EAT и IAT: сите EXE / DLL содржи API за увоз и табели со тарифи. Овие табели содржат покажувачи кои ја покажуваат Влезна точка на API. Со менување на овие совети, со што ги означуваат нашите повратен повик, имаме кука. Биде онака како што може, ако оваа EXE / DLL не увезува API, оваа стратегија нема да работи;

Директно пребришување на кодот: Како што претходно беше кажано, во случај кога беше разбирливо да се додаде повик кон нашиот обратен повик кон почетокот на кодот API, би можеле да го "закачиме", правејќи го нашиот капацитет да работи на која било точка на API-то. Биди како што може, има проблем: ако по обработката на нашиот код, требаше да го повикаме првиот API, ќе се вратиме на нашиот повратен повик и ќе се создаде поплави од стек. Еден аранжман ја фиксира куката за да има капацитет да го повика API, повторно обидувајќи се кога ќе се изврши. Бидете како што е можно, во средината на овој центар, може да се направат неколку API повици и да не се изврши нашиот повратен повик;

Inline Hook е точка во која ги добиваме основните упатства за капацитет, а ние тргуваме со скок, притисок или повик за нашиот капацитет.

Пропишано читање: Системот за работа со Windows дополнително го поткрепува API-от. Треба да знаеме како функционираат Windows API-функциите за фаќање?

Повод Hooking

Развој на софтвер - Што е кука-точка 3As кука техники одвојуваат стабилни интерфејси и однесување на различни простор кој може да се појави од инстанција на апликација за одредена поставка се случува пресврт на контрола. Обработувачите на облици на објекти ги менуваат подготовките за чекори. На крајот на денот, кога се случува некоја пригода, управувачот одговара на зашеметувачките стратегии за куките на претходно запишани објекти кои извршуваат конкретни пригоди за подготовка на активности. Случаи на прилики: прозорец пораки, пакети слетување од кореспондентни пристаништа.

Внатре во IAT Hooking

Развој на софтвер - Што е кука - Точка 4Во секој процес во Windows има табела наречена Табела за увезување адреси (IAT), која ги зачувува покажувачите до капацитетите испратени од страна на DLL-от од секоја постапка. Оваа табела постепено се населува со адреса на елементите на DLL-те во време на извршување.

Користејќи одредени капацитети, можеме да ја направиме ИАТ табелата запишана, бидејќи може да се смени нејзината адреса со адреса на сопствен капацитет, повторно да се означи табелата како едноставно прочитана по оваа промена. Во моментот кога постапката се обидува да го повика капацитетот, нејзината адреса е добиена во табелата на IAT и се враќа покажувачот. Како што се менува табелата на IAT, се создава сопствен капацитет на првиот капацитет, а кодот добиен во постапката е добиен.

Netfilter Кука

Развој на софтвер - Што е кука - точка 5Netfilter е Линукс парче потсистем повеќе значајни од 2.4. Тој е задолжен за одвојување на пакети, NAT, заштитен ѕид, пренасочување, меѓу другите. Netfilter е исклучително проширен и неговата документација е завршена. Таа ја остава веројатноста за користење на куки во кодот на јадрото, што го прави неговото користење исклучително флексибилно и генерално прифатено од групата. Овие куки оставаат неколку можни исходи и може да ги пополнат како предизвикувачи за одредени прилики.

Заклучок:

Развој на софтвер - Што е заклучок - заклучокПроцесот на програмирање е ефикасен и отвора обем на можни резултати за софтверските инженери, но треба да се користи со предупредување, бидејќи тие вклучуваат поизразена сложеност во текот на процедурите и промена на првите спроведување на оперативниот систем, апликации или други сегменти од софтверот, поради што е тешко да се разбере причината на софтверот. Освен тоа, како што е предвидено во овој член, користењето на овие системи без парадигма може да го деактивира извршувањето на апликациите.

&bsp

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