وبلاگ

9 مارس 2017

توسعه نرم افزار: یک قلاب چیست؟

/
ارسال شده توسط

توسعه نرم افزار: یک قلاب چیست؟

ما باید درباره چند نوع قلاب بدانیم.

هوک چیست؟هوکینگ در توسعه نرم افزار ایده ای است که اجازه تغییر برنامه ی یک برنامه را می دهد. کد احتمالی شما را قادر می سازد تا اولین انجام چیزی را بدون تغییر کد خود از کلاس مقایسه کنید. این کار با نوشتن استراتژی قلاب انجام می شود.

این نوع استفاده به دلیل اضافه کردن ویژگی های جدید به برنامه ها بسیار مفید است، علاوه بر این مکاتبات بین روش های متناوب و پیام های سیستم را تشویق می کند. قلاب ها تمایل به اجرای سیستم را کاهش می دهند با گسترش بار تهیه شده که سیستم برای هر پیام باید انجام دهد. این باید زمانی که مورد نیاز است و در اولین فرصت فرصت تخلیه شود، باید معرفی شود.

پیش بینی کنید که شما از یک سیستم مدیریت مشتری (CMS) از یک بیگانه استفاده می کنید و هر بار که یک پست دیگر توزیع می شود هر یک از مدیران اجرایی فوق العاده می خواهند از طریق ایمیل هشدار دهند و این رفتار پیش فرض دستگاه نیست. مسیرهای چندگانه به جلو وجود خواهد داشت:

کد منبع تغییر CMS یک فکر هوشمندانه نیست، پس بعد از همه در تازه کردن این دستگاه، شما با دشواری از دست دادن تغییر خود مقابله خواهید کرد یا ظرفیت ادامه دادن همه چیز را نداشته باشید؛

  • CMS خاص خود را یکی دیگر از افکار وحشتناک، همه چیز در نظر گرفته، شما انرژی کافی و یا دارایی کافی برای انجام چیزهای جدید و یا حتی نگه داشتن آنچه که ساخت؛
  • کاوش امکان استفاده از یک قلاب، یعنی چک کردن اینکه آیا CMS در قسمت های ماژول یا ماژول های خارجی برای عناصر یک نام ارائه شده در لحظه ای آرام اجرا می شود، برای این وضعیت، توزیع پست های جدید.
  • بخشی از قلاب استفاده از زمین به طور کلی از دستگاه به وسیله ابزار تغییر می کند. موقعیت مطلوب قلاب ها تغییر کد اول نیست. در همه دستورالعمل های عملی عالی از تمام دستگاه های منبع باز که به صورت متناوب به روز می شوند، ماندرا که خود را دوباره شبیه می کند، مرکز را تغییر نمی دهد. با وجود اینکه نوآوری های غیرقابل تصور را ایجاد می کند، هر فردی که بعدا می خواهد نگهداری کند، در مورد تغییر فکر نمی کند و کسی که به سختی آن را مورد بحث قرار می دهد، شما، نه دستگاه است.

گسترش پذیری یکی دیگر از دیدگاه ترجیح استفاده از استراتژی قلاب است که به برنامه اجازه می دهد تا رابط های پایدار خود را تقویت کند. استراتژی هوک تفکیک واسط های پایدار و انجام یک فضای مختلف را می دهد که می تواند از ایجاد یک برنامه برای یک محیط خاص ظاهر شود.

راه حل های فناوری نوآورانه ارائه آموزش برنامه های توسعه نرم افزار در گورگا، دهلی نو NCR در هند.

قلاب به عنوان الگوهای طراحی

جالب توجه است که توجه داشته باشید طرح های متعدد (همه) طرح کلی معانی را برای قلاب نشان می دهد. آنها با چگونگی اجرای زیر سیستم های مناطق مشکل صحبت می کنند. بعضی به حکومت توسعه انسانی بستگی دارند: خلاصه، کارخانه، ساز، فرمانده، مترجم، ناظر، نمونه اولیه، دولت و استراتژی.

