MR.B4A 230 ارسال شده در دیروز در 21:32 اشتراک گذاری ارسال شده در دیروز در 21:32 استفاده از 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 https://eitaa.com/basic4androidlan https://t.me/programmingwithb4a نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.