බ්ලොග්

9 මාර්තු 2017

මෘදුකාංග සංවර්ධනය: කොක්කක් යනු කුමක්ද?

/
පලකරන්නා

මෘදුකාංග සංවර්ධනය: කොක්කක් යනු කුමක්ද?

අපි කිහිපයක් හූක් ගැන දැනගත යුතුයි.

කොක්කක් යනු කුමක්ද?මෘදුකාංග සංවර්ධනය කිරීමේදී Hooking යනු වැඩසටහනක හැසිරීම වෙනස් කිරීම සඳහා අවසර ලබා දෙන අදහසකි. සසම්භාවී කේතය ඔබට සැසඳීමේ පන්තියෙහි ඔබේ කේතය වෙනස් නොකොට යමක් සිදු කළ පළමු හැසිරීම වෙනස් කිරීමට යෝජනා කරයි. මෙය කොක්කේ ක්රමෝපායන් අවලංගු කිරීම මඟින් අවසන් වේ.

යෙදුම් වෙත නව ක්රියාකාරීත්වය එකතු කිරීමේදී මෙම ආකාරයේ භාවිතය අතිශයින් ප්රයෝජනවත් වන අතර විකල්ප ක්රමවේදයන් සහ පණිවුඩ අතර ලිපි හුවමාරු කිරීම දිරිගන්වනු ලැබේ. හූක්ස් එක් එක් පණිවිඩය සඳහා පද්ධතියට ඉටු කළ යුතු වන සූදානම් කිරීමේ භාරය ප්රසාරනය කිරීම මගින් පද්ධතිය ක්රියාත්මක කිරීම අඩු කරයි. අවශ්ය වූ විට එය හඳුන්වා දිය යුතුය.

ඔබ ගනුදෙනුකරුවකුගෙන් කළමණාකරණ පද්ධතියක් (CMS) පිටස්තරයෙකුගෙන් ඔබ භාවිතා කරන බව සිතන්න. තවද වෙනත් තනතුරක බෙදා හැරීම සඳහා සුපිරි විධායකයෙකුට ඊමේල් මගින් අනතුරු ඇඟවීමක් කළ යුතු අතර මෙම හැසිරීම උපාංගයේ පෙරනිමි නොවේ. යුවළක් ඉදිරියට ගමන් කරනු ඇත:

CMS මූල කේතය වෙනස් කිරීම Smart සිතුවිල්ලක් නොවේ, පසුව ඔබේ උපාංගයේ පහත ඇති ප්රබෝධය සමඟ ඔබ මුහුණ දෙන ගැටළු වලට මුහුණදීමට හෝ සියල්ල නැවත නැවැත්වීමට ධාරිතාවය නොලැබේ;

  • ඔබගේම විශේෂිත CMS නිර්මාණය කිරීම තවත් භයානක අදහසක් වන අතර, සියල්ල සලකා බලනුයේ, නව නිෂ්පාදන සෑදීම සඳහා හෝ ප්රමාණවත් තරම් බලශක්ති හෝ වත්කම් නිෂ්පාදනය කිරීමට තරම් ප්රමාණවත් ශක්තියක් හෝ වත්කමක් නැත.
  • මෙම කොක්කය භාවිතා කිරීමට ඇති හැකියාව සොයා ගැනීම, එනම්, CMS විසින් නව තනතුරු බෙදා හැරීම සඳහා වූ උද්ඝෝෂිත මිනිත්තුවේ දී ක්රියාත්මක කළ යුතු යෝජිත නමක අංගයන් බාහිර මොඩියුල හෝ මොඩියුලයන් දෙස බලනු ඇත්දැයි පරීක්ෂා කරන්න.
  • කොකු උපයෝගී කර ගැනීම සඳහා උපකරණයට උපකරණයෙන් සාමාන්යයෙන් උච්චාවචනය වේ. කොකු හොඳ වාසිදායක ස්ථානය වන්නේ පළමු කේතය වෙනස් කිරීම නොවේ. සියලු විවේචනාත්මක අත්පොතෙහි ඇති සියලුම ප්රාරම්භක උපකරණවල නැවත වරින් වර යාවත්කාලීන කෙරෙන මන්තරය මධ්යය වෙනස් නොවේ. නොබිඳිය හැකි ප්රබෝධයක් තිබියදීත්, නඩත්තු කිරීමට පසුව පැමිණෙන ඕනෑම පුද්ගලයෙකුගේ වෙනස ගැන සිතන්නේ නැත, සහ එය සංක්ෂිප්තව සාකච්ඡා කරන පුද්ගලයා ඔබ නොව, එම උපකරණය නොවේ.

