ব্লগ

9 বিকলাঙ্গ করা 2017

সফটওয়্যার ডেভেলপমেন্ট: হুক কি?

/
কারো দ্বারা কোন কিছু ডাকঘরে পাঠানো

সফটওয়্যার ডেভেলপমেন্ট: হুক কি?

আমরা হুক কয়েক ধরনের সম্পর্কে জানতে হবে

একটি হুক কি?সফটওয়্যার ডেভেলপমেন্টে, হুকিং একটি ধারণা যা একটি প্রোগ্রামের আচরণ পরিবর্তন করার অনুমতি দেয়। সম্ভাবনা কোড আপনাকে তুলনা শ্রেণীর আপনার কোড পরিবর্তন ছাড়া কিছু প্রথম আচরণ পরিবর্তন প্রস্তাব। হুক কৌশলগুলি ওভাররাইট করার মাধ্যমে এটি সমাপ্ত হয়।

এই ধরনের ব্যবহার অ্যাপ্লিকেশনের জন্য নতুন কার্যকারিতা যোগ করার ক্ষেত্রে অত্যন্ত সহায়ক, উপরন্তু বিকল্প পদ্ধতি এবং সিস্টেমের বার্তাগুলির মধ্যে চিঠিপত্র উত্সাহিত করা। হুক্স সিস্টেমের প্রতিটি বার্তা জন্য সঞ্চালনের প্রয়োজন যে প্রস্তুত লোড বিস্তৃত দ্বারা সিস্টেম মৃত্যুদন্ড হ্রাস ঝোঁক। এটি প্রয়োজন এবং ভিসার পূর্বে যত দ্রুত সম্ভব চালু করা উচিত।

আপনি একটি বহিরাগত থেকে একটি গ্রাহক পরিচালন সিস্টেম (সিএমএস) ব্যবহার করা হয় এবং আপনি একটি পোস্ট অন্য একটি পোস্ট বিতরণ করা হয় এবং এই আচরণ ডিভাইসের ডিফল্ট হয় না যে একটি ইমেল সুপারিশ করার সুপার প্রাক্তন সভা করতে পারেন যে Envision। এগিয়ে একটি দম্পতি রুট হবে:

সিএমএস সোর্স কোড পরিবর্তন করুন একটি স্মার্ট চিন্তার হয় না, ডিভাইসের নিম্নলিখিত রিফ্রেশে সব পরে আপনি আপনার পরিবর্তন হারানোর অসুবিধা সম্মুখীন হবে বা রিফ্রেশ সবকিছু অবিরত করার ক্ষমতা থাকবে না;

  • আপনার নিজস্ব বিশেষ সিএমএস করুন আরেকটি ভয়ানক চিন্তাধারা তৈরি করুন, বিবেচনা করা সব জিনিসগুলি, আপনার কাছে নতুন জিনিসগুলি তৈরি করার জন্য পর্যাপ্ত শক্তি বা সম্পৃক্ততা নেই বা এমনকি কি তৈরি করা যায় তা জেনে রাখুন;
  • একটি হুক ব্যবহারের সম্ভাব্যতা সন্ধান করুন, অর্থাৎ, যদি সিএমএস বাহ্যিক মডিউল বা মডিউলকে দেখায় তবে প্রদত্ত নামের উপাদানগুলিকে ততোধিক মিনিটে প্রয়োগ করা হবে কিনা তা পরীক্ষা করুন, এই পরিস্থিতিটি নতুন পোস্টগুলির বিতরণ।
  • হুক ব্যবহার করার জন্য মাটির নীচে পৃথিবীতে যন্ত্র থেকে যন্ত্র থেকে উত্কৃষ্ট হয়। হুক এর নীতি অনুকূল অবস্থানটি প্রথম কোডটি পরিবর্তন করা উচিত নয়। সমস্ত উন্মুক্ত উত্স ডিভাইসের সমস্ত মহান অনুশীলনের ম্যানুয়াল যা মাঝে মাঝে আপডেট থাকে সেই মন্ত্র যা স্বয়ং পুনরায় প্রয়োগ করে কেন্দ্রটি পরিবর্তন করে না। রিফ্রেশ্জগুলি অবিশ্বাস্যভাবে তৈরি করা সত্ত্বেও, যে কোনও ব্যক্তি যিনি পরবর্তীতে পরিচর্যা করার জন্য আসেন সেটি পরিবর্তনের কথা চিন্তা করে না এবং যে ব্যক্তি অচিরেই এটি নিয়ে আলোচনা করবে সেটি আপনি নয়, যন্ত্রপাতিও নয়।

