Dev Perfects – Telegram
Dev Perfects
41 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Source Byte (Anastasia 🐞)
Automating Malware Deobfuscation with Binary Ninja
Writing a Static Unpacker

This section will teach participants how to automate unpacking and decryption of malware samples. This will be accomplished using the Qakbot sample as an example. The Qakbot sample is packed (obfuscated using an external program that “unpacks itself”) and therefore we will perform multiple hands-on exercises to automate the extraction of Qakbot from its packed form using Binary Ninja, PEFile and Binary Refinery.
+ The first exercise will teach attendees how to use Binary Ninja to identify the encryption algorithm used by the first stage of the packer and how to extract key information to decrypt the second stage.

+The next exercise will teach attendees how to use PEFile to extract an embedded resource from the packed binary. Once extracted, the resource will then be decrypted using the key information from the first exercise

The next exercise will teach attendees how to use Binary Refinery to carve binary files from the decrypted resource


Code

Slides

Workshop Manual
Forwarded from کداکسپلور | CodeExplore (CodeExplore)
👀خلاقیت در برنامه‌نویسی فقط مربوط به طراحی گرافیکی نیست و می‌تونه توی بخش‌های مختلف کار خودت رو نشون بده. حتی وقتی داری کدنویسی می‌کنی و بیشتر با منطق و عدد و رقم سر و کار داری، باز هم می‌تونی خلاق باشی. چطوری؟ اینجوری:

1️⃣ پیدا کردن راه‌حل‌های جدید برای مشکلات:
وقتی با یه مشکل مواجه می‌شی، به جای استفاده از روش‌های قدیمی، می‌تونی با یه نگاه تازه بهش نگاه کنی و راه‌حل بهتری پیدا کنی که سریع‌تر و بهینه‌تر باشه.

2️⃣ طراحی بهتر برنامه:
تو می‌تونی برنامه‌هات رو جوری طراحی کنی که راحت‌تر بتونی بعداً بهشون امکانات اضافه کنی یا مشکلاتشون رو حل کنی. مثلا، بخش‌های مختلف برنامه رو جوری از هم جدا کنی که هر کدوم مستقل کار کنه.

3️⃣ خلاقیت توی تست و پیدا کردن باگ:
وقتی داری برنامه‌ات رو تست می‌کنی، می‌تونی به روش‌های مختلف فکر کنی که ممکنه برنامه‌ات توشون خطا بده. اینجوری باگ‌ها رو زودتر پیدا می‌کنی و برطرفشون می‌کنی.

4️⃣اتوماسیون کارها:
بعضی کارها توی برنامه‌نویسی تکراریه و خسته‌کننده. اگه خلاق باشی، می‌تونی یه سری اسکریپت بنویسی که این کارها رو خودکار انجام بده و وقتت رو برای کارهای مهم‌تر ذخیره کنی.

5️⃣ بهینه کردن و ساده کردن کد:
می‌تونی کد رو جوری بنویسی که هم خواناتر باشه و هم سریع‌تر اجرا بشه. این یه نوع خلاقیته که باعث می‌شه برنامه‌ات بهتر کار کنه.

6️⃣ خلاقیت توی تجربه کاربری:
حتی اگه کار گرافیکی نمی‌کنی، باز هم می‌تونی برنامه‌ات رو طوری طراحی کنی که کار کردن باهاش برای کاربر راحت و لذت‌بخش باشه. مثلا، یه رابط کاربری خط فرمانی (CLI) رو طوری طراحی کنی که استفاده ازش راحت باشه.

7️⃣ استفاده از تکنولوژی‌های جدید:
اگه با تکنولوژی‌های جدید مثل هوش مصنوعی یا اینترنت اشیا (IoT) کار می‌کنی، می‌تونی این‌ها رو به شکلی خلاقانه توی برنامه‌هات استفاده کنی و کارهای جدیدی باهاشون انجام بدی.

8️⃣ خلاقیت توی مدیریت پروژه:
می‌تونی با روش‌های جدید مدیریت پروژه، کار تیمی رو بهتر و منظم‌تر کنی و کاری کنی که همه توی پروژه حس بهتری داشته باشن.

9️⃣ ایجاد مستندات بهتر:
معمولا نوشتن مستندات کار خسته‌کننده‌ایه، ولی اگه خلاق باشی، می‌تونی مستندات جذاب‌تر و قابل‌فهم‌تری بنویسی که بقیه هم راحت‌تر ازشون استفاده کنن.