මෙම යෙදුම උපයෝගි කර ගනිමින් එහි ස්ථාවර අතුරුමුහුණත් වැඩිදියුණු කිරීමට ඉඩ සලසා දෙන උපක්රම උපයෝගී කරගැනීමේ තවත් ප්රමුඛස්ථානයකි. නිශ්චිත සැකසුමක් සඳහා යෙදුමක උපකරණයක් ඉදිරිපත් කළ හැකි විවිධාකාර අවකාශයේ ස්ථාවර අතුරුමුහුණත් හා හැසිරීම බිඳ දැමීමට උපක්රම උපයෝගී කර ගනී.

නවෝත්පාදන තාක්ෂණික විසඳුම් ඉන්දියාවේ දිල්ලි NCR හි Gurgaon හි මෘදුකාංග සංවර්ධනය පිළිබඳ පුහුණුව සපයයි.

හූක් නිර්මාණ මෝස්තර ලෙස

බොහෝ (සමස්ත) සැලැස්මක් කොකු සඳහා semantics නිදර්ශනය කිරීම සැලකිල්ලට ගැනීම කුතුහලය දනවන කරුණකි. ගැටළු සහිත ප්රදේශවල උප පද්ධතීන් ක්රියාත්මක කරන්නේ කෙසේද යන්න ගැන ඔවුහු කතා කරති. සමහරක් වෙන් කිරීමේ සංවර්ධන මත රඳා පවතී: සාරාංශය, කර්මාන්තශාලා, නිර්මාතෘ, අණ දෙන, පරිවර්ථකයා, නිරීක්ෂකය, මුලාකෘති, රාජ්ය සහ උපාය මාර්ග.

සංයුක්ත කිරීම සහ කොටස් කිරීමේ සංවර්ධනය යන දෙවර්ගයේම අනෙකුත්: ආකෘතිය සහ පාලම.

Semantics සාමාන්යයෙන් කුළුණ තාක්ෂණයේ නාමයෙන් සන්නිවේදනය කරනු ලබයි (උදාහරණයක් ලෙස, විධානය තුල, උපායමාර්ගය ලෙස execute () ලෙස හැඳින්වේ).

අතථ්ය ක්රම වගු හක්ක කිරීම

මෘදුකාංග සංවර්ධනය - හූක් - ලක්ෂ්යය යනු කුමක් ද? 1 යනු විචල්ය ක්රමෝපායන් මගින් විචල්ය ක්රමෝපායන්ගෙන් විචල්ය මාර්ගයක් ගෙන එන නමුත්, අථත්ය තාක්ෂනයන් වෙනස් කළ හැකි බැවින්, ඔබේ කේතයෙහි එය ඇමතිය විට නිශ්චිත අථත්ය ධාරිතාවයක ලිපිනය සක්රිය කර නැත. එමගින්, සම්පාදකයා විසින්, ධාවන වේලාව තුළ ධාරිතාවය ලිපින වලට විමසීමට ක්රමයක් ලබා දෙයි, එමගින් Virtual Meter Table (VMT) එකතු කරයි. VMT හරහා එක් එක් අථත්ය උපායමාර්ගය ක්රියාත්මක වේ. ප්රශ්නයේ VMT එහි පූර්වගාමීන් සඳහා සියළුම අථත්ය උපායමාර්ග අඩංගු වන අතර ඊට අමතරව එය ප්රකාශයට පත් කරන අය ද වේ. එමනිසා, උපක්රමික උපාය මාර්ග උපක්රම උපක්රම වලට වඩා වැඩි මතකයක් භාවිතා කරයි.

VMT යනු අතුරු මුහුනත සඳහා මතක ලිපිනයන් සහිත දර්ශක අඩංගු වන වගුවක් වන අතර, කළ යුත්තේ කුමක් දැයි නීත්යානුකූල කොකු වැඩක් සහිත පළමු මතක ලිපිය විස්ථාපනය කිරීමයි. මෙම රේඛා ඔස්සේ ඇමතනු ලබන ශික්ෂා පදය අවලංගු වන අතර ධාරිතාවේ නව චින්තනයේ ක්රියාකාරීත්වය ක්රියාත්මක වේ.

Hooking API

මෘදුකාංග සංවර්ධනය - හූක් - ලක්ෂ්යය - 2 යනු Hooking API ක්රියා පටිපාටිය සැබැවින්ම වැඩ පද්ධතියේ මූලද්රව්ය නැවත නිර්මාණය කිරීමයි. එවැනි ගාස්තු අල්ලාගැනීමේ හැකියාව ඇතිව, මුලින් සිදු කළ යුතු ක්රියාකාරකම් වෙනස් කිරීමෙන් ඔබේ පරාමිතීන් වෙනස් කළ හැකිය.

