সুচিপত্র:

এই PNG হল গোপন বগি: Ste টি ধাপ
এই PNG হল গোপন বগি: Ste টি ধাপ

ভিডিও: এই PNG হল গোপন বগি: Ste টি ধাপ

ভিডিও: এই PNG হল গোপন বগি: Ste টি ধাপ
ভিডিও: React JS Crash Course for everyone | Learn From(Basics| Hooks| Styles| Routing| Form| Axios| API's) 2024, নভেম্বর
Anonim
এই হল সিক্রেট বগি
এই হল সিক্রেট বগি
এই হল সিক্রেট বগি
এই হল সিক্রেট বগি

প্রিয় পাঠক, আপনার চ্যালেঞ্জ হল আউটপুট.পিএনজি ছবিতে কী বার্তা লুকিয়ে আছে তা খুঁজে বের করা যা আমি আপনার জন্য গিথুব রেখেছি। বার্তাটি বের করতে আপনি সেখানে MessageHider কোড ব্যবহার করতে পারেন। আপনি যদি বিভ্রান্ত হন, দয়া করে নীচে মন্তব্য করুন এবং আমি আপনাকে উত্তর পেতে সাহায্য করব! আপনি এখনই পড়া বন্ধ করতে পারেন, শুধু গিথুব এ যান, কোড পান এবং স্টেগানোগ্রাফি করা শুরু করুন। যথেষ্ট বলেছেন, কিন্তু দয়া করে চারপাশে থাকুন এবং আমি আপনাকে আরও বলব।

এখানে দুটি ছবি দেখতে অভিন্ন কিন্তু সেগুলো নয় এগুলো হল greenman-p.webp

এই নির্দেশযোগ্য একটি দুর্দান্ত ইউটিউব ভিডিও দ্বারা অনুপ্রাণিত। একদিন গভীর রাতে এই ভিডিওটি দেখার পরে এবং একটি উন্নত জাভা প্রোগ্রামিং ক্লাসের জন্য একটি শীতল বক্তৃতা এবং মধ্যবর্তী পরীক্ষার কথা চিন্তা করার জন্য সংগ্রাম করার পর, এই প্রকল্পটির জন্ম হয়েছিল। এই নির্দেশাবলীতে বর্ণিত কোড সহ উপরের ছবিগুলি গিথুবের উপর বিনামূল্যে।

সরবরাহ

আপনার একটি কম্পিউটারের প্রয়োজন হবে এবং আপনাকে একটি জাভা প্রোগ্রাম কিভাবে কম্পাইল এবং চালাতে হবে তা জানতে হবে। এই প্রোগ্রামটি মাত্র দুটি ছোট ফাইল এবং আপনাকে এটি কমান্ড লাইনে চালাতে হবে।

ধাপ 1: স্টেগানোগ্রাফি কি

আমার আগের ধাপে লিঙ্ক করা ইউটিউব ভিডিও দেখা উচিত, কিন্তু এখানে সারসংক্ষেপ হল:

আপনার যদি কোনও বন্ধুর কাছে গোপন বার্তা লুকানোর প্রয়োজন হয় তবে এটি করার একটি দুর্দান্ত উপায় হ'ল স্টেগানোগ্রাফি। ইমেজ স্টেগানোগ্রাফির ধারণা সহজ; কম্পিউটার চিত্রগুলি পিক্সেল দিয়ে তৈরি এবং প্রতিটি পিক্সেল হল লাল, সবুজ এবং নীল রঙের সমন্বয়। অনেক কম্পিউটার ইমেজ ফরম্যাটে প্রতিটি পিক্সেলে লাল, সবুজ এবং নীল পরিমাণ 0-127 থেকে মান হিসাবে প্রকাশ করা হয়। সুতরাং, উদাহরণস্বরূপ, একটি খুব লাল পিক্সেলের একটি লাল মান 127 এবং সবুজ এবং নীল শূন্যের মান থাকবে। কৌতুকটি হল: 126 এর লাল তীব্রতা 127 (একটি মানুষের চোখ) থেকে একটি লাল তীব্রতা থেকে আলাদা করা যায় না। এবং তাই প্রতিটি লাল পিক্সেলের মধ্যে প্লাস বা মাইনাস একের মাধ্যমে আমরা পিক্সেলে বিট লুকিয়ে রাখতে পারি। যদি আমরা বিটগুলি পুনরায় জোগাড় করার জন্য একটি ছদ্মবেশী উপায় খুঁজে পাই, তবে আমরা ছবিতে যে তথ্যটি ছিনিয়ে নিয়েছি তা আমরা পুনরুদ্ধার করতে পারি!

সৃজনশীল হও! যে কোন ডিজিটাল মিডিয়া দিয়ে স্টেগানোগ্রাফি করা যায়! আপনি উদাহরণস্বরূপ সঙ্গীত বা ভিডিও ফাইলে বিট দিয়ে খেলতে পারেন, কিন্তু এর জন্য আপনাকে এই নির্দেশের সুযোগের বাইরে আরও গবেষণা করতে হবে।

ধাপ 2: কম্পিউটারে কিভাবে টেক্সট এনকোড করা হয়

কম্পিউটারে কিভাবে টেক্সট এনকোড করা হয়
কম্পিউটারে কিভাবে টেক্সট এনকোড করা হয়

এখানে যা অনুসরণ করা হয়েছে তা হতে পারে সিএস -এ ডিগ্রি বা বোঝার জন্য অনেক শখের আবেগ। কম্পিউটার 1s এবং 0s হিসাবে বিটগুলিতে ডেটা সঞ্চয় করে। এই 1s এবং 0s সাধারণত 8 টি গুচ্ছের মধ্যে গোষ্ঠীভুক্ত এবং "বাইট" হিসাবে উল্লেখ করা হয়। যেমন এখানে ব্যাখ্যা করা হয়েছে এবং এখানে কয়েকটি উপায় আছে যা আমরা কম্পিউটারকে বাইটকে পাঠ্য হিসাবে ব্যাখ্যা করার জন্য বলতে পারি। এই স্টেগানোগ্রাফি লেকচার/ইন্সট্রাক্টেবল থেকে সর্বাধিক লাভ করার জন্য আপনাকে কম বেশি ASCII এবং UTF8 বুঝতে হবে। বাইটের একটি সিরিজে ভাষা ডেটা এনকোড করার জন্য এটি দুটি সাধারণ উপায়।

একবার আপনি এই বিষয় সম্পর্কে ধারণা পেয়ে গেলে আপনি এটি বুঝতে পারবেন: ASCII এবং UTF8- এ "the" শব্দটি নিম্নলিখিত বাইট (হেক্সে) 0x74 0x68 0x65 দ্বারা উপস্থাপিত হয়। বাইনারিতে, এই বাইটগুলি হল: 01110100b 01101000b 01101101b

উপরন্তু, আপনি বুঝতে পারবেন যে UTF8- এ একটি মুচকি মুখের ইমোজি নিম্নলিখিত বাইট (হেক্সে) 0xF0 0x9F 0x98 0x80 দ্বারা প্রতিনিধিত্ব করা হয়। বাইনারিতে এই বাইটগুলো হল 11110000b 10011111b 10011000b 10000000b।

যে কোন ঘটনায় আপনি সংযুক্ত স্ক্রিনশটে দেখতে পাবেন যে আমার কম্পিউটার এই বাইট দিয়ে কিছু করছে। আমি তীর এবং একটি বড় "দেখুন!" দিয়ে প্রোগ্রাম আউটপুট তাদের হাইলাইট করেছি।

ধাপ 3: প্রোগ্রাম কিভাবে কাজ করে

Github থেকে প্রোগ্রাম কম্পাইল করা সহজ। প্রথম পৃষ্ঠায় দেখানো রেপো এখানে এবং তারপর পান

প্রোগ্রামটি কমান্ড লাইন থেকে এইভাবে চালানো হয়: java Main input-p.webp

সংযুক্ত উদাহরণগুলিতে আপনি দেখতে পাবেন যে আমি java Main greenman-p.webp

আপনিও একই কাজ করবেন।

যদি আপনি Main.java এ দেখেন তবে আপনি দেখতে পাবেন যে এটি ঘটে:

  1. প্রোগ্রামটি 2D অ্যারেতে ছবিটি পড়ে
  2. প্রোগ্রামটি আপনার দেওয়া বার্তাটিকে একটি বাইট অ্যারেতে পরিণত করে (বাইট )
  3. প্রোগ্রাম তারপর ইমেজ অ্যারে বার্তা বাইট লুকানোর জন্য একটি MessageHider ক্লাস ব্যবহার করে।
  4. প্রোগ্রামটি তখন ইমেজ 2d অ্যারে একটি ফাইলে (output.png) ভিতরে লুকানো ডেটা সহ লিখবে। আপনি যদি এই চিত্রটি দেখেন তবে এটি মূল থেকে আলাদা করা যায় না
  5. প্রোগ্রামটি তখন একটি নতুন 2D অ্যারেতে আউটপুট.পিএনজি পড়বে এবং এক্সট্র্যাক্ট মেসেজ () ফাংশনটি ব্যবহার করবে যতটা আপনি অনুরোধ করেন ততগুলি বাইট থেকে শেষ বিটটি বের করতে। এই বিট 8s এর গুচ্ছ পর্দায় মুদ্রিত করা হবে যাতে আপনি কি তথ্য লুকানো আছে বাইনারি উপস্থাপনা দেখতে পারেন।

কোডটি আমাদের প্রত্যাশা অনুযায়ী কাজ করে।

ধাপ 4: উপসংহার

তাই আমি আপনাকে কিছু ওয়ার্কিং কোড দিয়েছি, এটি প্রমাণ করে যে এটি একটি ইমেজ আকারে কাজ করে, এবং কিছু লেকচার নোট আমি আমার বিশ্ববিদ্যালয়ের ছাত্রদের দেই। আমি আপনাকে একটি চ্যালেঞ্জও দিয়েছিলাম! আমি কোড লিখতে এবং বক্তৃতা নোট প্রস্তুত করতে কয়েক ঘন্টা ব্যয় করেছি তাই আমি দু sorryখিত যে এই নির্দেশযোগ্যটিতে অনেক ছবি নেই। যদি আপনি স্টেগনোগ্রাফি আকর্ষণীয় মনে করেন তবে দয়া করে আমার চ্যালেঞ্জ গ্রহণ করুন!

প্রস্তাবিত: