Blog

9 Sel 2017

Pembangunan Perisian: Apakah Cangkuk A?

/
Dihantar oleh

Pembangunan Perisian: Apakah Cangkuk A?

Kita Perlu Tahu Tentang Beberapa Jenis Hook.

Apa itu Hook?Dalam pembangunan perisian, Hooking adalah idea yang membenarkan mengubah tingkah laku sesuatu program. Kod kemungkinan menawarkan anda untuk menukar kelakuan pertama sesuatu tanpa mengubah kod kelas perbandingan anda. Ini selesai dengan menindih strategi cangkuk.

Penggunaan semacam ini amat berguna kerana menambah fungsi baru ke aplikasi, dan juga menggalakkan korespondensi antara prosedur dan mesej ganti sistem. Cangkuk cenderung untuk mengurangkan pelaksanaan sistem dengan mengembangkan beban persediaan yang perlu dilakukan oleh sistem untuk setiap mesej. Ia sepatutnya diperkenalkan hanya apabila diperlukan dan dipindahkan pada peluang paling awal.

Jelaskan bahawa anda menggunakan Sistem Pengurusan Pelanggan (CMS) dari orang luar dan anda mungkin mahu seorang eksekutif super diberi amaran melalui e-mel setiap kali pos lain diedarkan dan kelakuan ini bukan merupakan kegagalan peranti. Akan ada beberapa laluan ke hadapan:

Tukar kod sumber CMS bukanlah pemikiran pintar, setelah semua dalam menyegarkan semula peranti berikut anda akan menghadapi kesukaran kehilangan perubahan anda atau tidak mempunyai keupayaan untuk meneruskan segalanya segar;

  • Buat CMS anda sendiri adalah satu lagi pemikiran yang dahsyat, semua perkara yang dipertimbangkan, anda tidak mempunyai cukup tenaga atau aset yang mencukupi untuk membuat sesuatu yang baru atau bahkan menyimpan apa yang hendak dibuat;
  • Terokai kemungkinan menggunakan cangkuk, iaitu, semak CMS melihat modul atau modul luar untuk unsur-unsur nama yang ditawarkan akan dilaksanakan pada minit yang dikehendaki, untuk keadaan ini, pengedaran jawatan baru.
  • Bahagian bawah bumi menggunakan cangkuk turun naik secara amnya dari peranti ke instrumen. Prinsip kedudukan cangkuk yang sesuai adalah untuk tidak mengubah kod pertama. Dalam semua manual amalan hebat semua peranti sumber terbuka yang mempunyai kemas kini yang terputus-putus, mantra yang membaik pulih sendiri tidak mengubah pusat. Walaupun menyegarkan tidak dapat dibayangkan, mana-mana individu yang datang kemudian untuk melakukan pemeliharaan tidak akan memikirkan perubahan itu, dan orang yang hampir tidak membincangkannya adalah anda bukan radas.

Kemunculannya adalah satu lagi sudut pandangan yang lebih baik untuk menggunakan strategi hook yang membenarkan permohonan itu menambah antarmuka yang stabil. Strategi cangkuk menanggalkan antara muka yang stabil dan kelakuan ruang pelbagai yang boleh muncul dari instansiasi aplikasi untuk tetapan tertentu.

Penyelesaian Teknologi Inovatif menawarkan Latihan Perkembangan Perisian di Gurgaon, Delhi NCR di India.

Cangkuk Sebagai Corak Reka Bentuk

Adalah menarik untuk diperhatikan bahawa reka bentuk garis besar (semua) menggambarkan semantik untuk cangkuk. Mereka bercakap tentang bagaimana untuk melaksanakan sub-sistem kawasan masalah. Sesetengah bergantung kepada peraturan pembangunan detasmen: Abstrak, Kilang, Pembina, Perintah, Penafsir, Observer, Prototaip, Negeri, dan Strategi.

Lain-lain dalam kedua-dua contoh penyatuan dan pembangunan partition: Kaedah Template dan Jambatan.

Semantik biasanya disampaikan dalam nama teknik cangkuk (misalnya, dalam Komando, strategi dipanggil melaksanakan ()).

Jadual Pengambilan Kaedah Maya

Pembangunan Perisian - Apakah teknik Hook-Point 1Virtual yang dibawa dalam laluan yang tidak dapat dibezakan dari strategi statik, tetapi kerana teknik maya boleh diubah, pengkompil tidak mengetahui alamat kapasiti maya tertentu apabila anda memanggilnya dalam kod anda. Pengkompil, dengan itu, memasang Meja Kaedah Maya (VMT), yang memberikan satu cara untuk bertanya kepada alamat kapasiti semasa runtime. Setiap strategi maya tunggal diaktifkan semasa runtime melalui VMT. VMT soalan mengandungi semua strategi maya untuk prekursornya, dan tambahan pula yang dikemukakannya. Oleh itu, teknik maya menggunakan lebih banyak memori daripada strategi unsur, walaupun fakta bahawa mereka berjalan lebih cepat.

Oleh kerana VMT adalah jadual yang mengandungi petunjuk dengan alamat memori untuk kapasiti antara muka, apa yang perlu dilakukan ialah untuk menggantikan alamat memori pertama dengan alamat kerja hook yang sah. Sepanjang baris ini, teknik yang dipanggil akan ditimpa, dan kelakuan kapasiti baru yang diingini akan dilaksanakan.

API Hooking