এক্সটেনশনটি হল হুক কৌশলগুলি ব্যবহার করার অন্য একটি পছন্দসই দৃষ্টিকোণ যা তার স্থিতিশীল ইন্টারফেসগুলি বৃদ্ধি করার জন্য অ্যাপ্লিকেশনটিকে অনুমতি দেয়। হুক কৌশল একটি নির্দিষ্ট সেটিং জন্য একটি অ্যাপ্লিকেশন এর তাত্পর্য থেকে উদ্ভূত হতে পারে যে বিভিন্ন স্পেস স্থিতিশীল ইন্টারফেস এবং আচরণ ঘটাচ্ছে।

উদ্ভাবনী প্রযুক্তি সমাধান গুরগাঁও, দিল্লী এনসিআর ভারতে সফটওয়্যার ডেভেলপমেন্ট ট্রেনিং প্রদান করে।

ডিজাইন প্যাটার্নস হিসাবে হুক্স

এটি লক্ষনীয় যে, অনেকগুলি (সব) সীমারেখা নকশা হুকগুলির জন্য সিনট্যান্সকে উদাহরণস্বরূপ দেখায়। তারা সমস্যা অঞ্চলের সাব-সিস্টেম চালানো কিভাবে কথা বলতে। কিছু বিচ্ছিন্নতা উন্নয়ন শাসনের উপর নির্ভর করে: এবিট, ফ্যাক্টরি, বিল্ডার, কমান্ড, ইন্টারপ্রেটার, পর্যবেক্ষক, প্রোটোটাইপ, রাজ্য, এবং কৌশল।

উভয় সংকলন ও বিভাজন উন্নয়ন উদাহরণ: টেমপ্লেট পদ্ধতি এবং সেতু।

সিন্যান্টিক্স সাধারণত হুক টেকনিক নাম (যেমন, কমান্ডের মধ্যে, কৌশলটি চালনা করা হয়) এ যোগাযোগ করা হয়।

 

ভার্চুয়াল পদ্ধতি টেবিল হুকিং

সফটওয়্যার ডেভেলপমেন্ট - হুক - পয়েন্ট 1 ভার্চুয়াল পদ্ধতিগুলি স্ট্যাটিক কৌশলগুলি থেকে একটি আলাদা আলাদা পথে আনা হয়, কিন্তু যেহেতু ভার্চুয়াল কৌশলগুলি পরিবর্তন করা যায়, যখন কম্পাইলার আপনার কোডে এটি কল করেন তখন একটি নির্দিষ্ট ভার্চুয়াল ধারণার ঠিকানাটি জানেন না। কম্পাইলার, এইভাবে, একটি ভার্চুয়াল মেথড টেবিল (ভিএমটি) একত্রিত করে, যা রানটাইমে ক্ষমতাগুলির ঠিকানাগুলিতে অনুসন্ধানের একটি উপায় দেয়। প্রতিটি একক ভার্চুয়াল কৌশল VMT এর মাধ্যমে রানটাইম এ সক্রিয় হয়। একটি প্রশ্ন VMT তার অগ্রদূত জন্য সমস্ত ভার্চুয়াল কৌশল রয়েছে, এবং অতিরিক্তভাবে এটি ঘোষণা করে যারা। অতএব, ভার্চুয়াল কৌশলগুলি উপাদান কৌশলগুলির তুলনায় আরো মেমোরির ব্যবহার করে, যদিও তারা দ্রুত চালায়

যেহেতু VMT একটি টেবিল যা ইন্টারফেস ক্ষমতার জন্য মেমরি অ্যাড্রেস সহ পয়েন্টারগুলি ধারণ করে, কি করা উচিত তা হল একটি বৈধ হুক কাজের একটি ঠিকানা দিয়ে প্রথম মেমরি ঠিকানাটি স্থানান্তর করা। এই লাইন বরাবর, তথাকথিত টেকনিক ওভাররাইট করা হবে, এবং ক্ষমতার নতুন চিত্তাকর্ষক চালানো হবে।

 

হুকিং এপিআই

সফ্টওয়্যার ডেভেলপমেন্ট - হুক কি-পয়েন্ট 2 হুকিং এপিআই পদ্ধতিটি আপনাকে কার্যকরী সিস্টেমের উপাদানগুলিকে পুনর্বিন্যাস করতে দেয়। যেমন চার্জ ক্যাপচার ক্ষমতা সঙ্গে, আপনি প্রাথমিকভাবে সঞ্চালিত হবে যে কার্যকলাপ পরিবর্তন করে তাদের পরামিতি পরিবর্তন করতে পারেন

