Daftar Isi:

PNG Ini Adalah Kompartemen Rahasia: 4 Langkah
PNG Ini Adalah Kompartemen Rahasia: 4 Langkah

Video: PNG Ini Adalah Kompartemen Rahasia: 4 Langkah

Video: PNG Ini Adalah Kompartemen Rahasia: 4 Langkah
Video: Cara Membuat Gambar PNG di Aplikasi Canva 2024, November
Anonim
PNG Ini Adalah Kompartemen Rahasia
PNG Ini Adalah Kompartemen Rahasia
PNG Ini Adalah Kompartemen Rahasia
PNG Ini Adalah Kompartemen Rahasia

Tantangan Anda, pembaca yang budiman, adalah mencari tahu pesan apa yang tersembunyi di gambar output-p.webp

Dua gambar di sini terlihat sama tetapi sebenarnya tidak. Ini adalah gambar greenman-p.webp

Instruksi ini terinspirasi oleh video youtube yang bagus. Setelah menonton video ini pada suatu hari larut malam dan berjuang memikirkan kuliah yang keren dan ujian tengah semester untuk kelas pemrograman Java tingkat lanjut, proyek ini lahir. Gambar di atas, bersama dengan kode yang dijelaskan dalam instruksi ini, gratis di Github.

Perlengkapan

Anda akan memerlukan komputer dan Anda harus tahu cara mengkompilasi dan menjalankan program Java. Program ini hanya dua file pendek dan Anda harus menjalankannya pada baris perintah.

Langkah 1: Apa itu Steganografi

Anda harus menonton video youtube yang saya tautkan di langkah sebelumnya, tetapi inilah ringkasannya:

Jika Anda perlu menyembunyikan pesan rahasia ke teman, cara keren untuk melakukannya adalah dengan Steganografi. Ide Steganografi gambar sederhana; gambar komputer terbuat dari piksel, dan setiap piksel adalah kombinasi dari merah, hijau, dan biru. Dalam banyak format gambar komputer, jumlah warna merah, hijau, dan biru di setiap piksel dinyatakan sebagai nilai dari 0-127. Jadi, misalnya, piksel yang sangat merah akan memiliki nilai merah 127 dan nilai hijau dan biru nol. Triknya adalah ini: intensitas merah 126 tidak dapat dibedakan dari intensitas merah 127 (untuk mata manusia). Jadi dengan mengutak-atik plus atau minus satu di setiap piksel merah, kita bisa menyembunyikan bit dalam piksel. Jika kami menemukan cara licik untuk mengumpulkan bit kembali, kami dapat mengambil data yang kami selipkan ke dalam gambar!

Jadilah kreatif! Steganografi bisa dilakukan dengan media digital apapun! Anda dapat bermain dengan bit dalam file musik atau video misalnya, tetapi itu mengharuskan Anda untuk melakukan lebih banyak penelitian di luar lingkup instruksi ini.

Langkah 2: Bagaimana Teks Dikodekan di Komputer

Bagaimana Teks Dikodekan di Komputer
Bagaimana Teks Dikodekan di Komputer

Berikut ini mungkin memerlukan gelar di CS atau banyak hobi hobi untuk memahami. Komputer menyimpan data dalam bit sebagai 1s dan 0s. Ini 1s dan 0s biasanya dikelompokkan dalam tandan 8 dan disebut sebagai "byte". Seperti yang dijelaskan di sini dan di sini ada beberapa cara kita dapat memberitahu komputer untuk menafsirkan byte sebagai teks. Untuk mendapatkan hasil maksimal dari kuliah/instruksi steganografi ini, Anda perlu sedikit banyak memahami ASCII dan UTF8. Ini adalah dua cara umum untuk mengkodekan data bahasa dalam serangkaian byte.

Setelah Anda mendapatkan ide tentang topik ini, Anda akan memahaminya: Dalam ASCII dan UTF8, kata "the" diwakili oleh byte berikut (dalam hex) 0x74 0x68 0x65. Dalam biner, byte ini adalah: 01110100b 01101000b 01101101b

Selanjutnya, Anda akan memahami bahwa di UTF8, Emoji Wajah Menyeringai diwakili oleh byte berikut (dalam hex) 0xF0 0x9F 0x98 0x80. Dalam biner, byte ini adalah 11110000b 10011111b 10011000b 10000000b.

Bagaimanapun, Anda akan melihat di tangkapan layar terlampir bahwa komputer saya melakukan sesuatu dengan byte ini. Saya telah menyorotnya di output program dengan panah dan "LIHAT!" besar.

Langkah 3: Cara Kerja Program

Kompilasi program dari github itu mudah. Dapatkan repo yang ditampilkan di halaman depan di sini dan kemudian

Program dijalankan seperti ini dari baris perintah: java Main input-p.webp

dalam contoh terlampir Anda akan melihat bahwa saya telah menjalankan java Main greenman-p.webp

Anda akan melakukan hal yang sama.

Jika Anda melihat Main.java Anda akan melihat bahwa inilah yang terjadi:

  1. Program membaca gambar menjadi array 2D
  2. Program mengubah pesan yang Anda berikan menjadi array byte (byte)
  3. Program kemudian menggunakan kelas MessageHider untuk menyembunyikan byte pesan dalam array gambar.
  4. Program kemudian menulis array gambar 2d ke file (output.png) dengan data tersembunyi di dalamnya. Jika Anda melihat gambar ini, itu tidak bisa dibedakan dari aslinya
  5. Program kemudian membaca output-p.webp" />

Jadi cukup banyak kode yang berfungsi seperti yang kita harapkan.

Langkah 4: Kesimpulan

Jadi saya telah memberi Anda beberapa kode kerja, bukti bahwa itu berfungsi dalam bentuk gambar, dan beberapa catatan kuliah yang saya berikan kepada mahasiswa saya. Saya juga memberi Anda tantangan! Saya menghabiskan beberapa jam menulis kode dan menyiapkan catatan kuliah jadi saya minta maaf instruksi ini tidak memiliki banyak gambar. Jika menurut Anda steganografi menarik, terimalah tantangan saya!

Direkomendasikan: