Blog

9 Mar 2017

Kamekaran software: Naon Dupi A Hook?

/
dipasang Ku

Kamekaran software: Naon Dupi A Hook?

Urang kedah Apal Ngeunaan Sababaraha tipe Hook.

Naon téh Hook?Dina ngembangkeun software, Hooking mangrupa gagasan yén idin ngarobah ngalaksanakeun program a. Kodeu kamungkinan nawarkeun anjeun ngarobah ngalaksanakeun mimiti hal tanpa ngarobah sandi anjeun tina kelas ngabandingkeun. Ieu rengse ku overwriting nu strategi hook.

diurutkeun ieu pamakéan pisan mantuan dina akun of nambahkeun fungsi anyar pikeun aplikasi, Sajaba encouraging hubungan antara prosedur alternatif na seratan sistim éta. Uli condong palaksanaan sistem réduksi ku ngembangna beban Nyiapkeun yén sistem perlu nedunan pikeun tiap pesen. Ieu halah jadi diwanohkeun ngan lamun diperlukeun tur ngungsi di kasempetan pangheubeulna.

Envision yén anjeun ngamangpaatkeun hiji Manajemén Palanggan System (CMS) ti hiji urang luar jeung anjeun bisa hayang hiji eksekutif super bisa cautioned ku email unggal waktos pos sejen ieu disebarkeun sarta yén ngalaksanakeun ieu teu nu standar alat. Aya bakal janten ruteu sababaraha maju:

Ngarobah kodeu sumber CMS sanes a pamikiran pinter, sanggeus kabeh di Anyarkeun handap alat Anjeun bakal adu kasusah kaleungitan robah Anjeun atawa teu boga kapasitas neruskeun sagalana refreshed;

  • Jieun sorangan CMS tinangtu nyaéta pamikiran sejen dahsyat, sagala hal dianggap, anjeun teu boga tanaga atawa aset cukup nyieun hal anyar atawa malah tetep nepi naon fabricate cukup;
  • Ngajajah likelihood tina ngamangpaatkeun hook hiji, nyaeta, pariksa lamun CMS Sigana di modul luar atanapi modul keur unsur hiji ngaran ditawarkeun bisa dieksekusi dina menit craved, keur ieu kaayaan, sebaran tulisan anyar.
  • The turun ka bumi bagian tina ngamangpaatkeun uli fluctuates umumna ti alat pikeun alat. Posisi nguntungkeun prinsip uli teu ngarobih kodeu munggaran. Dina sagala manual prakték hébat sadaya alat open source nu gaduh apdet intermittent mantra nu rehashes sorangan henteu ngarobah pusat. Notwithstanding nyieun refreshes henteu kabayang, sagala individu anu asalna engké mun ngalakukeun upkeep moal mikir ngeunaan robah, sarta jalma anu scarcely ngabahas éta anjeun, moal aparat teh.

extensibility nyaeta sudut pandang sejen pikaresep tina ngamangpaatkeun strategi hook nu diturutan teh aplikasi pikeun ngagedekeun interfaces stabil na. strategi hook decouple interfaces stabil sarta ngalaksanakeun rupa-spasi nu bisa muncul tina instantiation tina hiji aplikasi pikeun netepkeun husus.

Téhnologi Leyuran inovatif nawarkeun Software Developement Pelatihan di Gurgaon, Cirebon NCR di India.

Uli Salaku Pola Desain

Éta intriguing ka dicatet yén sababaraha desain (sadayana) outline exemplify semantik keur uli. Aranjeunna nyarita ka sabaraha sangkan ngaéksekusi sub-sistem wewengkon masalah. Sababaraha gumantung kana aturan ngembangkeun detachment: abstrak, Kilang kitu, Pangwangun, Komando, Basa, panitén, Prototype, Propinsi, sarta Stratégi.

Batur boh conto Ngahijikeun Tatar na partisi ngembangkeun: Métode Citakan sarta Sasak.

Semantik keur ordinarily komunkasi di ngaran téhnik hook (keur gambaran, dina Komando, strategi disebut ngaéksekusi ()).

Maya Métode Table Hooking

Kamekaran software - Naon a Hook - téhnik Point 1Virtual anu dibawa dina jalur ngalelep teu bisa dibédakeun tina strategi statis, tapi saprak téhnik maya bisa robah, compiler anu henteu terang alamat tina kapasitas maya husus mun anjeun nyauran eta dina kode Anjeun. compiler anu, sahingga, assembles a Métode Virtual Table (VMT), anu méré cara pikeun panalungtikan ka alamat kapasitas dina runtime. Unggal strategi maya tunggal nu diaktipkeun dina runtime ngaliwatan VMT. The VMT pertanyaan ngandung sakabéh strategi maya pikeun prékursor na, sarta Sajaba maranéhanana éta proclaims. Kituna, téhnik maya ngagunakeun memori nu leuwih gede ti strategi unsur, dina spite kanyataan yén maranéhna ngajalankeun speedier.

Kusabab VMT mangrupakeun tabel nu ngandung pointers kalawan alamat mémori keur Kamampuh panganteur, naon anu kedah dipidamel anu keur supplant alamat memori munggaran kalayan alamatna tina karya hook sah. Sapanjang garis kasebut, téhnik nu disebut bakal overwritten, sarta ngalaksanakeun coveted anyar kapasitas bakal dieksekusi.

API Hooking