නිදසුනක් වශයෙන්, විශේෂිත වාර්තාවක් අවලංගු කිරීම, ධාවනය කිරීම සඳහා යෙදුමක තබා ගැනීම, කවුළුව වෙත සංරක්ෂණය කිරීම සඳහා සේවාදායක සහතික කිරීමක් ඉල්ලා සිටීම සිතිය හැකිය.

ඇත්ත වශයෙන්ම, තීරනයේ දැවැන්තම කප්පාදුව ආරක්ෂිත කලාපයේ වේ. නිදසුනක් වශයෙන්, ප්රති-වයිරස සහ ප්රතිචක්රීකරණ මෘදුකාංගය. එය එසේ කළ හැකි නම්, Hooking API වන අපගේ සාමාන්ය සංවර්ධනය තුළ ඇති තත්ත්වයන්, ප්රධාන මාර්ගයක් විය හැකිය.

ක්රමලේඛ අතුරුමුහුණත අපගේ විශේෂිත අවස්ථාවන්හිදී API වෙතින් මෙහෙයුම් පද්ධතියෙන් හෝ ඩීඑල්එල් වලින් ලබාගත හැකි වන අතර, එහි වෙනත් සාමාන්ය තැනක වෙනත් ස්ථානයකට වෙනස් කිරීම, තවත් නිශ්චිතවම වෙනත් ධාරිතාවකට වෙනස් වේ. මූලික ප්රවේශයන් දෙකක් ඇත:

EAT සහ IAT: සියළුම EXE / DLL ආයාත හා වගු සඳහා ආයාත සඳහා API අන්තර්ගත වේ. මෙම වගු API Entry Point පෙන්වන දර්ශක අඩංගු වේ. මෙම දර්ශක වෙනස් කිරීමෙන්, ඔවුන් අපගේ ඇමතුම් පසුබිම පෙන්නුම් කරන අතර, අපට කොක්කක් ඇත. එය කෙසේ වෙතත්, මෙම EXE / DLL API ආයාත නොකරන්නේ නම්, මෙම උපාය මාර්ගය ක්රියා නොකරනු ඇත;

Straightforward Code Overwriting: API කේතයේ ආරම්භය කරා අපගේ ඇමතුමකට ඇමතුමක් ලබා දීම සිතිය හැකි නම්, අපි එය "ඇත්දැයි" හැකි නම්, අපගේ ධාරිතාව API කැඳවනු ලැබූ ඕනෑම ස්ථානයක ධාවනය කළ හැකිය. එය කෙසේ වෙතත්, ප්රශ්නයක් තිබේ: අපේ කේතය හැසිරවූ පසු, අපි පළමු API ඇමතීම අවශ්ය වූ අතර, අප අපගේ ආපසු ඇමතුමට ආපසු පැමිණෙනු ඇත, සහ ගංවතුර ගංවතුර නිර්මාණය වනු ඇත. එක් සැකැස්මක් API ඇමතිය හැකි ධාරිතාවය කොක්කය සවිකරන අතර, එය ක්රියාත්මක කිරීමෙන් පසු යළි උත්සාහ කරන්න. මෙම මධ්යස්ථානය මධ්යයේ මධ්යයේ API ඇමතුම් ලබා ගත හැකි අතර අපගේ ඇමතුම ක්රියාත්මක නොකරනු ඇත;

ධාරිතාව පිළිබඳ ප්රධාන මාර්ගෝපදේශ ලබා ගත හැකි ස්ථානයක් වන Inline Hook යනු අපි අපගේ ධාරිතාවය සඳහා Jump, Push හෝ Call සඳහා වෙළඳාමක් කර ගනිමු.

ප්රවේණිගත කියවීම: වින්ඩෝස් ක්රියාකාරී පද්ධතියට අතිරේකව ඇකිලුම් API යටපත් වේ. වින්ඩෝස් ඇප්අයි එකේ ක්රියාකාරිත්වයන් කෙසේ ද?

ආශ්වාස කිරීම

