Mr Python | مستر پایتون
1.37K subscribers
303 photos
12 videos
8 files
359 links
مجموعه آموزش های ابزارنویسی و مهندسی معکوس

وبسایت مسترپایتون :
https://mrpythonblog.ir

ارتباط با ادمین :
@MrPythonAdmin

آپارات :
https://aparat.com/mrpythonblog

یوتیوب :
https://youtube.com/@mrpythonblog
Download Telegram
Mr Python | مستر پایتون pinned «📌 محتوای لینک شده دوره مفاهیم شبکه که تقدیمتون شد : قسمت ۱ : شرح مدل OSI ------ پروتکل های لایه شبکه ------ قسمت ۲ : پروتکل ARP قسمت ۳ : پروتکل اینترنت (IP) قسمت ۴ : پروتکل ICMP قسمت ۵ : کارگاه لایه شبکه ------ پروتکل های لایه انتقال ------ قسمت ۶ : پروتکل…»
🔴 آموزش API Hooking در ویندوز

در اصل API Hooking تکنیکی هست که به وسیله ی اون میتونیم رفتار توابع API در سیستم عامل را برای یک پروسه خاص به دلخواه تغییر بدیم . در این ویدیو میبینیم این کار چطور انجام میشه (هم در ویندوز ۳۲ بیت و هم ۶۴ بیتی) . ابتدا به صورت دستی خودمون این تکنیک رو با استفاده از دیباگر x64dbg و ابزار Cheat Engine پیاده سازی میکنیم ، سپس کدی به زبان C مینویسیم که خودش خودکار اینکارو انجام بده .

Aparat : https://www.aparat.com/v/TN7j1


#MalwareDevelopment

🆔 : @mrpythonblog
👍82
داخل زبان های خانواده C (به طور خاص C و ++C) ، برای سخت تر کردن پروسه مهندسی معکوس ، یه نکته ساده امنیتی اینه که توابع مهم امنیتی مثل چک کردن کلید سریال ، بررسی وجود دیباگر و .... رو به صورت inline تعریف کنید .

دلیلشم اینه که اگر مثلا شما ۵ جای برنامتون یکی از این توابع رو صدا میزنید ، اگه تابع رو به صورت عادی و بدون inline تعریف کرده باشید کامپایلر داخل هر کدوم از اون ۵ نقطه یک دستور فراخوانی (CALL) به تابع مورد نظر قرار میده .
کسی که داره مهندسی معکوس میکنه کافیه اون تابع مورد نظر رو پیدا کنه و خنثی کنه . اینجوری هر ۵ تا نقطه ای که به اون تابع فراخوانی میزدن از کار میافتن . این مثل یه جور نقطه شکست مرکزی تو سیستم میمونه (Single Point of Failure) .

اما در صورتی که تابع رو inline تعریف کرده باشید , تو هر کدوم از اون ۵ نقطه ای که تابع رو فراخوانی کردید ، کامپایلر دقیقا کد اون تابع مورد نظر رو عینا قرار میده و هیچ فراخوانی تابعی انجام نمیشه . اینجوری کسی که داره مهندسی معکوس میکنه برعکس مورد قبلی باید ۵ نقطه متفاوت از برنامه رو خنثی کنه .

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

🆔 : @mrpythonblog
👍7👏3
🔴 سوکت نویسی در پایتون - سوکت چیست و انواع آن

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

Aparat : https://www.aparat.com/v/SvmUg

🆔 : @mrpythonblog
👍9👏2
🔴 سوکت نویس در پایتون - کارگاه Stream Socket

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

Aparat : https://www.aparat.com/v/cWU0g

🆔 : @mrpythonblog
👍8👏1
🔴 سوکت نویسی در پایتون - کارگاه Datagram Socket

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

Aparat : https://www.aparat.com/v/sP4LT

🆔 : @mrpythonblog
👍12👏2
🔴 برنامه نویسی موازی و همروندی در پایتون - مفاهیم اولیه

این قسمت اولین قسمت از بخش برنامه نویسی موازی و همروندی هستش و موضوع این بخش این است که چگونه میتوانیم در برنامه نویسی پایتون ، چندین کار را در یک بازه زمانی مشخص همزمان پیش ببریم . در این قسمت به بررسی مفاهیم اولیه این بخش مثل برنامه نویسی همروندی ، موازی ، Thread ها و Multithreading , پروسه ها و Multiprocessing خواهیم پرداخت .

Aparat : https://www.aparat.com/v/FTRyg

🆔 : @mrpythonblog
🔥7👏2
🔴 برنامه نویسی موازی و همروندی در پایتون - کارگاه Multithreading قسمت اول

در قسمت قبل توضیح دادیم که Multithreading در پایتون مناسب پروسه های IO Bound خواهد بود و در این قسمت از کارگاه Multithreading به بررسی نحوه ساخت و مدیریت thread ها با استفاده از کتابخونه ی threading در پایتون خواهیم پرداخت . در آخر ویدیو به عنوان یک تمرین عملی ، پروژه Echo Server که در بخش قبلی یعنی سوکت نویسی پیاده کردیم را با استفاده از multithreading طوری پیاده سازی میکنیم که همزمان بتواند به ده ها کلاینت پاسخ بدهد .

Aparat : https://www.aparat.com/v/WkLfs

🆔 : @mrpythonblog
👏6👍2
🔴 برنامه نویسی موازی و همروندی در پایتون - کارگاه Multithreading قسمت آخر

در ادامه ی کارگاه multithreading به مفهوم Race Condition و نحوه استفاده از Lock ها جهت همگام سازی thread ها در پایتون میپردازیم .

Aparat : https://www.aparat.com/v/cKw7b

🆔 : @mrpythonblog
👍9👏1
🔴 برنامه نویسی موازی و همروندی در پایتون - کارگاه Multiprocessing

در آخرین قسمت از بخش موازی و همروندی در پایتون ، میرسیم به کارگاه Multiprocessing . همانطور که گفته شد بحث چندپردازشی یا همان multiprocessing مناسب کار های CPU Bound هستش که به ما اجازه میده محدودیت GIL در پایتون رو دور بزنیم و از سخت افزار خودمون استفاده بهتری ببریم .

Aparat : https://www.aparat.com/v/w6ngh

🆔 : @mrpythonblog
👍6👏3
سلام .
الگوریتم های رمزنگاری متقارن ، یعنی اونایی که از یک کلید برای هر دو عمل رمزگذاری و رمزگشاییشون استفاده میکنن ، یه مشکلی دارن و اونم بحث به اشتراک گذاری این کلید بین افراد ارتباط هستش .
اگر قرار باشه همینجوری عادی این کلید رو بین هم دیگه به اشتراک بذاریم که خب یکی اون وسط میتونه شنودش کنه . پس باید یه روش امنی برای به اشتراک گذاریش پیدا کنیم .
یه روشش اینه که مثلا همون اول ارتباط از یک الگوریتم نامتقارن ، یعنی اونایی که کلید عمومی خصوصی دارن ، استفاده کنیم تا اون کلید متقارنه رو انتقال بدیم به افراد و بعد از اون کلید برای رمزنگاری های آینده با استفاده از الگوریتم های متقارن استفاده کنیم .

در همین راستا یه الگوریتمی وجود داره به اسم Diffie hellman که میاد یه روش امن برای توافق سر یک کلید مشترک برای رمزنگاری متقارن ارائه میده . یک الگوریتم تبادل کلید هستش ‌. دو طرف ارتباط با استفاده از این الگوریتم ، طی یک پروسه ریاضیاتی به یه کلید مشترک میرسن بدونه اینکه بخوان مستقیما بین هم به اشتراک بذارنش تا خدای نکرده کسی شنودش کنه . نهایتا کسی با شنود ترافیک مربوط به الگوریتم diffie hellman به کلیدا دست پیدا نمیکنه .

جالبه بدونید پروتکل های معروفی مثل SSH , TLS/SSL و ... از Diffie Hellman برای تبادل کلید اولیه شون استفاده میکنن

انشاءالله اگه مشکلی پیش نیاد طی این چند روز یه ویدیو آماده میکنم و داخلش کامل با نحوه کارکرد Diffie Hellman آشنا میشیم و از نظر ریاضیاتی هم اثباتش میکنیم . خیلی باحاله :)
👍64
🟢 بررسی پروتکل Diffie Hellman و ریاضیات آن

یکی از مشکلاتی که الگوریتم های رمزنگاری متقارن دارن ، بحث تبادل کلیدشونه . این مشکل وقتی خیلی به چشم میاد که دو طرف ارتباط خیلی از هم دور باشن و مجبور باشن از طریق اینترنت یا ... سر یه کلید توافق کنن . مشکل اینجاست که ممکنه کسی اون وسط بتونه کلیدشون رو شنود کنه . دیفی هلمن اومده که این مشکلو حل کنه . یه الگوریتم ریاضیاتی که دو طرف ارتباط با استفاده از اون سر یک کلید یکسان توافق میکنن بدون اینکه با شنود ارتباط بین اونا بشه فهمید اون کلیده چی بوده !!‌ :)

در این ویدیو ابتدا پیشنیاز های ریاضیاتی دیفی هلمن رو مطرح میکنیم ، یک سری قضیه اثبات میکنیم و سپس با استفاده از اون قضایا خیلی راحت دیفی هلمن رو درک میکنیم ... با ما همراه باشید :)

Aparat : https://www.aparat.com/v/CgS6U

#Cryptography

🆔 : @mrpythonblog
👍11
🔴 ساختار فایل PE قسمت ۲ – Section ها

در قسمت قبلی مجموعه ساختار فایل های PE ، به بررسی بخش DOS HEADER & DOS STUB و NT HEADERS در فایل های PE پرداختیم . در این قسمت به بررسی Section های یک فایل PE خواهیم پرداخت .

https://mrpythonblog.ir/pe2

#pe

🆔 : @mrpythonblog
🔥9
🔴 ساختار فایل PE قسمت ۳ – صادرات (Exports)

در سیستم عامل ویندوز ، فایل های PE میتوانند توابعی را صادر (export) کنند تا فایل های PE دیگر از طریق وارد (import) کردن ، از آن ها استفاده کنند . این رفتار را اغلب در فایل های DLL مشاهده میکنیم ولی در واقعیت هر فایل PE حتی فایل های اجرایی میتوانند export هایی داشته باشند .

https://mrpythonblog.ir/pe3

#pe

🆔 : @mrpythonblog
7👍3🥰1
#معرفی_منبع

The Ghidra Book : The Definitive Guide

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

گیدرا یک نرم افزار جامع جهت مهندسی معکوس نرم افزار هستش که برخی از نکات مثبتش که در تجربه شخصی دیدم به شرح زیر هستند :

- پشتیبانی از طیف وسیعی از معماری های پردازنده ها و فرمت فایل ها
- دارای Decompiler کد C
- دارای Disassembler خوب و قابل قبول
- قابلیت اتوماسیون و اسکریپت نویسی به زبان های جاوا و پایتون
- چند سکویی بودن و قابل اجرا در سیستم عامل های Windows , Linux و Mac

و هزاران ابزار و قابلیت خوب دیگر

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

🆔 : @mrpythonblog
9👍3🎉1
#معرفی_منبع

معرفی سه تا سایت باحال :

1⃣ https://malapi.io
یه لیستی از توابعی که داخل بدافزار ها استفاده میشه تفکیک شده بر اساس نوع بدافزار . روی هر تابع کلیک کنید اطلاعات و prototype توابع رو هم داره .

2⃣ https://filesec.io
یه لیستی از پسوند فایل هایی که توسط هکر ها استفاده میشه تفکیک شده بر اساس نوع حمله .

3⃣ https://lots-project.com
لیستی از دامنه هایی که توسط بدافزار ها استفاده میشه تفکیک شده براساس نوع بدافزار .

🆔 : @mrpythonblog
👍9👏3
malapi.png
4.9 MB
اینم تصویر تولید شده از همون سایت malapi از لیست توابع
👍12