Pembangunan Perisian - Apakah prosedur Hook-Point 2The Hooking API benar-benar membenarkan anda mencipta kembali semula sistem kerja. Dengan keupayaan untuk menangkap caj tersebut, anda boleh menukar parameter mereka dengan menukar aktiviti yang akan dilakukan pada mulanya.

Sebagai contoh, boleh dibatalkan pembatalan rekod tertentu, menyimpan permohonan daripada berjalan, dan menuntut pengakuan pelanggan untuk menyimpan arkib ke bulatan, dan sebagainya.

Memang, keputusan terbaik adalah di kawasan keselamatan, sebagai contoh, antivirus dan antispyware. Oleh itu, ada keadaan dalam perkembangan biasa kami di mana API Hooking, boleh menjadi jalan utama.

Antara muka pengaturcaraan Pengakap, dalam keadaan tertentu kami, menyiratkan mendapatkan API dari OS, atau dari mana-mana DLL, dan mengubah pelaksanaan yang tipikal ke tempat lain, lebih tepat lagi, dengan keupayaan yang lain. Pada asasnya ada dua pendekatan:

EAT and IAT: semua EXE / DLL mengandungi API untuk mengimport dan jadual tambang. Jadual ini mengandungi petunjuk yang menunjukkan Titik Masuk API. Dengan menukar petunjuk ini, menjadikan mereka menunjukkan panggilan balik kami, kami mempunyai cangkuk. Jadi, sekiranya, jika ini EXE / DLL tidak mengimport API, strategi ini tidak akan berfungsi;

Penjejakan Kod Terus: Sebagaimana dikatakan sebelum ini, sekiranya ia difikirkan untuk menambah panggilan ke panggil balik kami ke permulaan kod API, kami boleh "menyambungkannya", menjadikan kapasiti kami berjalan di mana-mana titik API dipanggil. Sekiranya mungkin, terdapat masalah: jika selepas kod kami dikendalikan, kami perlu memanggil API pertama, kami akan kembali kepada panggil balik kami, dan banjir stack akan diwujudkan. Satu susunan adalah menetapkan cangkuk untuk mempunyai kapasiti untuk memanggil API, mencuba sekali ia dilaksanakan. Menjadi yang mungkin, di tengah-tengah pusat ini, beberapa panggilan API boleh dibuat dan tidak akan melaksanakan panggilan balik kami;

Hook Inline adalah titik di mana kita mendapat garis panduan utama kapasiti, dan kami berdagang untuk Jump, Push atau Call untuk kapasiti kami.

Dibaca yang dibaca: Sistem kerja Windows tambahan yang menyokong sistem API. Kita harus tahu bagaimana fungsi API hooking Windows?

Peristiwa Hooking

Pembangunan Perisian - Apakah teknik cangkuk 3As Hook - Titik menanggalkan antara muka yang stabil dan menjalankan pelbagai ruang yang boleh muncul dari instantiasi suatu aplikasi untuk tetapan tertentu berlaku pembalikan kawalan. Objek pengendali objek mengubah suai langkah-langkah penyediaan. Pada penghujung hari, apabila suatu peristiwa berlaku, pengendali bertindak balas menimbulkan strategi hook pada objek yang terdaftar yang melaksanakan acara tertentu yang mempersiapkan kegiatan. Kasus kali: mesej tingkap, bundle landing dari port surat-menyurat.

Di dalam IAT Hooking

Pengembangan Perisian - Apakah proses Hook-Point 4Each di Windows mempunyai jadual yang disebut Jadual Alamat Import (IAT), yang menyimpan petunjuk kepada kapasiti yang dihantar oleh DLL bagi setiap prosedur. Jadual ini dihuni secara progresif dengan alamat unsur-unsur DLL pada masa tamat.

Dengan menggunakan kapasiti khusus, kita boleh membuat jadual IAT yang boleh ditulis, yang dapat dibayangkan untuk mengubah alamatnya dengan alamat kapasiti tersuai, menandakan semula jadual sebagai baca-selepas selepas perubahan ini. Pada titik apabila prosedur cuba memanggil kapasiti, alamatnya diperoleh dalam jadual IAT, dan penunjuk dipulangkan. Oleh kerana jadual IAT telah ditukar, kapasiti tersuai telah dibawa ke atas kapasiti pertama dan kod yang dimasukkan ke dalam prosedur telah diperolehi.

Cangkuk Netfilter

Pembangunan Perisian - Apakah Hook - Point 5Netfilter adalah subsistem sepotong Linux yang lebih penting daripada 2.4. Ia bertanggungjawab mengasingkan paket, NAT, firewall, pengalihan, dan lain-lain. Netfilter sangat extensible, dan dokumentasinya selesai. Ia meninggalkan kemungkinan penggunaan Hooks dalam kod Kernel, menjadikan penggunaannya sangat fleksibel dan umumnya diterima oleh kumpulan. Hooks ini meninggalkan beberapa hasil yang boleh difikirkan dan boleh diisi sebagai pencetus untuk keadaan tertentu.

Kesimpulan:

Pengembangan Perisian - Apakah Hook - KesimpulanProgram pengaturan hooking adalah berkesan dan membuka skop hasil yang dapat difikirkan untuk jurutera perisian, namun ia sepatutnya digunakan dengan amaran kerana ia termasuk kerumitan yang lebih menonjol dalam aliran prosedur dan mengubah yang pertama kelakuan OS, aplikasi atau segmen perisian lain, menjadikannya sulit untuk memahami rasional perisian. Selain daripada itu, sebagaimana yang dinyatakan sebelum ini, penggunaan sistem ini tanpa paradigma boleh merendahkan pelaksanaan aplikasi tersebut.

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