මෘදුකාංග සංවර්ධනය - හූක් - ලක්ෂ්යය 3A කොක්කක් තාක්ෂණය යනු යම්කිසි සැකසුමක් සඳහා යෙදුමක උපකරණයක් ඉදිරිපත් කළ හැකි විවිධාකාර ඉඩේ ස්ථායී අතුරුමුහුණත් හා හැසිරීම් විසන්ධි කිරීම පාලනය කිරීම ආපසු හැරවීම සිදුවනු ඇත. කාර්යයන් අවස්ථාවලදී කළමණාකරනය පියවර අනුගමනය කිරීම වෙනස් කරයි. දවස අවසානයේදී යම් අවස්ථාවක් සිදු වන විට, ක්රියාකරු සූදානම් කිරීමේදී විශේෂිත අවස්ථා පිළියෙල කිරීම සඳහා පෙර ලියාපදිංචි වූ වස්තූන් මත රකුසෙක් උපක්රම උපයෝගී කරගනී. අවස්ථා: අවස්ථා කවුළු පණිවුඩ, ලිපි ප්රොටෝකෝලවලින් ගොඩ බැස්සවීම.

IAT Hoking ඇතුළත

මෘදුකාංග සංවර්ධනය - හූක් - ලක්ෂ්යය 4 යනු ඕනෑම ක්රියාවලියක් වින්ඩෝස් තුල තිබෙන ආයාත ලිපින වගු (IAT) ලෙසින් වගුවක් ඇත, එක් එක් ක්රියා පටිපාටිය මගින් යවන ලද ධාරිතාවන් වෙත දර්ශක ගබඩා කරයි. මෙම වගුව මඟින් ධාවන වේලාව තුළ ඩීඑල්එල්හි මූලද්රව්යයන්ගේ ලිපිනය සමඟ ප්රගතිය ජනිත වේ.

විශේෂිත ධාරිතාවයන් භාවිතා කිරීමෙන්, IAT වගුව ලිවීමට හැකි වන පරිදි, අභිරුචියේ ධාරිතාවේ ලිපිනයකින් ලිපිනය වෙනස් කිරීමට සිතිය හැකි අතර, මෙම වගුවෙන් පසුව කියවීමට වගුව නැවත කියවීම නැවත අර්ථ දැක්වීමකි. ක්රියාපටිපාටිය ධාරිතාවය ඇමතීමට උත්සාහ කරන අවස්ථාවේදී, එහි ලිපිනය IAT වගුවේ ඇති අතර, එහි දර්ශකය ආපසු ලබා දෙනු ලැබේ. IAT වගුව වෙනස් කර ඇති පරිදි, අභිරුචි ධාරිතාව පළමු ධාරිතාවය සකස් කර ඇති අතර ක්රියාවලිය තුළට ඇතුල් කර ඇති කේතය ලබා ඇත.

නෙට්ෆිලටර් හුක්

මෘදුකාංග සංවර්ධනය - හූක් - ලක්ෂ්යය 5Netfilter යනු 2.4 වලට වඩා සැලකිය යුතු කරුණකි. එය Bundle වෙන් කිරීම, NAT, ෆයර්වෝල්, හරවා යැවීම, අනෙක් අය අතර වේ. Netfilter අතිරේකව ව්යාප්ත කළ හැකි අතර, එහි ලේඛන අවසන් වේ. කර්නල් කේතයේ හූක් භාවිතා කිරීමේ හැකියාව එයින් පිටවී යන අතර එහි භාවිතය අතිශයින්ම නම්යශීලී වන අතර සමූහය විසින් සාමාන්යයෙන් ලැබෙනු ඇත. මෙම හූක් නිශ්චිත අවස්ථාවන් කිහිපයක් අත්හැර දැමිය හැකි අතර නිශ්චිත අවස්ථාවන් සඳහා උපකරණයන් ලෙස පුරවා ගත හැකිය.

නිගමනය:

මෘදුකාංග සංවර්ධනය - හුක් යනු කුමක් ද? කයිරු කිරීම ක්රමලේඛන ක්රියාවලීන් ඵලදායී වන අතර මෘදුකාංග ඉංජිනේරුවන්ට සිතා ගත හැකි ප්රතිඵල පිලිබඳව පරාසයක් විවෘත කළ හැකි වුවද, එය ක්රියා පටිපාටිවල වඩාත් ප්රබල සංකීර්ණතාවයක් හා පළමුවෙන් වෙනස් කළ හැකි බැවින් එය සුපරීක්ෂාකාරි විය යුතුය. මෙහෙයුම් පද්ධති, යෙදුම් හෝ වෙනත් මෘදුකාංග අංශයන් පවත්වා ගෙන යාම, මෘදුකාංගයේ තර්කය අවබෝධ කර ගැනීමට අපහසු වීමයි. මෙම ලිපියට පෙර පරිදි නිශ්චිතව දක්වා ඇති පරිදි, පරමාදර්ශීව තොරව මෙම පද්ධති භාවිතය උපයෝගී කරගනිමින් අයදුම්පත් ක්රියාත්මක කිරීම අවහිර කළ හැකිය.

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