🌹در کل، خلاقیت توی برنامه‌نویسی یعنی اینکه برای هر کاری دنبال راه‌های بهتر و جدیدتری باشی و به جای اینکه همیشه راه‌های قدیمی رو تکرار کنی، به فکر بهبود و نوآوری باشی.

#soft_skiil
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Yasha
تلگرام ادعا می‌کنه که تا به امروز حتی یک بایت داده هم به دولت‌ها یا شخص ثالثی نداده. اما این گزارشی که ۲ سال پیش منتشر شده میگه تلگرام توی سال ۲۰۲۱ به دولت آلمان چندین بار اطلاعات محدودی از کاربران رو داده، درحالی که حتی هیچ دیتاسنتری توی کشور آلمان نداره.

درادامه میگه که این همکاری در زمینه مبارزه با تروریسم و تعرض به کودکان بوده و حتی ۵۵ میلیون دلار هم جریمه مالی شده اما چیزی رو پرداخت نکرده. حالا من که خودم طرفدار تلگرام و پاول دروف هستم ولی خب نقص عجیبی بود چون تلگرام خیلی سفت ادعا می‌کنه که هیچ داده‌ای رو به هیچ دولتی نداده.

🔗 https://restoreprivacy.com/telegram-sharing-user-data/

@Yasha
چون بحث خودمیزبانی داغ بود، یک پست کوتاه و مفید توی بلاگم از آماده کردم که چرا باید خودمیزبانی بکنیم؟

https://sohrabbehdani.ir/blogfa/whyselfhosting/

@SohrabContents
Forwarded from Linuxor ?
دوره #فوق_لینوکسه_ها قسمت 8

توی این قسمت با شبکه بیشتر آشنا میشید درباره ایپی ورژن 4 و 6 باهم صبحت میکنیم و بعضی از تجهیزات و مفاهیم شبکه رو باهم میبینیم که چی هستن و DNS ، DHCP و Web Server رو یه برسی کلی میکنیم.


https://youtu.be/T92McwTcgrw?si=zh1wM0A47FTB2osB

🐧 @Linuxor
میترا، یک شبکه‌اجتماعی فدیورسی نوشته شده با راست هستش که یک Gui خوب و همینطور فیچرای خوبی هم داره :))

از همه مهمتر، برای اجرا رم مینیمالی که می‌خواد حداقل ۲۵۶ مگابایته!

https://codeberg.org/silverpill/mitra


@SohrabContents
Forwarded from Yasha
الان که داشتم درباره تلگرام می‌خوندم متوجه یه چیزی شدم. تلگرام یه زیرساخت غیرمتمرکز خیلی جالبی داره، دیتاسنترهاش رو توی کشورهای مختلفی که قوانین قضایی متفاوتی داره پخش کرده. تمام دیتایی که نگه‌داری می‌کنه رمز میشن و کلیدهای رمزگذاری هم به بخش‌های مختلفی تیکه تیکه شده و توی دیتاسنترها پخش شده. تلگرام میگه هیچ کدوم از دیتاسنترها کلید رو به شکل کامل نداره و حالا یه تحت یه پروتکلی اینا دیتاسنترهای توزیع‌شده باهمدیگه کار می‌کنن. حالا چرا اینکار رو انجام داده؟ جالبیش اینجاست. این باعث میشه که یه کشور واحد نتونه به تنهایی تلگرام رو مجبور به دادن دیتا کنه، یعنی فرانسه چیزی رو از تلگرام بخواد باید هر کشوری که دیتاسنتر تلگرام داخلش هست هم بخواد و توافق جمعی و جهانی صورت بگیره که یه چیز خیلی سخت و نشدنیه درحال حاضر. این باعث میشه حتی دو یا سه تا کشور هم‌پیمان (مثل ایران، روسیه، چین) هم باز نتونن از تلگرام دیتا بگیرن، چون کشورهای زیادی در درگیر جریان قضایی با قوانین مختلف می‌کنه. توی این حالت حتی اگه یکی با تانک هم وارد دیتاسنتر تلگرام بشه نمی‌تونه دیتای کسی رو بخونه :) تا وقتی که خود پاول دروف و تیم تلگرام بخوان.

من اینو توی منابع زیادی خوندم ولی خود تلگرام هم توی مستندات رسمی خودش اینجا ذکر می‌کنه.

@Yasha
Forwarded from Golden Code (@lix)
در لاراول میتونید دیسک‌های ذخیره‌سازی custome شده رو بدون نیاز به تغییر دادن فایل config/filesystems ایجاد کنید.

