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

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

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

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

یوتیوب :
https://youtube.com/@mrpythonblog
Download Telegram
🟣 بهره گیری از بخش Resource فایل های PE در بدافزارها

همانطور که میدانید ساختار اصلی فایل های اجرایی در سیستم عامل ویندوز ، ساختار PE میباشد . این ساختار شامل بخش های مختلف برای نگهداری انواع مختلف اطلاعات میباشد . مثلا بخشی به نام text. برای نگهداری کد های ماشین فایل اجرایی ، بخشی به نام idata. برای نگهداری اطلاعات مربوط به واردات (Imports) فایل و .... یکی از بخش های بسیار مهم فایل های PE که در توسعه بدافزار ها به شدت استفاده میشود بخش Resource ها میباشد . برنامه نویس یا بدافزار نویس میتواند هرنوع اطلاعات دلخواهی را در این بخش ذخیره کند و حین اجرا آن اطلاعات را به دلخواه استخراج کرده و از آن ها استفاده کند .
در این ویدیو نحوه کار با توابع Windows API جهت استفاده از Resource ها را یاد گرفته و برای مثال بدافزاری مینویسیم که یک پیلود reverse shell را در زمان اجرا از بخش resource های خود استخراج کرده و آن را اجرا میکند .

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

#MalwareDevelopment

🆔 : @MrPythonBlog | BOOST
7
Mr Python | مستر پایتون
سلام . دوستان عزیز دقت کنید تا زمانی که وبسایت مسترپایتون به طور کامل دردسترس قرار نگرفته و اینترنت بین الملل برقرار نشده از وبسایت مسترپایتون دوره ای خریداری نکنید چون ممکنه به دلیل اختلالات توی خریدتون مشکل پیش بیاد یا نتونید محتوای دوره رو دانلود کنید و…
درود بر شما دوستان
وضعیت وبسایت مسترپایتون به حالت عادی برگشته و تمامی خدمات ما قابل ارائه هستش . تقریبا دیگه اختلال خاصی روی ترافیک وبسایت مشاهده نشده .
همچنان روز به روز با آموزش ها و خدمات بیشتر در خدمتتون هستیم .

Web : https://MrPythonBlog.ir
Aparat : https://aparat.com/MrPythonBlog
Youtube : https://youtube.com/@MrPythonBlog
Telegram : @MrPythonBlog
🔥7👍1
چند وقت پیش مجبور شدم سیستم عاملم رو عوض کنم و یک لینوکس Ubuntu نصب کنم . همیشه پارتیشن ها و مسیر هایی داشتم که یادم میموند حتما ازشون بکاپ بگیرم و در سیستم عامل های جدید داشته باشمشون . مثلا مسیری که پروژه هامو ذخیره میکردم . مسیری که بکاپ های شرکت بود و ...

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

برای اینکه دیگه این اتفاق نیفته ، تصمیم گرفتم تمام مسیر هایی که از این به بعد مهم هستند و نیازه تا حین تعویض سیستم عامل ازشون بکاپ بگیرم رو یک فایل مخفی خالی به نام important. داخلشون ذخیره کنم :

# in an important location :
$ touch .important


حالا از این به بعد هرموقع میخوام سیستم عامل جدید نصب کنم کافیه یک بار دستور locate رو اجرا کنم تا تمام مسیر هایی که تگ important روشون زدم نمایان بشن و بکاپ بگیرم ازشون :

$ locate .important
/home/hossein/Desktop/DB/.important
/home/hossein/MrPython/.important
/home/hossein/Projects/.important
/home/hossein/Backups/.important


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

ولی خب این روشی بود که به ذهن من رسید از اونجایی که پارتیشن جدای اختصاصی ندارم .

🆔 : @MrPythonBlog | BOOST
🔥112😢2
سلام . وقتتون بخیر
احتمالا به زودی یک دوره آموزش اسمبلی x86 شروع کنیم که از مباحث پایه ای شروع میشه تا نهایتا برنامه نویسی اسمبلی در سیستم عامل های ویندوز و لینوکس در اسمبلر هایی نظیر nasm و masm .
28🔥8👍4👏2🙏2
🟣 اسمبلی x86 - قسمت 1 : مقدمه و معرفی معماری x86

