کتاب هک کردن IBM PC: راهنمای جامع برنامهنویس برای کنترل عمیق سختافزار و سیستم عامل با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
هک کردن IBM PC: راهنمای جامع برنامهنویس برای کنترل عمیق سختافزار و سیستم عامل هک کردن IBM PC: دروازهای به دنیای برنامهنویسی سطح پایین و کنترل بینظیر سختافزار آیا رویای کنترل کامل کامپیوتر خود را...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره هک کردن IBM PC: راهنمای جامع برنامهنویس برای کنترل عمیق سختافزار و سیستم عامل
موضوع کلی: برنامهنویسی سطح پایین و معماری کامپیوترهای شخصی
موضوع میانی: برنامهنویسی سیستمی و تعامل مستقیم با سختافزار IBM PC
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری IBM PC و اهمیت برنامهنویسی سطح پایین
- 2. تاریخچه کامپیوترهای شخصی IBM و سازگارهای آن
- 3. مروری بر اجزای اصلی سختافزار: پردازنده، حافظه، باسها و دستگاههای جانبی
- 4. سیستمهای عددی برای برنامهنویسان: باینری، هگزادسیمال و اکتال
- 5. مفاهیم پایه حافظه: بیت، بایت، کلمه و آدرسدهی
- 6. ابزارهای ضروری: اسمبلر، لینکر و دیباگر (DEBUG.exe)
- 7. ساختار یک برنامه اسمبلی: مدلهای حافظه و سگمنتها
- 8. برنامه "سلام دنیا" در اسمبلی: اولین تماس با کد سطح پایین
- 9. تفاوت فایلهای COM و EXE و نحوه ساخت هر کدام
- 10. نقشه راه دوره: از بایوس و داس تا کنترل مستقیم سختافزار
- 11. معماری پردازنده 8088/8086: قلب تپنده IBM PC
- 12. رجیسترهای عمومی: AX, BX, CX, DX
- 13. رجیسترهای سگمنت: CS, DS, ES, SS
- 14. رجیسترهای اشارهگر و اندیس: SP, BP, SI, DI
- 15. رجیستر فلگها (Flags) و نقش آن در تصمیمگیری
- 16. مفاهیم پشته (Stack) و عملیات PUSH و POP
- 17. حالتهای آدرسدهی پردازنده
- 18. دستورالعملهای انتقال داده (MOV, LEA, XCHG)
- 19. دستورالعملهای محاسباتی و منطقی (ADD, SUB, AND, OR, XOR)
- 20. دستورالعملهای کنترل جریان برنامه (JMP, CALL, RET, LOOP)
- 21. نقشه حافظه یک مگابایتی IBM PC
- 22. آدرسدهی سگمنت:آفست (Segment:Offset)
- 23. حافظه قراردادی (Conventional Memory) و محدوده 640 کیلوبایتی
- 24. ناحیه حافظه بالا (Upper Memory Area - UMA)
- 25. کاوش در ROM BIOS و حافظههای فقط خواندنی سیستم
- 26. ناحیه دادههای بایوس (BIOS Data Area - BDA)
- 27. بافرهای حافظه ویدئو: متنی و گرافیکی
- 28. جدول بردار وقفه (Interrupt Vector Table - IVT)
- 29. مفهوم وقفه (Interrupt) نرمافزاری و سختافزاری
- 30. مقدمهای بر سرویسهای ROM BIOS
- 31. سرویسهای ویدئویی (INT 10h): مدیریت حالتهای نمایش و مکاننما
- 32. سرویسهای ویدئویی (INT 10h): نوشتن کاراکتر و صفات رنگی
- 33. سرویسهای دیسک (INT 13h): خواندن و نوشتن سکتورها
- 34. سرویسهای صفحه کلید (INT 16h): دریافت ورودی از کاربر
- 35. سرویسهای پورت سریال (INT 14h)
- 36. سرویسهای چاپگر (INT 17h)
- 37. سرویسهای سیستمی (INT 11h, INT 12h): تشخیص تجهیزات و اندازه حافظه
- 38. سرویسهای زمان و تاریخ (INT 1Ah)
- 39. مفهوم هوک کردن وقفهها (Interrupt Hooking)
- 40. نقش سیستمعامل داس (DOS)
- 41. فراخوانی سرویسهای داس: وقفه 21h
- 42. توابع ورودی و خروجی کاراکتر در داس
- 43. مدیریت فایل با استفاده از دستگیرهها (File Handles)
- 44. ایجاد، باز کردن و بستن فایلها
- 45. خواندن و نوشتن در فایلها
- 46. مدیریت دایرکتوریها: ساخت، حذف و پیمایش
- 47. مدیریت حافظه در داس و بلوکهای کنترل حافظه (MCB)
- 48. اجرای برنامههای دیگر (تابع EXEC)
- 49. مقدمهای بر برنامههای مقیم در حافظه (TSR)
- 50. کاوش در توابع مستندنشده داس
- 51. تکامل گرافیک در کامپیوترهای شخصی: MDA, CGA, EGA, VGA
- 52. حالت متنی (Text Mode): بایت کاراکتر و بایت صفت
- 53. نوشتن مستقیم در حافظه ویدئویی حالت متنی
- 54. کنترلر CRT 6845 و رجیسترهای آن
- 55. حالتهای گرافیکی CGA و محدودیتهای آن
- 56. معماری EGA و مفهوم صفحات حافظه (Planes)
- 57. معماری VGA و مبدل دیجیتال به آنالوگ (DAC)
- 58. برنامهنویسی برای حالت گرافیکی محبوب Mode 13h (320x200x256)
- 59. تکنیکهای پیشرفته گرافیکی: صفحهبرگردانی (Page Flipping)
- 60. شناسایی کارت گرافیک نصب شده
- 61. مقایسه سرعت: خروجی از طریق بایوس در مقابل نوشتن مستقیم در حافظه
- 62. دستکاری فونتهای کاراکتری در حالت متنی
- 63. کنترلر صفحهکلید 8042
- 64. اسکنکد (Scan Code) در مقابل کد اسکی (ASCII)
- 65. خواندن وضعیت لحظهای کلیدها از پورتهای سختافزاری
- 66. بافر صفحهکلید و نحوه عملکرد آن
- 67. سرویسهای ماوس (INT 33h)
- 68. خواندن موقعیت و وضعیت دکمههای ماوس
- 69. طراحی یک نشانگر ماوس سفارشی در حالت گرافیکی
- 70. کنترلر فلاپی دیسک (FDC)
- 71. هندسه دیسک: سیلندر، هد و سکتور
- 72. رکورد راهانداز اصلی (Master Boot Record - MBR)
- 73. سکتور راهانداز داس (DOS Boot Sector) و بلوک پارامترهای بایوس (BPB)
- 74. ساختار جدول تخصیص فایل (FAT)
- 75. ساختار دایرکتوری ریشه (Root Directory)
- 76. کنترل مستقیم پورت سریال (UART)
- 77. کنترل مستقیم پورت موازی (LPT)
- 78. کنترلر وقفه برنامهپذیر (PIC 8259A)
- 79. نقابگذاری (Masking) وقفههای سختافزاری
- 80. فرمان پایان وقفه (End-of-Interrupt)
- 81. تایمر قابل برنامهریزی (PIT 8253/8254)
- 82. استفاده از تایمر برای ایجاد تأخیرهای دقیق
- 83. تولید صدا با استفاده از تایمر و بلندگوی داخلی (PC Speaker)
- 84. کنترلر دسترسی مستقیم به حافظه (DMA 8237A)
- 85. ساعت بیدرنگ (Real-Time Clock - RTC)
- 86. نقشه پورتهای ورودی/خروجی (I/O Ports)
- 87. حافظه CMOS و ذخیره تنظیمات سیستم
- 88. تکنیکهای پیشرفته برنامهنویسی TSR
- 89. نوشتن یک روال سرویس وقفه (ISR) سفارشی
- 90. نوشتن یک برنامه ساده برای سکتور راهانداز (Boot Sector)
- 91. ساخت یک درایور دستگاه (Device Driver) ساده
- 92. ترکیب اسمبلی با زبانهای سطح بالا مانند C و پاسکال
- 93. تکنیکهای بهینهسازی حافظه و کاهش حجم برنامه
- 94. مهندسی معکوس برنامههای ساده با DEBUG
- 95. کاوش در عملکرد داخلی COMMAND.COM
- 96. پروژه نهایی: ساخت یک بازی یا ابزار کاربردی کوچک
- 97. میراث IBM PC و گذار به معماریهای مدرن
تگها:
Assembly Language
Computer Architecture
DOS Programming
Hardware Interaction
IBM PC
IBM PC Hacking
low-level programming
PC programming
Peter Norton
Retro Computing
System Control
System Programming
برنامهنویسی سطح پایین
برنامهنویسی سیستمی
معماری کامپیوتر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.