کاربردش؟
این قابلیت برای مواردی که ممکنه مسیر ذخیره‌سازی تغییر کنه یا به صورت داینامیک تعیین میشه میتونه خیلی کار راه انداز باشه.
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/laravelbackpack/status/1828394539867930675?t=uPya--8IeMfyqPo3nHWD2A&s=35
1👍1
لینک ویدیوی جلسه 31 :
https://youtu.be/74Z5saE4FqM

هک گوگل و استفاده از قابلیت های مخفی اون، مهارتهای جستجو و حل مسئله در مورد برنامه نویسی و هوش مصنوعی - جلسه ۳۱ ام آموزش رایگان برنامه نویسی

برنامه‌نویسی رو از صفر تا صد یاد بگیر و وارد بازار کار شو!

تو این ویدیو، یکسری ترفند برای هک کردن گوگل یاد گرفتیم 😈، بهترین روش های سرچ کردن رو برای برنامه نویس ها توضیح دادیم و نحوه استفاده از سایت هایی مثل استک اور فلو رو توضیح دادیم، یاد گرفتیم که چطوری سوال بپرسیم از هوش مصنوعی و به جواب خوب برسیم

@SEYED_BAX | @MakeDeveloper
Forwarded from CleverDevs (Mammad)
‏Named Arguments توی php چیه و چه کاربردی داره ؟

این فیچر که توی php8 اضافه شده به ما کمک میکنه که آرگومان های تابع رو به جای ترتیب بر اساس اسم هاشون به تابع پاس بدیم

مثلا تابع زیر رو تصور کنید

function createNewUser($name , $city = "Tehran" , $age = "18", $gender = ""){

$user = new User();
$user->name = $name;
$user->city = $city;
$user->age = $age;
$user->gender = $gender;
$user->save();
}


یک تابع سادس که میاد یه کاربر اضافه میکنه. تابع برای سه تا از پارامتر هاش مقدار دیفالت داره یعنی اگه پاسش ندیم اون مقدار دیفالت رو در نظر میگیره حالا فک کنید بخوایم یه کاربر اضافه کنیم و میخوایم شهر و سنش همون مقدار دیفالت باشه ولی جنسیتش رو ست کنیم اگه بخوایم پیشفرض و بر اساس ترتیب آرگومان هارو پاس بدیم نیازه که حتما مقدار شهر و سن رو هم توی آرگومان ها پاس بدیم تا بتونیم مقدار جنسیت رو بدیم اما در عوض میتونیم از طریق اسم پارامتر ها آرگومان هارو پاس بدیم مثل کد پایین



createNewUser(name : "Mammad" , gender : "male");


حالا اگه اسم آرگومان هارو مشخص نمیکردیم مجبور بودیم هر چهارتا آرگومان رو پاس بدیم و خب کدوم شلوغ تر و سخت تر میشد

این قابلیت برای توابعی که تعداد پارامتر زیادی دارن و بیشترشون هم آپشنال هستن خیلی کاربردیه

اگه میخواید بیشتر در بارش بخونید میتونید به این لینک سر بزنید

https://stitcher.io/blog/php-8-named-arguments

#php
@CleverDevs - @CleverDevsGp
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 هاستینگر ارائه دهنده خدمات هاستینگ آمریکایی اعلام کرده از تاریخ September 30, 2024 دسترسی سایت به کشورهای ذکرشده مسدود می کند و ارائه خدمات به این کشورها متوقف می شود.

#خبر

@TheRaymondDev
Forwarded from 
github.com/StollD

یکی از باحال‌ترین صفحه‌های گیت‌هابی که تا حالا دیدم:

#fun
@amiria703_channel
Forwarded from Code Module | کد ماژول (genix)
با انواع دسترسی کاربر (RBCD و RBAC) آشنا بشید! 🔥

‏Role-Based Access Control و Resource-Based Conditional Access، این مدل‌ها برای تنظیم دسترسی کاربر به منابع درون یک سازمان وب سایت و... طراحی شدن و تضمین میکنن که داده‌های حساس محافظت میشن و تنها پرسنل مجاز، میتونن اقدامات خاصی رو انجام بدن.

‏RBAC: کنترل دسترسی مبتنی بر نقش

‏RBAC یکی از پرکاربردترین مدل های کنترل دسترسی هست. بر اساس اصل تخصیص مجوزها بر اساس نقش های درون یک سازمان عمل میکنه. در یک سیستم RBAC، به هر کاربر یک یا چند نقش اختصاص داده میشه و هر نقش دارای مجوزهای خاصی هست. برای مثال، در یک محیط شرکتی، ممکنه نقش‌هایی مثل Manager یا مدیر IT داشته باشید، که هرکدوم به داده‌ها یا سیستم‌های خاصی دسترسی از پیش تعریف شده دارن.