دیگران در هر دو نمونه توسعه وحدت و پارتیشن: روش الگو و پل.

معناشناسی معمولا در نام تکنیک قلاب (به عنوان مثال، در فرمان، استراتژی execute () نام می گیرد.

 

روش مجازی جدول Hooking

توسعه نرم افزار - تکنیک های هوک نقطه 1Virtual در مسیر غیر قابل تشخیص از استراتژی های استاتیک آورده شده است، اما از آنجا که تکنیک های مجازی می تواند تغییر کند، کامپایلر آدرس آدرس یک ظرفیت مجازی خاص را نمی داند، زمانی که آن را در کد خود می نامید. کامپایلر، به این ترتیب، یک جدول روش مجازی (VMT) را می سازد، که راه را برای پرسیدن آدرس های ظرفیت در زمان اجرا می دهد. هر استراتژی مجازی مجازی در زمان اجرا از طریق VMT فعال می شود. VMT یک سؤال حاوی تمامی استراتژی های مجازی برای پیشگامان آن و همچنین کسانی است که اعلام می کند. بنابراین، تکنیک های مجازی از حافظه بیشتری نسبت به استراتژی های عنصر استفاده می کنند، به رغم این واقعیت که آنها سریع تر اجرا می شوند.

از آنجایی که VMT یک جدول است که حاوی اشاره گرها با آدرس های حافظه برای ظرفیت های رابط است، باید انجام شود این است که اول آدرس حافظه را با آدرس یک کار قلاب قانونی جایگزین کنیم. در کنار این خطوط، تکنیک نامیده می شود، رونویسی می شود، و اجرای جدید آرزو از ظرفیت اجرا خواهد شد.

 

هوشیاری API

توسعه نرم افزار - Hook Point 2 روش Hooking API واقعا اجازه می دهد تا شما را مجددا عناصر سیستم کار را مجددا. با توانایی گرفتن چنین اتهامات، می توانید پارامترهای خود را تغییر دهید با تغییر فعالیت هایی که در ابتدا انجام می شود.

برای مثال ممکن است قابل لغو کردن یک رکورد خاص باشد، اجرای برنامه را ادامه دهد و از تایید مشتری درخواست کند که آرشیو را به دایره بفرستد، و غیره.

در واقع، بزرگترین قطع تصمیم در منطقه امنیت است، به عنوان مثال، آنتی ویروس و ضد جاسوسی. همانطور که ممکن است، در توسعه عادی ما وجود دارد که در آن API Hooking می تواند راه اصلی باشد.

رابط برنامه نویسی Hooking، در شرایط خاص ما، مستلزم گرفتن API از سیستم عامل و یا از هر DLL است و اجرایی معمول آن را به جایی دیگر، و دقیق تر به ظرفیت دیگر تغییر دهید. اساسا دو رویکرد وجود دارد:

EAT و IAT: تمام EXE / DLL شامل API برای وارد کردن و کرایه جداول است. این جدول ها شامل اشاره گر هایی هستند که نقطه ورود API را نشان می دهند. با تغییر این اشاره گرها، ساختن آنها نشان دهنده تماس تلفنی ما است، ما یک قلاب داریم. اگر این ممکن است، اگر این EXE / DLL API را وارد نمی کند، این استراتژی کار نخواهد کرد؛

رمزگذاری مجدد کد مستقیم: همانطور که قبلا گفتیم، در صورت امکان افزودن تماس به تماس تلفنی ما با شروع کد API، ما می توانیم آن را "قلاب" کنیم و ظرفیت ما را در هر نقطه ای که API نامیده می شود اجرا کنیم. به همین ترتیب مسئله وجود دارد: اگر پس از پردازش کد ما، ما نیاز به تماس با اولین API داشتیم، ما به تماس برگشتیم و یک سیل پشته ایجاد می شد. یک ترتیب حلقه حلقه را تنظیم می کند تا ظرفیت تماس با API را داشته باشد، دوباره آن را پس از اجرا اجرا می کند. همانطور که ممکن است، در میان این مرکز مرکز، چند تماس API می تواند انجام شود و تماس برگشت ما را اجرا نخواهد کرد؛

Hook Inline نقطهیی است که ما دستورالعملهای اصلی ظرفیت را دریافت میکنیم و برای پرش، فشار و یا تماس برای ظرفیت ما تجارت می کنیم.

برنامه ریزی شده خوانده شده: سیستم عامل ویندوز علاوه بر API ها را نیز بسته است. ما باید بدانیم که چگونه عملکردهای Windows API را فعال می کند؟

 

حوادث حوادث

توسعه نرم افزار - تکنیک های قلاب Hook Point 3As جدا کردن رابط های پایدار و انجام یک فضای گوناگون است که می تواند از نمونه سازی یک برنامه برای یک محیط خاص ظاهر شود، یک تغییر کنترل می شود. حوادث رویدادهای منحصر به فرد، مراحل آماده سازی را تغییر می دهند. در انتهای روز، زمانی که مناسبت اتفاق می افتد، دستیار پاسخ به استراتژی قلاب را در اشیاء پیش از ثبت نام که رویداد ویژه ای را برای فعالیت ها انجام می دهند، پاسخ می دهد. موارد موارد: پیام های پنجره، بسته نرم افزاری فرود از بنادر مکاتبات.

 

درون IAT هوازی

توسعه نرم افزار - یک پروسه Hook Point 4Each در ویندوز دارای یک جدول به نام جدول آدرس واردات (IAT) است که اشاره گرها را به ظرفیت های ارسال شده توسط DLL ها در هر مراحل ذخیره می کند. این جدول به تدریج با آدرس عناصر DLL در زمان اجرا پر شده است.

با استفاده از ظرفیت های خاص می توانیم جدول جدول IAT را قابل خواندن قرار دهیم، قابل قبول است که آدرس آن را با آدرس یک ظرفیت سفارشی تغییر دهیم، و دوباره آن را به عنوان خواندنی تغییر دهیم. در نقطه زمانی که این روش تلاش می کند تا با ظرفیت تماس بگیرد، آدرس آن در جدول IAT بدست می آید و یک اشاره گر بازگشت می کند. همانطور که جدول IAT تغییر کرده است، ظرفیت سفارشی از ظرفیت اول ساخته شده و کد وارد شده به این روش دریافت می شود.

 

هوای Netfilter

توسعه نرم افزار - Hook Point 5Netfilter یک زیرسیستم بخش لینوکس است که قابل توجه تر از 2.4 است. این مسئول بسته بندی بسته نرم افزاری، NAT، فایروال، تغییر مسیر، و غیره است. Netfilter فوق العاده قابل گسترش است و اسناد آن تمام شده است. این احتمال استفاده از قلاب ها در کد هسته را کاهش می دهد و استفاده از آن بسیار انعطاف پذیر است و به طور کلی توسط گروه دریافت می شود. این قلاب ها چند نتیجه قابل تصور را می گذارد و می تواند به عنوان محرک برای موارد خاص پر شود.

 

نتیجه:

توسعه نرم افزار - نتیجه گیری Hook - روش های برنامه نویسی hooking موثر هستند و زمینه ای از نتایج قابل تصور برای مهندسان نرم افزار را باز می کنند، با این حال باید با هشدار مورد استفاده قرار گیرند، زیرا آنها شامل یک پیچیدگی برجسته در جریان مراحل و تغییر اولین اجرای سیستم عامل، برنامه های کاربردی و یا سایر بخش های نرم افزاری، باعث شده است که منطق نرم افزار را درک کنید. به غیر از آن، همان طور که قبلا در این مقاله مشخص شد، استفاده از این سیستم ها بدون پارادایم ممنوعیت اجرا برنامه ها است.

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