উদাহরণস্বরূপ, একটি নির্দিষ্ট রেকর্ড বাতিল করার জন্য, চলমান থেকে একটি অ্যাপ্লিকেশন রাখা, এবং বৃত্ত একটি আর্কাইভ অপর একটি ক্লায়েন্ট প্রমাণের দাবি, ইত্যাদি ইত্যাদি।

প্রকৃতপক্ষে, সিদ্ধান্তের সর্বশ্রেষ্ঠ কাট নিরাপত্তার ক্ষেত্রে, উদাহরণস্বরূপ, অ্যান্টিভাইরাস এবং এন্টিস্পাইওয়্যার। যেহেতু এটি হতে পারে, হকিং এপিআইটি আমাদের সাধারণ বিকাশে এমন পরিস্থিতিতে আছে যা প্রধান উপায় হতে পারে।

প্রোগ্রামিং ইন্টারফেস হুকিং, আমাদের নির্দিষ্ট অবস্থানে, OS বা কোন DLL থেকে একটি API প্রাপ্তি বোঝায়, এবং অন্য কোথাও তার নির্দিষ্ট কার্য সম্পাদনকে অন্য যেকোনো ক্ষমতাতে পরিবর্তন করে তা অন্য কোনও ক্ষমতা। মৌলিকভাবে দুটি পন্থা আছে:

EAT এবং আইএটি: সমস্ত EXE / DLL ইম্পোর্ট এবং ভাড়া টেবিল এপিআই অন্তর্ভুক্ত। এই টেবিলের পয়েন্টারগুলি API এন্ট্রি পয়েন্ট দেখায়। এই পয়েন্টার পরিবর্তন করে, আমাদের কলব্যাক নির্দেশ করে, আমাদের একটি হুক আছে। এটি হতে পারে, এই EXE / DLL API গুলি আমদানি না হলে, এই কৌশল কাজ করবে না;

সহজবোধ্য কোড ওভাররাইটিং: আগেই বলেছিলেন যে, এপিআই কোডের শুরুতে আমাদের কলব্যাকে কল যোগ করতে আমরা কল্পনা করতে পারি, আমরা "হুক করে" এটি করতে পারি, যেকোনো সময়ে এপিআই নামে যে কোনও স্থানে আমাদের ক্ষমতা চালানো যায়। যেহেতু এটি হতে পারে, একটি সমস্যা আছে: আমাদের কোড পরিচালনার পরে যদি, আমরা প্রথম এপিআই কল করতে হবে, আমরা আমাদের কলব্যাক ফিরে হবে, এবং একটি স্ট্যাক বন্যা তৈরি করা হবে। এক বিন্যাস হল API- এ কল করার ক্ষমতা থাকাতে হুক সংশোধন করে, একবার এটি কার্যকর করার পরে পুনরায় চেষ্টা করে। যেহেতু এটি হতে পারে, এই কেন্দ্রের স্থলে, কয়েকটি API কল করা যাবে এবং আমাদের কলব্যাকটি চালানো যাবে না;

ইনলাইন হুক হল এমন একটি বিন্দু যেখানে আমরা একটি ক্ষমতা প্রধান নির্দেশিকা পেতে, এবং আমরা একটি ঝাঁপ দাও, আমাদের ক্ষমতা জন্য কল বা একটি কল জন্য বাণিজ্য।

নির্ধারিত পাঠ্য: উইন্ডোজ ওয়ার্কিং সিস্টেম অতিরিক্তভাবে hooking API চাপায়। আমরা কিভাবে জানব উইন্ডোজ এন্টি হুকিং ফাংশন?

 

সুযোগ হকিং

সফ্টওয়্যার ডেভেলপমেন্ট - হুক কি-পয়েন্ট 3A হুক পদ্ধতিগুলি স্থিতিশীল ইন্টারফেসগুলি এবং বিভিন্ন ধরনের আচরণকে নির্দিষ্ট করে দেয় যা একটি নির্দিষ্ট সেটিংয়ের জন্য অ্যাপ্লিকেশনটির তাত্পর্য থেকে উদ্ভূত হতে পারে নিয়ন্ত্রণের বিপরীত রূপান্তর। অবজেক্টের অনুষ্ঠান হ্যান্ডেলরগুলি পদক্ষেপগুলির প্রস্তুতি পরিবর্তন করে। দিনের শেষে, যখন কোনও উপলক্ষ ঘটে, তখন হ্যান্ডলার প্রাক-নথিভুক্ত বস্তুর উপর হুক কৌশলগুলিকে প্রতিক্রিয়া জানান যা কার্যকলাপগুলি বিশেষ প্রস্তুতির জন্য চালায়। অনুষ্ঠানের ক্ষেত্রে: উইন্ডো বার্তা, বার্তাপ্রেরণ পোর্ট থেকে অবতরণ স্থানের।

 