خوش آمدید به دوره آموزش زبان اسمبلی معماری x86 . در این قسمت که اولین قسمت دوره هستش به معرفی مفاهیم اولیه نظیر معماری x86 , تعریف ریزپردازنده ، معرفی مدل von neumann و اجزای اصلی سخت افزار ... خواهیم پرداخت .

00:38 معماری x86 چیست ؟
05:15 معرفی مدل Von Neumann
12:53 واحد پرداشگر مرکزی (CPU)
18:50 حافظه اصلی (Memory)
19:25 ورودی / خروجی (I/O)
20:18 باس (BUS)
25:34 مجموعه دستورالعمل (Instruction Set) چیست ؟
26:53 معماری های CISC در مقابل RISC
32:03 زبان اسمبلی x86 چیست ؟
42:10 مترجم (Compiler) ، Assembler و Linker چیست ؟

Aparat : https://www.aparat.com/v/gdd29pw
Youtube : https://youtu.be/3qg0upxuGKE

🆔 : @MrPythonBlog | BOOST
23👍4🔥4
🟣 اسمبلی x86 - قسمت 2 : مبنای اعداد

در قسمت دوم به توضیح مبنا های مختلف اعداد و نحوه تبدیل آن ها به یکدیگر صحبت خواهیم کرد . مهارت کار با مبنا های غیر از 10 نظیر 16 ، 8 و 2 در برنامه نویسی اسمبلی و مهندسی معکوس بسیار مهم میباشد .

01:13 مفهوم مبنای عدد چیست ؟
12:38 پر استفاده ترین مبنا های اعداد
20:00 تبدیل عدد از مبنای 10 به مبنا های دیگر
31:59 تبدیل عدد از مبناهای دیگر به مبنای 10
39:52 تبدیل بین مبنا های غیر از 10
41:49 تبدیل سریع بین مبنا های 16 و 2
54:22 تبدیل سریع بین مبنا های 8 و 2

Aparat : https://www.aparat.com/v/znw099n
Youtube : https://youtu.be/afvicByGI24

🆔 : @MrPythonBlog | BOOST
21👍2🤩1
🟣 اسمبلی x86 - قسمت 3 : محاسبات ریاضی روی مبنا های دیگر

در این ویدیو به نحوه انجام محاسبات ساده ریاضی نظیر جمع و تفریق به طور مستقیم روی مبنا های غیر از 10 نظیر 2 ، 8 و 16 صحبت خواهیم کرد . توانایی انجام این محاسبات به صورت دستی روی مبنا های دیگر باعث درک بهتر از کارکرد سیستم در مباحث آینده خواهد شد .

01:49 جمع (Addition)
17:00 تفریق (Subtraction)
23:20 ضرب (Multiplication)

Aparat : https://www.aparat.com/v/yfgc947
Youtube : https://youtu.be/pNvN7LJZdhk

🆔 : @MrPythonBlog | BOOST
13👍2
🟣 اسمبلی x86 - قسمت 4 : متمم ۲ و اعداد منفی

ما به طور روزمره اعداد منفی را به سادگی با گذاشتن یک علامت منفی (-) در سمت چپ آن ها مشخص میکنیم . سوال اینجاست که آیا این روش مناسب ذخیره اعداد منفی در کامپیوتر ها نیز میباشد ؟ جواب خیر است زیرا پیاده سازی این روش در کامپیوتر ها بهینه نیست و نیازمند سخت افزار گران تر و پیچیده تر میباشد .
در این ویدیو به بررسی چگونگی ذخیره سازی اعداد منفی در کامپیوتر ها و معرفی رایج ترین روش های آن ها خواهیم پرداخت .

