رمزگذاری کد ها در php

خیلی وقت ها پیش میاد که برنامه نویس دوست نداره کسی کدشو کپی کنه، اینجور مواقع میاد کدشو انکریپت میکنه.
انکریپت کردن چیه؟
به رمزگذاری کد جوری که قابل خوندن و یا تغییر نباشه انکریپت کردن میگن،
کد آقای برنامه نویس بعد از انکریپت شدن قابل خوندن و تغییر دادن نیست و اگه باگی داشته باشه مجبوره کد اصلی رو ادیت کنه و از اول انکریپت کنه.
انکریپت کردن کد و کلا اطلاعات روشهای مختلفی داره، بعضی افراد از وبسایت های اماده استفاده میکنن، بعضی ها از برنامه ها مثل IonCube یا SourceGuardian
خب حالا شاید سوال پیش بیاد که این انکریپتر ها چجوری کار میکنن؟
بزارید اول با یک تابع معرفیتون کنم به نام eval
خب خروجی این کد همونطور که احتمالا حدس زدید همون متغیر استرینگ هستش اما توی کد زیر یکم فرق داره
خروجی این کد www.schoolvideo.ir هستش اما چرا؟
این تابع میاد و استرینگ رو به کد اجرایی php تبدیل میکنه و اجرا میکنه
خب حالا ما میایم و از این موضوع سو استفاده میکنیم چطوری؟
توابعی هستن برای انکریپت کردن اطلاعات استرینگ مثل base64_encode و یا bin2hex ما میایم کدمون رو اول با این توابع به صورت استرینگ انکریپت میکنیم
بعد یه متغیر میسازیم و توی استرینگ، دیکدر این توابع رو صدا میزنیم(قراره به کد اجرایی تبدیل بشه) و بعد مقادیر انکریپت شده رو میدیم بهشون و با eval اونو به کد اجرایی تبدیل میکنیم و بوممم
یه مثال خیلی ریز بخوام بزنم میشه کد زیر
مقدار کد رو از ورودی میگیره با base64 انکدش میکنه، میریزه توی استرینگی که قراره به کد اجرایی تبدیل بشه که توسط تابع eval و base64_decode ساخته شده
نام فایل هم از ورودی میگیره و استرینگ کد شده رو قرار میده توی فایل و میتونید اجراش کنید
خیلی راحت میتونید با خلاقیت باحال ترش بکنید مثلا چند لایه انکد کنه یا متد های دیگه استفاده کنید
البته این روش خیلی ساده هست و سریع دیکد میشه ، دیگه بستگی به خلاقیت خودتون داره
ارسال نظر
نکته: HTML ترجمه نمی شود!