‏RBAC با گروه‌بندی مجوزها به نقش‌ها، مدیریت دسترسی رو ساده‌تر می‌کنه، که مدیریت اون ها رو راحت‌تر از تخصیص مجوزها به صورت جداگانه به کاربران هست. این مدل به ویژه در محیط هایی که کارکردهای شغلی به خوبی تعریف شده و ثابت هستن، مؤثر هست، زیرا تضمین میکنه که کاربرا فقط به منابع لازم برای مسئولیت های شغلی خود دسترسی دارن.


‏RBCD: دسترسی مشروط مبتنی بر منابع

دسترسی مشروط مبتنی بر منابع (RBCD) یک رویکرد پویاتر و دقیق تر برای کنترل دسترسی هست. برخلاف RBAC که مجوزها رو بر اساس نقش های کاربر اختصاص میده، RBCD شرایط رو در سطح منبع ارزیابی میکنه تا حقوق دسترسی رو تعیین کنه. این به این معنی هست که تصمیمات دسترسی در زمان واقعی و بر اساس ویژگی هایی مثل مکان کاربر، دستگاه مورد استفاده، زمان دسترسی و حتی حساسیت داده های مورد دسترسی گرفته میشه.

‏RBCD سطح بالاتری از انعطاف پذیری و امنیت رو فراهم میکنه، چون میتونه با شرایط و زمینه های متغیر سازگار بشه. به عنوان مثال، ممکنه به یک کارمند اجازه داده بشه که تنها زمانی به یک سند محرمانه دسترسی داشته باشه که در شبکه شرکت باشه و از دستگاه مورد تایید شرکت استفاده کنه. این رویکرد به ویژه در محیط‌های مدرن که در اون منابع از مکان‌ها و دستگاه‌های مختلف قابل دسترسی هستن، مفیده.


به صورت کلی RBAC و RBCD هر کدوم بسته به نیازهای خاص یک سازمان، مزایای مشخصی رو ارائه میده. RBAC برای محیط‌هایی با نقش‌ها و مسئولیت‌های کاملاً تعریف‌شده ایده‌آل هست و سادگی و سهولت مدیریت رو ارائه میده. اون طرف RBCD رویکردی پویاتر و آگاه به زمینه رو برای کنترل دسترسی ارائه میکنه و اون رو برای محیط‌های پیچیده با شرایط دسترسی متفاوت مناسب‌تر می‌سازه 🚀

#rbcd #rbac
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Anophel | آنوفل
Forwarded from Anophel | آنوفل
تو جاوا اسکریپت ما سه نوع کد داریم :
1. کد Synchronous
2. کد macrotask
3. کد Microtask

نکته کلیدی سوال این سه مورد هستند.
در اولی که پیش فرض جاوااسکریپت هست کد لاین به لاین اجرا می شود و تا لاین قبلی تمام نشد لاین جدید اجرا نمیشه.

دومی : بعد از اجرای کد های Synchronou و قبل میکروتسک ها اجرا می شود مثل setTimeout و setInterval و ..
.

سومی :این بخش نیز بعد از اجرای کد های ماکروتسک اجرا می شوند. مثلا : promiseها.

بررسی مثال:
بخش Synchronous :

console.log(1); بلافاصله اجرا می‌شود و مقدار 1 در کنسول چاپ می‌شود
setTimeout یک ماکروتسک تعریف می‌کند، اما چون setTimeout تنها تنظیم کننده‌ی تاخیر است، این عملیات به تعویق می‌افتد. پس setTimeout هنوز چیزی چاپ نمی‌کند

console.log(2); نیز بلافاصله اجرا می‌شود و مقدار 2 در کنسول چاپ می‌شود

console.log(4) بلافاصله بعد از promise.then فراخوانی می‌شود و مقدار 4 در کنسول چاپ می‌شود

پس از اتمام اجرای کدهایSynchrono نیز setTimeout که یک ماکروتسک است، اجرا می‌شود.ابتدا مقدار "timerStart" را در کنسول چاپ می‌کند.سپس success فراخوانی می‌شود که باعث می‌شود promise به حالت fulfilled برسد و یک میکروتسک (یعنی promise.then) به صف میکروتسک‌ها اضافه شود.سپس مقدار "timerEnd" را چاپ می‌کند.

در‌اخرم میکروتسک اجرا می شود. success

خروجی نهایی :
1
2
4
timerStart
timerEnd
success

آنوفل

#javanoscript #js #نکته #جاوااسکریپت
Test
Test2