Pilih gambar atau berkas audio pembawa
Muat, letakkan, atau tempel gambar, WAV, atau MP3 yang akan membawa data. Berkas lebih besar menampung lebih banyak, dan foto ramai atau musik paling baik menyamarkan perubahan.
Port steghide 0.5.1 untuk browser dengan kedua metodenya: piksel/LSB untuk BMP dan PNG, serta koefisien DCT untuk JPEG — ditambah media pembawa audio PCM WAV dan MP3. Sembunyikan berkas atau pesan, lalu ungkap kembali dengan frasa sandi.
Berkas dan rahasia Anda tidak pernah meninggalkan perangkat ini. Dekode, penyisipan, enkripsi, dan ekstraksi semuanya berjalan dalam tab browser ini. Tidak ada yang diunggah ke server, sehingga tidak ada data di server yang bisa bocor.
Kontainer lebih besar menampung lebih banyak: gambar sekitar satu byte per delapan piksel, PCM WAV satu byte per enam belas sampel, dan MP3 sebanyak ruang tak terpakai pada bingkai audionya.
steghide alat baris perintah — keluaran PNG mempertahankan larik piksel mentah yang sama, tetapi CLI steghide tidak dapat membaca PNG.
Untuk mengungkap rahasia dalam gambar ini, lakukan gerakan ajaib bersama saya: buat tiga lingkaran penuh mengelilingi gambar dengan penunjuk — searah atau berlawanan arah jarum jam — dan data tersembunyi akan terungkap.
Jejak bersinar saat digambar, dan satu bulan menyala untuk setiap lingkaran tertutup. Angkat penunjuk atau keluar dari gambar, lalu jejak memudar. Tanpa penunjuk? Fokuskan gambar dan tekan Enter.
Nama berkas, ukuran, dan status checksum yang dipulihkan muncul di sini. Teks tampil sebagai teks, gambar sebagai gambar, audio mendapat pemutar — jenis lain hanya dapat diunduh.
Tanpa pemasangan dan unggahan: pilih gambar, WAV, atau MP3, tambahkan rahasia, lalu simpan hasilnya.
Muat, letakkan, atau tempel gambar, WAV, atau MP3 yang akan membawa data. Berkas lebih besar menampung lebih banyak, dan foto ramai atau musik paling baik menyamarkan perubahan.
Lampirkan berkas atau ketik pesan, lalu pilih frasa sandi. Frasa sandi menentukan lokasi penyebaran data dan dapat mengenkripsinya.
Simpan hasil sebagai BMP untuk kompatibilitas steghide atau PNG untuk berkas lebih kecil. Siapa pun yang memiliki gambar dan frasa sandi dapat mengungkap data.
ImageSteg merupakan port TypeScript steghide 0.5.1 yang mencakup kedua cabangnya: metode piksel/LSB untuk BMP dan PNG, serta metode DCT untuk JPEG. Selain itu, data dibawa dalam audio PCM WAV dengan cara yang sama, serta pada bagian akhir bingkai MP3 yang tidak terpakai. Tidak satu pun sekadar menyusuri berkas secara berurutan.
Sampel dikelompokkan menjadi simpul, lalu pencocokan berbobot minimum menentukan perubahan, sehingga hanya sekitar satu sampel per nilai tersembunyi yang disentuh.
Codec entropi JPEG bawaan membaca koefisien DCT terkuantisasi, menyembunyikan data pada paritasnya, lalu mengenkode ulang — titik pemrosesan yang sama tempat libjpeg steghide berhenti. Berkas baseline dan progresif sama-sama didukung.
Permutasi dengan seed MD5 menyebarkan data ke seluruh gambar, sehingga muatan tersembunyi tidak disimpan dengan urutan yang dapat diprediksi.
zlib memperkecil muatan sebelum penyisipan, dan checksum CRC32 opsional langsung menunjukkan apakah hasil ekstraksi dapat dipercaya.
Rijndael dalam mode CBC dengan derivasi kunci yang sama seperti libmcrypt menjaga kerahasiaan muatan meskipun seseorang mencurigai gambar.
Batas praktis menyembunyikan data di dalam piksel gambar.
Kompatibilitas: susunan bit, permutasi sampel, dan enkripsi Rijndael/CBC mengikuti steghide 0.5.1, sehingga keluaran BMP dan JPEG dapat dibaca dengan steghide extract -sf image.bmp -p passphrase atau -sf image.jpg, dan berkas dari alat baris perintah steghide dapat dibaca di sini. Format keluaran selalu mengikuti pembawa: pembawa JPEG menghasilkan JPEG karena muatan berada dalam koefisien yang hanya dapat dibawa JPEG. PNG disediakan bersama BMP untuk pembawa piksel; CLI steghide tidak membaca PNG.
Dukungan JPEG steghide memanggil fungsi libjpeg jpeg_read_coefficients(), yang menghentikan alur dekode tepat setelah dekode Huffman — sebelum dekuantisasi dan IDCT. Yang tersisa adalah koefisien DCT mentah terkuantisasi. Browser tidak menyediakan API untuknya, sehingga halaman ini memakai codec entropi JPEG sendiri, bukan dekoder bawaan. Codec mendukung berkas baseline dan progresif, termasuk pemindaian penyempurnaan pendekatan berturut-turut.
jpeg_write_coefficients() , sehingga sumber aritmetika diberi label ulang sebagai baseline (atau progresif) saat dikeluarkan.Penyisip tidak melihat format berkas — hanya bekerja pada larik piksel yang didekode, sehingga metode BMP/LSB steghide berlaku tanpa perubahan pada PNG. Empat hal penting dalam praktik:
Ya. Penyembunyian dan pengungkapan data gratis, tanpa pendaftaran, tanda air, atau batas ukuran berkas buatan.
Tidak. Dekode, penyisipan, kompresi, dan enkripsi berjalan secara lokal di browser dengan JavaScript dan WebCrypto. Tidak ada yang dikirim ke server 73hi.
Semua gambar yang dapat didekode browser dapat menjadi pembawa piksel, dan berkas JPEG baseline atau progresif diproses melalui cabang DCT steghide. Format keluaran mengikuti pembawa: JPEG masuk, JPEG keluar; pembawa piksel menghasilkan BMP dan salinan PNG. Alat baris perintah steghide membaca keluaran BMP dan JPEG, tetapi bukan PNG.
Dalam koefisien DCT terkuantisasi, persis seperti alat baris perintah steghide. Halaman menyertakan codec entropi JPEG yang mendekode pemindaian hingga koefisien, mengubah paritasnya, lalu mengenkodenya kembali.
Ya. Berkas progresif didekode melalui seluruh urutan pemindaiannya — pemilihan spektral dan penyempurnaan pendekatan berturut-turut — lalu ditulis ulang dengan cara yang sama, sehingga hasil tetap JPEG progresif dengan koefisien asli.
Didukung untuk pembacaan. Berkas dengan pengodean QM (aritmetika biner), bukan Huffman — SOF9 untuk berurutan, SOF10 untuk progresif — didekode dengan dekoder aritmetika yang sama seperti libjpeg, sehingga koefisien identik. Hasil ditulis ulang dengan pengodean Huffman seperti steghide.
Sekitar satu byte muatan per delapan piksel, dikurangi ruang header, nama berkas tersimpan, dan overhead enkripsi opsional. Alat menampilkan kapasitas yang dapat digunakan setelah gambar dipilih.
Ya, jika Anda mengunduh BMP. Susunan bit, permutasi sampel berdasarkan frasa sandi, dan enkripsi Rijndael/CBC mengikuti steghide 0.5.1.
Muatan disimpan dalam nilai piksel individual. Kompresi ulang, perubahan ukuran, filter, atau konversi ke format dengan kehilangan kualitas seperti JPEG merusaknya. Simpan BMP asli atau salinan PNG tanpa kehilangan kualitas.
Tidak dengan menyisipkan dua kali ke satu berkas. Proses kedua memilih posisi acaknya sendiri di seluruh pembawa dan menimpa sebagian muatan pertama. Karena data dikompres sebelum dienkripsi, sedikit bit yang berubah membuat seluruh pesan tidak terbaca — hilang sepenuhnya, bukan sebagian. Alat baris perintah steghide asli berperilaku sama. Memakai frasa sandi yang sama juga tidak membantu: posisi yang sama ditulis ulang dari awal sehingga hanya pesan terbaru bertahan. Untuk lapisan sesungguhnya, gunakan berkas bersarang: sembunyikan rahasia pertama dalam gambar kecil, unduh hasilnya, lalu sembunyikan seluruh berkas itu dalam gambar lebih besar dengan frasa sandi kedua. Setiap lapisan tetap identik per byte karena dibawa sebagai data terlindungi, bukan piksel yang dimodifikasi.
Tidak. Pemuatan berkas hanya membaca byte: pembawa JPEG langsung menuju koefisien DCT terkuantisasi tanpa transformasi invers atau kuantisasi ulang, dan pembawa piksel didekode tanpa kehilangan data, sehingga data tersembunyi tetap utuh. JPEG mungkin disimpan dengan ukuran sedikit berbeda karena pengodean entropi ditulis ulang, tetapi itu tidak memengaruhi muatan. Anda dapat membuka berkas dari orang lain dan mengungkap isinya dengan aman.
Ya. Sisipkan pemberitahuan hak cipta atau bukti kepemilikan langsung ke foto. Data berada di piksel atau koefisien JPEG dan tidak terlihat saat dilihat biasa, sehingga gambar dapat dibagikan secara publik tanpa diketahui. Jika seseorang menggunakannya tanpa izin, tanda tersembunyi tetap di dalam berkas. Saat Anda menerbitkan gambar yang sama di platform pihak ketiga untuk mendokumentasikan pelanggaran, salinan tersebut juga membawa bukti Anda untuk mendukung permintaan penghapusan atau klaim.
Tentu. Sembunyikan pesan seperti "Aku mencintaimu" — atau apa pun yang sulit diucapkan langsung — di foto keseharian, lalu gunakan tanggal lahir penerima sebagai frasa sandi. Kirim foto dan minta mereka membukanya di ImageSteg (atau kunjungi 73hi.com/image-steg.html). Hanya orang yang tahu frasa sandinya dapat mengungkap kata-katanya, sehingga Anda dapat mengekspresikan diri tanpa canggung mengatakannya langsung.