فهرست مطالب:

این PNG محفظه مخفی است: 4 مرحله
این PNG محفظه مخفی است: 4 مرحله

تصویری: این PNG محفظه مخفی است: 4 مرحله

تصویری: این PNG محفظه مخفی است: 4 مرحله
تصویری: 4- مستند ماده تاریک، انرژی تاریک و ویسکوزیته فضا - براساس تئوری محمدعلی طاهری 2024, نوامبر
Anonim
این مخفی است
این مخفی است
این مخفی است
این مخفی است

خواننده عزیز ، چالش شما این است که بفهمید چه پیامی در خروجی-p.webp

این دو تصویر در اینجا یکسان به نظر می رسند اما اینها نیستند اینها عکسهای greenman-p.webp

این آموزش با الهام از یک ویدیوی یوتیوب عالی ساخته شده است. پس از تماشای این ویدئو در اواخر شب یک روز و تلاش برای فکر کردن در مورد یک سخنرانی و امتحان میان ترم برای کلاس برنامه نویسی پیشرفته جاوا ، این پروژه متولد شد. تصاویر بالا ، همراه با کد توصیف شده در این دستورالعمل ، در Github رایگان است.

تدارکات

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

مرحله 1: استگانوگرافی چیست

شما باید ویدیوی یوتیوب را که در مرحله قبل پیوند دادم تماشا کنید ، اما خلاصه آن در اینجا آمده است:

اگر می خواهید یک پیام مخفی را برای یک دوست پنهان کنید ، یک راه جالب برای انجام این کار Steganography است. ایده تصویری تصویر ساده است. تصاویر رایانه ای از پیکسل ساخته شده اند و هر پیکسل ترکیبی از قرمز ، سبز و آبی است. در بسیاری از فرمت های تصویر کامپیوتر ، مقدار قرمز ، سبز و آبی در هر پیکسل به عنوان مقادیر 0-127 بیان می شود. به عنوان مثال ، یک پیکسل بسیار قرمز دارای مقدار قرمز 127 و مقادیر سبز و آبی صفر است. ترفند این است: شدت قرمز 126 از شدت قرمز 127 (تا چشم انسان) قابل تشخیص نیست. و بنابراین با تعارض با مثبت یا منفی یک در هر پیکسل قرمز می توانیم بیت ها را در پیکسل پنهان کنیم. اگر راهی دزدکی برای جمع آوری مجدد بیت ها پیدا کنیم ، می توانیم داده هایی را که در تصویر مخفی کرده ایم بازیابی کنیم!

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

مرحله 2: چگونه متن بر روی رایانه ها رمزگذاری می شود

چگونه متن بر روی رایانه ها رمزگذاری می شود
چگونه متن بر روی رایانه ها رمزگذاری می شود

آنچه در اینجا ذکر می شود ممکن است نیاز به مدرک CS یا اشتیاق فراوان برای درک داشته باشد. کامپیوترها داده ها را در بیت های 1s و 0s ذخیره می کنند. این 1 ها و 0 ها معمولاً در دسته های 8 تایی دسته بندی شده و به آنها "بایت" گفته می شود. همانطور که در اینجا و اینجا توضیح داده شده راه های کمی وجود دارد که ما می توانیم به رایانه بگوییم بایت ها را به عنوان متن تفسیر کند. برای بهره مندی بیشتر از این سخنرانی/قابل آموزش ، باید کم و بیش ASCII و UTF8 را بشناسید. این دو روش رایج برای رمزگذاری داده های زبان در یک سری بایت است.

وقتی ایده ای در مورد این موضوع پیدا کردید ، این را می فهمید: در ASCII و UTF8 کلمه "the" با بایت های زیر (به صورت شش ضلعی) 0x74 0x68 0x65 نشان داده می شود. در باینری ، این بایت ها عبارتند از: 01110100b 01101000b 01101101b

علاوه بر این ، متوجه خواهید شد که در UTF8 یک شکلک صورت پوزخند با بایت های زیر (به صورت شش ضلعی) 0xF0 0x9F 0x98 0x80 نشان داده می شود. در باینری این بایت ها 11110000b 10011111b 10011000b 10000000b هستند.

در هر صورت در تصویر ضمیمه شده مشاهده خواهید کرد که کامپیوتر من با این بایت ها کاری انجام می دهد. من آنها را در خروجی برنامه با فلش و "LOOK!" بزرگ برجسته کرده ام.

مرحله 3: نحوه عملکرد برنامه

کامپایل برنامه از github آسان است. هر چند وقت یکبار repo نشان داده شده در صفحه اول را دریافت کنید

این برنامه از خط فرمان به این صورت اجرا می شود: java Main input-p.webp

در نمونه های پیوست می بینید که من java Main greenman-p.webp

شما هم همین کار را خواهید کرد.

اگر به Main.java نگاه کنید خواهید دید که این همان چیزی است که اتفاق می افتد:

  1. برنامه تصویر را در یک آرایه دو بعدی می خواند
  2. برنامه پیامی را که وارد کرده اید به آرایه بایت تبدیل می کند (بایت )
  3. سپس برنامه از کلاس MessageHider برای پنهان کردن بایت های پیام در آرایه تصویر استفاده می کند.
  4. سپس برنامه آرایه 2d تصویر را در یک فایل (output.png) با داده های مخفی در داخل می نویسد. اگر به این تصویر نگاه کنید ، از تصویر اصلی قابل تشخیص نیست
  5. سپس برنامه output-p.webp" />

بنابراین تقریباً کد همانطور که انتظار داریم کار می کند.

مرحله 4: نتیجه گیری

بنابراین من تعدادی کد کار ، اثبات این که به شکل تصویر عمل می کند ، و برخی یادداشت های سخنرانی را که به دانشجویان دانشگاه می دهم به شما ارائه کردم. من هم به شما چالش دادم! من چند ساعت را صرف نوشتن کد و تهیه یادداشت های سخنرانی کردم ، بنابراین متاسفم که این فایل آموزشی چندان عکس ندارد. اگر فکر می کنید استگانوگرافی جالب است لطفاً چالش من را بپذیرید!

توصیه شده: