eitaa logo
115 دنبال‌کننده
688 عکس
87 ویدیو
393 فایل
آموزش و سورس کد به زبان B4A به منظور برنامه نویسی اندروید سورس کد ویدئوهای آموزشی مینی سورس کد
مشاهده در ایتا
دانلود
📑 سورس دفترچه یادداشت به زبان b4a 🙏 سلام به برنامه نویسان عزیز. ✳️ باز هم با یک سورس کاربردی از بیسیک فور اندروید در خدمتتون هستم. 📖 سورس دفترچه یادداشت به زبان b4a 💡 ویژگی های سورس: *استفاده از دیتابیس آفلاین به منظور ذخیره کردن یادداشت ها ( نمایش، واردکردن، حذف کردن، ویرایش اطلاعات ) *حذف پوشه ای خاص در حافظه داخلی ( دقت کنید که برای حذف یک پوشه ای که حاوی چندین فایل است، نمیتوانید با دستور file.Delete ) ) این کار را انجام دهید. توی این سورس من با استفاده از دستورات جاوا این کار را به شکل استاندارد انجام دادم. *استفاده از اسنک بار به جای توست مسیج *بخش گذاشتن رمزعبور برای وارد شدن به برنامه *کاهش حجم عکس به منظوره ذخیره در دیتابیس و بهینه کردن برنامه *ذخیره یادداشت ها و درصورت دلخواه، ذخیره تصویر به همراه یادداشت ها ( ذخیره در دیتابیس ) *تبدیل صوت به یادداشت ( شاید روی برخی از گوشی ها کار نکند ) *قابلیت اشتراک گذاری متن در شبکه های اجتماعی *انتخاب عکس از گالری و وارد کردن آن به برنامه *استفاده از کاستوم لیست ویو *قابلیت حذف آیتم از کاستوم لیست ویو *قابلیت منتقل کردن یادداشت ها به لیست یادداشت های پرکاربرد ( همون سیستم لایک و آنلایک ) *قابلیت ذخیره و نمایش عکس از دیتابیس 💰 سورس https://zarinp.al/725935 تهیه و تنظیم مرتضی صباغی MR.B4A 🛑 محصولات MR.B4A پرژوژت چه قدر می ارزه؟ https://zarinp.al/701185 ضبط صدا https://zarinp.al/602356 ابزارهای انیمیشنی https://zarinp.al/582228 کتاب پیشرفته https://zarinp.al/581211 کیوآرکد اسکنر https://zarinp.al/724103 قاب عکس https://zarinp.al/725250 اپلیکیشن ها پرژوژت چه قدر می ارزه؟ https://cafebazaar.ir/app/ir.project.cost.estimation.mr.b4a شماره ساز حرفه ای https://cafebazaar.ir/app/ir.number.generator.mr.b4a
🔰 امنیت در b4a ( قسمت چهارم ) Certificate Pinning 💡 تعریف ساده: Certificate Pinning چیه؟ وقتی اپلیکیشن شما به یک سرور HTTPS وصل می‌شه، به‌طور معمول با گواهی دیجیتال (SSL/TLS certificate) اون سرور ارتباط برقرار می‌کنه. اما تو این حالت، اپ فقط بررسی می‌کنه که آیا اون گواهی توسط یک مرجع معتبر (CA) صادر شده یا نه. مفهوم Certificate Pinning یکی از روش‌های مهم برای افزایش امنیت ارتباطات HTTPS توی اپلیکیشن‌هاست، مخصوصاً اپ‌های موبایل یا کلاینت‌هایی که به سرور متصل می‌شن. 🟥 حالا مشکل کجا پیش می آید؟! اگه یه مهاجم (مثلاً در حمله man-in-the-middle) بتونه یه گواهی جعلی از یه CA معتبر بگیره، ممکنه کاربر بدون اینکه متوجه بشه، به سرور جعلی وصل بشه! Man-in-the-Middle (یا MITM) یعنی چی؟ ⚡️ "مرد میانی" یه نوع حمله‌ست که توش یه هکر میاد وسط ارتباط بین دو نفر (مثلاً اپ شما و سرور) و بدون اینکه کسی بفهمه، اطلاعات رو می‌خونه، تغییر می‌ده یا دزدی می‌کنه. ✳️ مثال ساده: شما با گوشی‌تون به یه سرور وصل می‌شی (مثلاً بانک یا اپ خودت). یه هکر توی همون وای‌فای عمومی (کافه، فرودگاه...) میاد وسط ارتباطتون. اطلاعات شما (مثل رمز، شماره کارت، پیام‌ها) قبل از اینکه به سرور برسه، می‌ره پیش اون هکر. Certificate Pinning چیکار می‌کنه؟ 📣 با Certificate Pinning، شما به اپلیکیشن می‌گید: فقط به این گواهی (یا کلید عمومی خاصی) اعتماد کن — حتی اگه گواهی معتبر دیگه‌ای ارائه شد، قبول نکن. یعنی گواهی یا کلید عمومی خاصی رو "سنجاق" (pin) می‌کنی به اپ. ❓ انواع Pinning: 1-Public Key Pinning (کلید عمومی) فقط کلید عمومی رو ذخیره می‌کنی، اگر گواهی عوض شد ولی کلید عمومی همونه، مشکلی نیست. 2-Certificate Pinning (گواهی کامل) کل گواهی یا fingerprint اون رو ذخیره می‌کنی —اگه عوض بشه، حتی اگه قانونی باشه، اتصال رد می‌شه. ✅ مزایای Certificate Pinning: محافظت در برابر حملات MITM امن‌تر از اعتماد کامل به CAهای عمومی 💣 معایب اگه سرور گواهیش رو عوض کنه و اپ هنوز با گواهی قبلی pin شده باشه، اتصال fail می‌شه (مگر اپ به‌روز بشه) در صورت پیاده‌سازی اشتباه، می‌تونه باعث قفل شدن اپ بشه ❇️ پیاده سازی در B4A پیاده‌سازی Certificate Pinning در B4A ممکنه، ولی چون B4A سطح بالاتری داره و مستقیماً به کلاس‌های جاوای SSL/TLS دسترسی نمی‌ده، باید با کمی ترفند و استفاده از JavaObject یا inline Java کار رو انجام بدی. 1-برای پین کردن گواهی از OkHttpUtils2 + JavaObject استفاده کنید. این دو کتابخونه رو توی b4a تیک بزنید. 2-دریافت گواهی SHA-256 از سایت مثل https://www.sslshopper.com یا با ابزار openssl استفاده کن یک کلید این شکلی دریافت میکنید openssl s_client -connect yourdomain.com:443 </dev/null 2>/dev/null | openssl x509 -noout -pubkey | openssl pkey -pubin -outform DER | openssl dgst -sha256 -binary | base64 3-این هم روش کلی استفاده در بیسیک فور اندروید هست که باید با توجه به پروژه تان آن را تغییر دهید. Sub Process_Globals Private client As OkHttpClient End Sub Sub Globals End Sub Sub Activity_Create(FirstTime As Boolean) If FirstTime Then InitClientWithPinning End If Dim req As OkHttpRequest req.Initialize("job", "https://yourdomain.com") Dim job As OkHttpJob job.Initialize("job", Me) job.client = client job.Download2("https://yourdomain.com", Null) End Sub Sub InitClientWithPinning Dim jo As JavaObject jo.InitializeNewInstance("okhttp3.CertificatePinner$Builder", Null) jo = jo.RunMethod("add", Array("yourdomain.com", "sha256/AbCdEfGhIjK...==")) Dim pinner As JavaObject = jo.RunMethod("build", Null) Dim okClientBuilder As JavaObject okClientBuilder.InitializeNewInstance("okhttp3.OkHttpClient$Builder", Null) okClientBuilder.RunMethod("certificatePinner", Array(pinner)) Dim okClient As JavaObject = okClientBuilder.RunMethod("build", Null) client.InitializeAcceptAll Dim joClient As JavaObject = client joClient.SetField("client", okClient) End Sub 🔥 نکات مهم: این کد فقط درخواست‌هایی که از job.client = client استفاده می‌کنن رو pin می‌کنه. آدرس "yourdomain.com" باید دقیق باشه (مثل: api.yourapp.com) پین‌ها ممکنه expire بشن؛ برای همین همیشه باید بدونی کی گواهی عوض می‌شه.
📅 سورس تقویم شمسی به زبان بیسیک فور اندروید 🌟 درخدمتتون هستیم با یک سورس بسیار کمیاب برای b4a ⭐️ همانطور که میدانید، سورس تقویم میلادی برای b4a به وفور یافت میشود، اما تقویم شمسی تقریبا نه! با استفاده از این سورس میتوانید تقویم شمسی را داخل پروژه خود پیاده سازی کنید. 🌀 به دلیل اینکه این سورس کاملا به شکل دستی نوشته شده و از کتابخانه خاصی در آن استفاده نشده، بسیار انعطاف پذیر بوده و به راحتی میتوانید آن را تغییر دهید. 🟥 اما نقطه ضعفش هم همین است! یعنی باید هرسال آن را بروز کرد و رویدادها و روزها را دستی تغییر داد. ❇️ ویژگی ها: * نمایش تقویم هر ماه * نمایش رویدادهای هرماه هم به صورت متنی و هم به صورت علامتی روی تقویم * امکان نمایش تاریخ کامل روز * ایجاد نوتیفیکیشن بعد از اجرای برنامه ✅ سورس https://zarinp.al/726030 تهیه و تنظیم مرتضی صباغی MR.B4A 🛑 محصولات MR.B4A پرژوژت چه قدر می ارزه؟ https://zarinp.al/701185 ضبط صدا https://zarinp.al/602356 ابزارهای انیمیشنی https://zarinp.al/582228 کتاب پیشرفته https://zarinp.al/581211 کیوآرکد اسکنر https://zarinp.al/724103 قاب عکس https://zarinp.al/725250 سورس دفترچه یادداشت https://zarinp.al/725935 ✴️ درصورت خرید هر سورس، داخل تلگرام و یا واتس اپ و یا ایتا رسید پول خود را بفرستید تا سورس به همراه کتابخانه برای شما ارسال شود. واتس اپ 09377828985 تلگرام @Morteza_b4a ایتا https://eitaa.com/mortezasabaghi 💢 اپلیکیشن ها پرژوژت چه قدر می ارزه؟ https://cafebazaar.ir/app/ir.project.cost.estimation.mr.b4a شماره ساز حرفه ای https://cafebazaar.ir/app/ir.number.generator.mr.b4a