رفتن به مطلب

ارسال‌های توصیه شده

2.jpg

 

برای دریافت سورس و کتابخانه های موردنیاز b4a، در کانال ما عضو شوید
کانال هرروز یا یک روز درمیون با سورس های رایگان b4a بروزرسانی میشود
https://t.me/programmingwithb4a
https://splus.ir/basic4android_langueg
https://eitaa.com/basic4androidlan

💢 استفاده از Obfuscation

Obfuscation چیست؟

تعریف اول:
Obfuscation یا ابهام سازی یا مبهم سازی، فرایندی است که در طی آن کدهای برنامه به صورت عمدی خیلی پیچیده و غیرقابل فهم نوشته میشوند.
این کار در بحث امنیت پروژه، دوتا خاصیت  کلی دارد:
1- خواندن کدها برای انسان سخت میشود.
2- به طورکلی، مهندسی معکوس پروژه برای دیگران دشوار میشود.

این کار باعث میشود از دزدی و کپی سورس، مهندسی معکوس و یا هک کردن پروژه جلوگیری شود.

تعریف دوم:
به فرآیند "پنهان‌سازی کد" گفته می‌شود که معمولاً در زمان کامپایل نهایی پروژه انجام می‌شود تا خواندن کد برای دیگران سخت‌تر شود. این کار مخصوصاً برای محافظت از منطق برنامه یا کلیدهای حساس انجام می‌شود.

🟥 حال یک مثال ساده در بیسیک فور اندروید برای شما میزنیم

قبل از Obfuscation
Sub Process_Globals
    Dim username As String
    Dim password As String
End Sub

Sub Login
    username = "admin"
    password = "1234"
End Sub

بعد از Obfuscation
Sub a
    Dim a1 As String
    Dim a2 As String
End Sub

Sub b
    a1 = "admin"
    a2 = "1234"
End Sub

✳️ همانطور که در بالا میبینید، بعد از اجرای فرایند Obfuscation ظاهر متغیرها تغییر کرده و شخص هکر متوجه نمیشود که این دو متغیر یوزرنیم و پسورد هستند.
این فرایند برروی فقط نام ها تاثیر میگذارد و مقادیر متغیرها را تغییر نمیدهد.
برای محافظت از مقادیر باید آن ها را رمزنگاری یا Encoding کنید.
در basic4android میتوانید با استفاده از کتابخانه B4XEncryption رشته ها را رمزگذاری کنید.

🔐 چه طور از Obfuscation در b4a استفاده کنیم؟
بعد از این که پروژه را نوشتید و قبل از اینکه خواستید آن را کامپایل کنید، متد کامپایل را روی حالت Release obfuscated بگذارید.
وقتی دکمه ران را بزنید، برنامه شروع به کامپایل کردن میکند و وقتی که کامپایل تمام شد، در پوشه objects یک فایل متنی اضافه به نام ObfuscatorMap.txt ساخته شده است که در آن تمام متغیرهایی که تغییر نام داده شده اند، لیست شده است. این فایل را نزد خود نگه دارید، چرا که ممکن است وقتی برنامه را  اجرا میکنید، کرش کند!! چرا این اتفاق می افتد؟! چون برنامه با نام متغیرهای جدید کامپایل شده و در بیسیک فور اندروید برخی کتابخانه هایی وجود دارند که نباید نام متغیرشان را کد کرد و تغییر داد و اگر این کار انجام شود، کتابخانه به خطا میخورد و برنامه کرش میکند. باید فایل متنی را داشته باشید تا بتوانید نام متغیرهایی که به این تغییر واکنش نشان داده اند
را به حالت اولیه خود برگردانید.
حالا اگر فایل apk ساخته شده، عملکرد صحیحی داشته باشد، بعد از این که عملیات مهندسی معکوس و یا هک کردن روی آن اتفاق میوفتد، شخص هکر نمیتواند به راحتی
منطق برنامه را متوجه شود و یا به راحتی برنامه را بخواند.

تهیه و تنظیم   
مرتضی صباغی  
MR.B4A
 
🛑 محصولات 
MR.B4A
پرژوژت چه قدر  می ارزه؟
https://zarinp.al/701185
ضبط صدا
https://zarinp.al/602356
ابزارهای انیمیشنی
https://zarinp.al/582228
کتاب پیشرفته
https://zarinp.al/581211
 
#b4a #basic4android #source_code #programming #android #b4x #MR_B4A  
#Obfuscation_in_b4a

#بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #برنامه_نویسی_اندروید   
#امنیت_در_پروژه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...