আইএইচ হকিং এর ভিতরে

সফটওয়্যার ডেভেলপমেন্ট- উইন্ডোজ-হুক্স-পয়েন্ট 4Each প্রসেসে কি কি রয়েছে তা ই-মেইল ঠিকানা সারণি (আইএটি) নামে একটি টেবিল রয়েছে, যা প্রতিটি পদ্ধতির DLL দ্বারা পাঠানো ক্ষমতাগুলিতে পয়েন্টার সঞ্চয় করে। এই টেবিল চালানোর সময় DLLs এর উপাদানের ঠিকানা সঙ্গে ক্রমাগত populated হয়।

বিশেষ ক্ষমতা ব্যবহার করে, আমরা আইএটি টেবিলের লিখনযোগ্য করতে পারি, কাস্টম ক্ষমতা সম্পর্কে একটি ঠিকানা দ্বারা তার ঠিকানা পরিবর্তন করতে কল্পনা করা, টেবিলের পুনরায় সংজ্ঞানুসারে এই পরিবর্তনের পরে পড়ুন। বিন্দুতে যখন প্রক্রিয়াটি ক্ষমতাটি কল করার চেষ্টা করে, তার ঠিকানাটি আইএটি টেবিলে অর্জিত হয় এবং একটি পয়েন্টারটি ফেরত দেওয়া হয়। আইএটি টেবিল পরিবর্তন করা হয়েছে, কাস্টম ক্ষমতা প্রথম ক্ষমতা সেট আপ আনা এবং প্রক্রিয়া মধ্যে সংযোজন কোড অর্জিত হয়।

 

নেটফিল্টার হুক

সফ্টওয়্যার ডেভেলপমেন্ট - হুক কি-পয়েন্ট 5Netfilter হল 2.4 এর তুলনায় আরো লক্ষণীয় লিনাক্সের একটি অংশ। এটি বান্ডেল বিভাজক, NAT, ফায়ারওয়াল, পুনর্নির্দেশনা, অন্যদের মধ্যে। Netfilter অত্যন্ত এক্সটেনশনযোগ্য, এবং এর ডকুমেন্টেশন শেষ হয়। এটি কার্নেল কোডে হুক্স ব্যবহার করার সম্ভাবনাকে ছাড়িয়ে দেয়, যার ফলে তার ব্যবহারটি অত্যন্ত নমনীয় এবং সাধারণত গোষ্ঠীর দ্বারা প্রাপ্ত। এই হুক কয়েক কল্পিত ফলাফল ছেড়ে এবং নির্দিষ্ট অনুষ্ঠানগুলির জন্য ট্রিগার হিসাবে পূরণ করতে পারেন।

 

উপসংহার:

সফটওয়্যার ডেভেলপমেন্ট - হুক কি - উপসংহার হুকিং প্রোগ্রামিং পদ্ধতি কার্যকরী এবং সফটওয়্যার ইঞ্জিনিয়ারদের জন্য সম্ভাব্য ফলাফলের একটি সুযোগ খোলা থাকে, তবে এটি সতর্কতার সাথে ব্যবহার করা উচিত কারণ তারা পদ্ধতিগুলির প্রবাহে আরও বিশিষ্ট স্বচ্ছতা অন্তর্ভুক্ত করে এবং প্রথমটি পরিবর্তন করে ওএস, অ্যাপ্লিকেশন বা অন্যান্য সফ্টওয়্যার বিভাগের আচরণ, এটি সফটওয়্যারের যুক্তি বোঝা কঠিন। যেহেতু, এই নিবন্ধে পূর্বে উল্লেখ করা হয়েছে, সেটি ছাড়াও এই সিস্টেমগুলির ব্যবহারগুলি অ্যাপ্লিকেশনগুলি কার্যকর করতে পারে।

উত্তর দিন

GTranslate Please upgrade your plan for SSL support!
GTranslate Your license is inactive or expired, please subscribe again!