Kamekaran software - Naon a Hook - Point 2The Hooking prosedur API sabenerna idin anjeun reinvent unsur sistem kerja. Kalawan kamampuhan pikeun nangkep biaya misalna, Anjeun bisa ngarobah parameter ku cara ngarobah kagiatan nu bakal dilaksanakeun mimitina.

Éta conceivable, misalna, mun sapotong pembatalan tina rékaman husus, tetep hiji aplikasi tina ngajalankeun, sarta pamenta a negeskeun klien luang mangrupa arsip jeung bunderan, et sajabana.

Memang, cut greatest kaputusan aya dina wewengkon kaamanan, contona, antipirus na antispyware. Jadi anu jadi meureun nya, aya kaayaan di ngembangkeun biasa urang mana éta API Hooking, tiasa keur jalan utama kaluar.

Programming interface Hooking, dina Kaayaan husus urang, ngakibatkeun lalaki hiji API tina OS, atanapi ti DLL sagala, jeung ngarobah palaksanaan has -na pikeun tempat sejenna, kabeh beuki persis, mun kapasitas sejen. Aya fundamentally dua pendekatan:

Tuang na sakinah: kabéh EXE / DLL ngandung API impor sarta tabel ongkos. tabél ieu ngandung pointers nu mintonkeun API Entry Point. Ku cara ngarobah pointers ieu, nyieun eta nunjukkeun callback urang, urang kudu hook a. Jadi anu sakumaha éta bisa, upami EXE kieu / DLL teu ngimpor API urang, strategi ieu bakal teu digawe;

Lugas Code Overwriting: Salaku beforehand ngomong, dina acara nu éta conceivable pikeun nambahkeun panggero pikeun callback urang nuju ngawitan kodeu API, urang bisa "Hook dinya", nyieun kapasitas urang ngajalankeun dina titik naon API ieu disebut. Jadi anu jadi meureun nya, aya hiji masalah: lamun sanggeus kode kami ieu diatur, urang diperlukeun nyauran API mimitina, urang bakal turun deui callback kami, sarta caah tumpukan bakal dijieun. Hiji susunan nyaeta ngalereskeun hook ka boga kapasitas nyauran API, ulang nyobian eta sakali deui ieu dibales. Jadi anu sakumaha éta bisa, Ditengah puseur taneuh ieu, sababaraha nelepon API bisa dijieun teu bakal ngaéksekusi callback kami;

Inline Hook nyaéta titik di mana urang meunang tungtunan poko kapasitas hiji, sarta kami dagangan pikeun basa Sunda Luncat, Push atawa Telepon keur kapasitas urang.

Prescribed dibaca: Sistim gawé Windows Sajaba underpins API hooking. Urang kudu nyaho kumaha Windows fungsi API hooking?

kasempetan Hooking

Kamekaran software - Naon a Hook - téhnik hook Point 3As decouple interfaces stabil sarta ngalaksanakeun rupa-spasi nu bisa muncul tina instantiation tina hiji aplikasi pikeun netepkeun sabagean kajadian nu ngabalikeun kontrol. Objék pawang kasempetan ngarobah Nyiapkeun hambalan. Dina ahir poé, nalika hiji kasempetan kajadian, Handler anu responds conjuring strategi hook on objék pre-enrolled nu ngaéksekusi kagiatan kasempetan Nyiapkeun tangtu. Kasus kali: pesen jandela, bundles badarat ti palabuhan susuratan.

Jero sakinah Hooking

Kamekaran software - Naon a Hook - prosés Point 4Each dina Windows ngabogaan tabel disebut Impor Alamat Table (sakinah), anu nyimpen pointers kana Kamampuh dikirim kaluar ku DLLs unggal prosedur. tabél ieu Asezare populata progressively jeung alamat tina unsur DLLs dina waktos ngaji.

Ngagunakeun Kamampuh hususna, urang bisa nyieun sakinah tabel ditulisan, keur conceivable ngarobih alamat na ku alamatna tina kapasitas custom, ulang denoting tabél saperti maca-saukur sanggeus robah ieu. Di titik nalika prosedur nyoba nelepon kapasitas, alamat na anu gotten dina tabel sakinah, sarta pointer keur balik. Salaku tabel sakinah geus robah, kapasitas custom téh dibawa nyetél tina kapasitas munggaran jeung kode infused kana prosedur ieu gotten.

Netfilter Hook

Kamekaran software - Naon a Hook - Point 5Netfilter nyaéta Linux Ubuntu sapotong subsistem langkung noteworthy ti 2.4. Nagara ieu aya di muatan tina kebat misahkeun, Nat, firewall, redirection, antara séjén. Netfilter nyaeta exceptionally extensible, jeung dokuméntasi na geus rengse. Éta daun likelihood tina ngamangpaatkeun uli di kode kernel, sahingga utilization na pisan fléksibel jeung umumna ditarima ku grup. Uli ieu ninggalkeun sababaraha hasil conceivable tur bisa ngeusian sakumaha micu pikeun kali husus.

kacindekan:

Kamekaran software - Naon a Hook - conclusionThe prosedur hooking programming nu mujarab tur buka nepi a lingkup hasil conceivable pikeun insinyur software, kumaha eta halah jadi garapan kalawan waspada saprak maranéhna kaasup hiji intricacy langkung menonjol dina aliran tina prosedur na ngarobah kahiji ngalaksanakeun tina OS, aplikasi atawa bagéan software lianna, sahingga hésé ngarti nu rationale tina software. Lian ti eta, sakumaha dieusian prior dina artikel ieu, ti utilization sistem ieu tanpa paradigma bisa debase nu dijalankeunnana aplikasi.

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