00:53 روش های مختلف نگه داری اعداد منفی در کامپیوتر
02:46 روش مقدار-علامت (Sign-Magnitude)
13:24 روش متمم 1 (One's Complement)
17:52 روش متمم 2 (Two's Complement)
28:19 مفهوم علامت دار و بدون علامت بودن عدد

Aparat : https://www.aparat.com/v/bjj87ce
Youtube : https://youtu.be/ibe9MR2DgQg

🆔 : @MrPythonBlog | BOOST
11🔥2
🟣 اسمبلی x86 - قسمت 5 : عملگرهای بیتی

در این قسمت به بررسی عملگر های بیتی پراستفاده نظیر AND , OR , NOT ,XOR پرداخته ، مرسوم ترین کاربرد های آن ها را معرفی کرده و با عملگر های shift و rotate آشنا میشویم .

00:55 عملگر بیتی (Bitwise Operator) چیست ؟
03:43 عملگر NOT
06:52 عملگر AND
10:41 پاکسازی بیت (bit clearing) توسط عملگر AND
15:10 تست بیت (bit testing) توسط عملگر AND
19:04 عملگر OR
20:40 انجام bit setting توسط عملگر OR
23:09 عملگر XOR
24:21 انجام bit toggling توسط عملگر XOR
28:25 عملگر Shift
35:51 عملگر Rotate

Aparat
: https://www.aparat.com/v/ycj35fu
youtube : https://youtu.be/l3NiAcOB_EE

🆔 : @MrPythonBlog | BOOST
17👍2🔥1
🟣 اسمبلی x86 - قسمت 6 : چرخه اجرای 8086

از این قسمت وارد بخشی از دوره خواهیم شد که اختصاصا به ریزپردازنده 8086 که پایه ی خانواده x86 حساب میشه میپردازیم . در این قسمت به معرفی نمای کلی داخلی 8086 که شامل بخش های EU و BIU هست میپردازیم ، چرخه اجرای (Execution Cycle) این ریزپردازنده را بررسی کرده و در مورد قابلیت خط لوله (Pipeline) که موجب تسریع و بهینه سازی اجرای دستورالعمل ها خواهد شد صحبت میکنیم .

02:08 معرفی و یادآوری ریزپردازنده 8086
08:17 چرخه اجرا (Execution Cycle)
12:40 نمای کلی داخلی 8086 شامل بخش های BIU و EU
22:07 قابلیت خط لوله (Pipeline) در 8086

Aparat : https://www.aparat.com/v/bpww31t
Youtube : https://youtu.be/xgZ2AmyrDKI

🆔 : @MrPythonBlog | BOOST
11🔥2👏1
🟣 اسمبلی x86 - قسمت 7 : ثبات ها (Register) در 8086

در این ویدیو به بررسی ثبات ها یا Register ها در پردازنده میپردازیم که بخش بنیادی و مهم هر پردازنده محسوب میشوند .

00:41 ثبات (Register) چیست ؟
05:34 ثبات های عمومی (General-Purpose) در 8086
19:24 ثبات های قطعه (Segment Register)
27:43 ثبات پرچم (Flags)

Aparat : https://www.aparat.com/v/afm384e
Youtube : https://youtu.be/vSARAaTzN9I

🆔 : @MrPythonBlog | BOOST
🔥86👍1
🟣 اسمبلی x86 - قسمت 8 : مدل حافظه قطعه بندی (Segmentation) در 8086

در این ویدیو به بررسی مدل حافظه مورد استفاده از ریزپردازنده 8086 به نام قطعه بندی (Segmentation) خواهیم پرداخت .

01:00 مدل حافظه (Memory Model) چیست ؟
03:13 مدل قطعه بندی (Segmentation) چیست ؟
08:10 حافظه 8086
13:36 آدرس های حافظه (منطقی و فیزیکی) در 8086
19:34 الگوریتم تبدیل آدرس منطقی به فیزیکی در قطعه بندی 8086
24:27 نکاتی در مورد قطعه بندی 8086
26:46 مروری بر ثبات های قطعه (Segment Registers) در 8086

Aparat : https://www.aparat.com/v/phvb3j9
Youtube : https://youtu.be/0DWjnkXruUo

🆔 : @MrPythonBlog | BOOST
12👍1
🟣 اسمبلی x86 - قسمت 9 : حافظه پشته (Stack)

در این قسمت به بررسی حافظه پشته یا Stack خواهیم پرداخت . به طور کلی پشته یک قطعه یا ناحیه از حافظه میباشد که جهت ذخیره داده های موقتی ، اطلاعات مربوط به توابع نظیر متغییر های محلی آن ها و ... به کار میرود .

00:08 حافظه پشته (Stack) چیست ؟
01:50 جهت رشد پشته
05:32 عملیات های PUSH و POP
15:03 تشریح عملیات PUSH
16:48 تشریح عملیات POP
18:59 جمع بندی ساختار داخلی 8086

Aparat : https://www.aparat.com/v/hbjl89x
Youtube : https://youtu.be/XqmQXUhGXmk

🆔 : @MrPythonBlog | BOOST
8👍2🔥2
🟣 اسمبلی x86 - قسمت 10 : شروع برنامه نویسی اسمبلی و معرفی شبیه ساز EMU8086

با بررسی پیش نیاز های تئوری در بخش های قبلی ، از این قسمت وارد بخش جدیدی از دوره خواهیم شد که قراره برای سیستم عامل قدیمی MS-DOS و روی پردازنده 8086 به زبان اسمبلی برنامه بنویسیم !
در این قسمت به بررسی و معرفی اولیه نرم افزار شبیه ساز 8086 به نام emu8086 پرداخته ایم و همچنین ساختار کلی برنامه های اسمبلی در این نرم افزار را معرفی کرده ایم .


Aparat : https://www.aparat.com/v/why3lh3
Youtube : https://youtu.be/BelMV4g7ID4

🆔 : @MrPythonBlog | BOOST
10👍3👏1
🟣 اسمبلی x86 - قسمت 11 : تعریف داده و دسترسی به حافظه داده

در این قسمت به بررسی نحوه تعریف داده های دلخواه در قطعه (Segment) داده پرداخته ایم و یاد میگیرم چطور میتونیم به هر کجای حافظه داده با آدرس دلخواه دسترسی پیدا کنیم ، از آن داده بخوانیم یا در آن داده بنویسیم . همچنین به بررسی حالت های مختلف بکارگیری دستورالعمل MOV نیز پرداخته ایم .

Aparat : https://www.aparat.com/v/gvhr426
Youtube : https://youtu.be/GFph31QvzDI

🆔 : @MrPythonBlog | BOOST
🔥64👍2
🟣 اسمبلی x86 - قسمت 12 : حالت های آدرس دهی 8086

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

Aparat : https://www.aparat.com/v/doydpzf
Youtube : https://youtu.be/m7hnZgot5uw

🆔 : @MrPythonBlog | BOOST
5🔥3👍1
🟣 اسمبلی x86 - قسمت 13 : مفهوم Endianness و دستورالعمل های LEA و XCHG


در این قسمت ابتدا به بررسی مفهوم Endianness پرداخته که مشخص کننده ترتیب ذخیره داده های چند بایتی توسط پردازنده ها در حافظه است . سپس به معرفی دستورالعمل های LEA و XCHG پرداخته شده است .

Aparat : https://www.aparat.com/v/qpium1k
Youtube : https://youtu.be/NWzpzb5qd7s

🆔 : @MrPythonBlog | BOOST
9👍2
🟣 اسمبلی x86 - قسمت 14 : دستورالعمل های ریاضیاتی

در این قسمت به بررسی دستورالعمل های ریاضیاتی INC , DEC , NEG , ADD , SUB خواهیم پرداخت که اعمال ریاضیاتی نظیر جمع و تفریق را برای ما انجام میدهند . همچنین تاثیر این دستورالعمل ها روی ثبات پرچم ها (FLAG) را نیز بررسی کرده ایم .

Aparat : https://www.aparat.com/v/aphag7c
Youtube : https://youtu.be/BNugNESKtmA

🆔 : @MrPythonBlog | BOOST
10
🟣 اسمبلی x86 - قسمت 15 : ادامه دستورالعمل های ریاضیاتی

در این قسمت و در ادامه قسمت قبلی به بررسی دستورالعمل های ریاضیاتی ضرب و تقسیم علامت دار و بدون علامت و دستورالعمل های توسعه علامت دار (Sign-Extention) CWD و CBW پرداخته ایم .

Aparat : https://www.aparat.com/v/ydhsg17
Youtube : https://youtu.be/69mevt_QFCw

🆔 : @MrPythonBlog | BOOST
5
🟣 اسمبلی x86 - قسمت 16 : دستورالعمل های منطقی

در این قسمت به بررسی دستورالعمل های منطقی AND , OR , NOT و XOR و کاربرد آن ها پرداخته ایم .

Aparat : https://www.aparat.com/v/pxym3a7
Youtube : https://youtu.be/F0ZHDCkWYAc

🆔 : @MrPythonBlog | BOOST
6👍1