💀 با C یک Hex Viewer هکری بساز! + code
تصاویر پروژه
1 تصویر
تا حالا خواستی بفهمی یک فایل واقعاً داخلش چه چیزی ذخیره کرده؟
با C میتونیم یک ابزار ترمینالی بسازیم که فایل را به شکل Hex + ASCII نمایش بده؛ چیزی شبیه ابزارهایی که برای تحلیل فایلها استفاده میشوند.
📚 آموزش خطبهخط
خط ۱: کتابخانه استاندارد ورودی و خروجی C را وارد میکند.
خط ۲: توابع مربوط به تشخیص کاراکترهای قابل نمایش را در اختیار برنامه قرار میدهد.
خط ۵: یک اشارهگر برای فایل ایجاد میکند.
خط ۶: متغیری برای ذخیره نام فایل ایجاد میکند.
خط ۷: یک Buffer با ظرفیت ۱۶ بایت ایجاد میکند.
خط ۸: تعداد بایتهای خواندهشده را نگه میدارد.
خط ۱۰: از کاربر نام فایل را دریافت میکند.
خط ۱۲: فایل را در حالت Binary و فقط برای خواندن باز میکند.
خط ۱۴: بررسی میکند که فایل با موفقیت باز شده باشد.
خط ۱۹: عنوان خروجی Hex Viewer را نمایش میدهد.
خط ۲۲: فایل را حداکثر ۱۶ بایت در هر مرحله میخواند.
خط ۲۴ تا ۲۶: هر بایت را به فرمت Hex نمایش میدهد.
خط ۳۰: بخش ASCII خروجی را شروع میکند.
خط ۳۲ تا ۳۶: کاراکترهای قابل نمایش را نمایش میدهد و بقیه را با "." جایگزین میکند.
خط ۴۲: فایل را میبندد.
خط ۴۴: اجرای موفق برنامه را اعلام میکند.
🧠 خروجی چه شکلی میشود؟
مثلاً اگر فایل شامل متن باشد، ممکن است چیزی شبیه این ببینی:
48 65 6C 6C 6F 20 43 21 | Hello C!
سمت چپ بایتهای فایل به صورت Hex هستند و سمت راست نسخه قابلخواندن آنها.
🚀 چالش
نسخه بعدی را خودت بساز:
- شماره خط یا Offset را اضافه کن.
- فایلهای بزرگ را بهتر نمایش بده.
- امکان انتخاب چند فایل را اضافه کن.
- تعداد کل بایتهای فایل را در انتها نمایش بده.
اینجا داری با یکی از مفاهیم پایهای ولی قدرتمند C یعنی کار مستقیمتر با حافظه و دادههای باینری آشنا میشی.
نظرات
0 نظرنظر خود را بنویسید