راهنمای استفاده از قفل نرم افزاری Cheft
روش های هک و کرک و جلوگیری از آن
هکر به افراد متخصصی اشاره می شود که به نفوذ در شبکه های کامپیوتری می پردازند و هم مفید ( کلاه سفید ) و هم منفی ( کلاه مشکی ) هستند.
کراکرها به تغییردهنده گان در نرم افزارها اتلاق می گردد؛ کراکرها میتوانند در شبکه هم به خرابکاری دست بزنند؛ عمده تفاوت کراکر و هکر در این است که هکر نوع مفید شناخته شده دارد ولی کراکر در عام معمولا" با نام منفی و مخرب، و نوعا" مدل مثبتی تا به امروز از آن معرفی نشده است.
روش های کرک نرم افزار بسیار خلاقانه و مبتنی بر خلاقیت برنامه نویسی و استفاده از تمام امکاناتی است که دست به دست هم داده و جلوی عملکرد صحیح یک نرم افزار را می گیرند.
اما شاید بتوان به صورت کلاسیک به موارد زیر اشاره کرد؛ ذکر موارد زیر و ارائه پیشنهادات به منظور کنترل بیشتر برنامه نویسان به شیوه برنامه نویسی خودشان است. لازم به ذکر است علاوه بر اینکه بسیاری از موارد هستند که ذکر آنها در این بخش می تواند به صورت غیر مستقیم موجب لو رفتن برخی اسرار و هک خود نرم افزار CHEFT شود( که متاسفانه مجبوریم از پرداختن به آنها پرهیز کنیم)، بسیاری از روش های هک هستند که به ذهن ما (من و شما) هنوز نرسیده اند، و ممکن است از آنها غافل مانده باشیم بنابراین درصدی را به عنوان بروز حوادثی که موجب هک نا خواسته خواهند شد باید در نظر گرفت.
روش های موثر هک و جلوگیری از آنها:
1- روش دسترسی به اسکریپتها:
در این روش که ناشی از به کارگیری غیر حرفه ای برنامه نویس است کدهای اسکریپت همراه برنامه در اختیار کاربران آن قرار می گیرد و همین امر موجب سوء استفاده از آن می شود. معمولا نرم افزارهایی که قدرت کامپایل ندارند چنین پدیده هایی را بوجود می آورند. برخی از نرم افزارها کدهای اسکریپت را به صورت کامپایل نشده و فقط با رمز و گذرواژه جابجا و اجرا می کنند که باید برنامه نویسان و صاحبان اثر به این موضوع واقف باشند از آن جمله می توان به اسکریپت های محیط های Office و SWF ها و نیز بعضا برخی از برنامه ها مانند MMB در حالت وضعیتی که به غیر Stand Alone معروف است و ....
2- دکمپایلر:استفاده از نرم افزارهایی که حتی کدهای کامپایل شده را به زبان برنامه نویسی باز می گردانند اگر چه برخی از زبانهای برنامه نویسی مانند: net. این موضوع را با نرم افزارهای جانبی مانند گیج کننده هایی از قبیل confused و ... حل کرده اند اما باز هم امکان چنین سوء استفاده هایی با نرم افزارهای شایع Decompiler ها وجود دارد.
برای جلوگیری از چنین پدیده هایی بهتر است از زبانهای برنامه نویسی پیچیده استفاده کنید یا از برنامه ای نرم افزاری جنبی مانند گیج کنند ها یا آنتی کرک ها استفاده کنید راه دیگر و موثر استفاده از نرم افزارهای تکه تکه است در این حالت استفاده از چندین نرم افزار و dll ها کار بازیابی کدهای نرم افزاری را بسیار سخت خواهد کرد.
3-Fake (جعل): در این روش به جای فایلی که شما به دنبال آن برای ادامه کارتان می گردید فایلی جعلی در اختیارتان گذاشته میشود و کنترل کار نرم افزار شما را در حالیکه شما با نرم افزار خودتان نیستید به دست می گیرند و آنرا هک می کنند.
برای جلو گیری از این بحث می توان به موارد زیر اشاره کرد:
1- یکی از خصایص هر فایل سیستمی و اجرایی سایز فایل است می توانید قبل از اینکه فایل مورد نظرتان را صدا بزنید ابتدا سایز آنرا اندازه بگیرید اگر سایز فایل همانی بود که انتظار می رفت ادامه دهید
روش دیگر جلوگیری از Fake شدن خواندن بخشی از فایلی است که قصد دارید آنرا صدا بزنید این بخش می تواند هر جای فایل باشد و معلوم هم نیست که کجای فایل است
بخشی از فایل را به صورت باینری بخوانید و چک کنید که آیا آن بخش همانی است که باید باشد اگر بود آنرا اجرا کنید.
مثلا فرض کنید یک فایل به نام CHEFT.exe داریم که می خواهیم آنرا اجرا کنیم.
این خطر وجود دارد که در سیستمی که ما آنرا در اختیار نداریم فایل دیگری را با این نام در اختیار نرم افزار شما قرار داده باشند.
خوب اول سایز فایل را بررسی می کنیم
آیا سایز فایل 83968 بایت است؟ خوب اگر بود احتمال اینکه این فایل، فایل اصلی باشد زیاد است.
اسکریپت اندازه فایل در VB:
Open "c:\windows\system32\cheft.exe" For Binary As 1
If LOF(1) = 83968 Then MsgBox "Size OKI"
Close 1
بعد بخشی از فایل را به صورت باینری می خوانیم
مثلا ازآدرس 70000 تا آدرس 70015 را می خوانیم اگر این محتوا محتوای زیر بود
CriticalSection
بود می فهمیم که فایل اصالت دارد و کار را ادامه می دهیم
این اصالت دقیقا در زمانی که اصل فایل را در اختیار داریم محرز می شود و هنگامی که فایل در سیستم مشتری یا زمانی که ما در کنار نرم افزار خودمان نیستیم بار دیگر بررسی خواهد شد. اگر دو مقدار یعنی مقداری که ما از فایل مورد نظرمان در هنگامی که برنامه نویسی می کنیم با مقداری که برنامه روی سیستم مشتری در حال اجرا است یکی باشد نتیجه منطقی خواهیم گرفت که فایل جعلی نیست؛ ضمنا آدرس فوق مثالی بوده و این آدرس به صورت محرمانه و نامعلوم در نرم افزارتان باقی خواهد ماند که اثر کنترلی جلوگیری از پدیده Fake را به شدت افزایش خواهد داد.
اسکریپت بررسی محتوای فایل در VB:
Dim s As String * 15
file = "c:\windows\system32\cheft.exe"
Open file For Binary As 1
Get 1, 70000, s
InputBox "", "", s
If s = "CriticalSection" Then MsgBox "Un_Fake check OKI"
Close 1
در ادامه می توان به نرم افزارهای AntiPassword ها و PasswordRecovery ها نیز اشاره کرد، که البته در ساخت نرم افزار CHEFT آنها را مورد بررسی و آنالیز قرار داده ایم از آنجمله می توان به نرم افزار های مهم زیر اشاره کرد:
نرم افزار باز کردن فایل های mdb (رمز دارد) نرم افزار مایکروسافت اکسس Microsoft ACCESS
Passware Kit Professional
Advanced Office Password Recovery Pro
VB Decompiler Pro
VBReformer
HDasm
dotnetDecompiler
DeAssembeler
به طور کلی می توان گفت که اگر روش های رمزگذاری درست روی فایل های آفیس و pdf را رعایت کنید و روش های درست برنامه نویسی خودتان و نیز روشهای جلوگیری از Fake را به کار بگیرید احتمال هک شدن نرم افزارتان زیر 1% خواهد بود.
در آغاز و پایان، به خدا اطمینان می کنیم.