ImageSteg · تصویر یا آڈیو فائل میں ڈیٹا چھپائیں

steghide 0.5.1 کا براؤزر ورژن، دونوں طریقوں کے ساتھ: BMP اور PNG کے لیے pixel/LSB، اور JPEG کے لیے DCT coefficients — نیز PCM WAV اور MP3 آڈیو حامل فائلیں۔ فائل یا پیغام چھپائیں، پھر خفیہ فقرے سے دوبارہ نکالیں۔

100% مقامی

آپ کی فائل اور راز اس آلے سے باہر نہیں جاتے۔ ڈی کوڈنگ، ڈیٹا چھپانا، انکرپشن اور نکالنا سب اسی براؤزر ٹیب میں ہوتا ہے۔ کچھ سرور پر اپ لوڈ نہیں ہوتا — اس لیے وہاں سے افشا ہونے کو کچھ نہیں۔

1 · حامل تصویر یا آڈیو

تصویر یا آڈیو فائل یہاں چھوڑیں JPEG، PNG، WebP، GIF، BMP، PCM WAV یا MP3 · مقامی ڈی کوڈنگ، کبھی اپ لوڈ نہیں

بڑے کنٹینرز زیادہ رکھتے ہیں: تصاویر میں تقریباً ہر آٹھ پکسل پر ایک بائٹ، PCM WAV میں ہر سولہ نمونوں پر ایک بائٹ، اور MP3 میں آڈیو فریموں کی غیر استعمال شدہ جگہ دستیاب ہوتی ہے۔

2 · چھپانے کا ڈیٹا

کوئی فائل منتخب نہیں

3 · خفیہ فقرہ & اختیارات

تین آسان مراحل

تصویر یا آڈیو فائل میں فائل کیسے چھپائیں

نہ تنصیب، نہ اپ لوڈ: تصویر، WAV یا MP3 چنیں، راز شامل کریں اور نتیجہ محفوظ کریں۔

1

حامل تصویر یا آڈیو فائل منتخب کریں

ڈیٹا رکھنے والی تصویر، WAV یا MP3 منتخب کریں، چھوڑیں یا پیسٹ کریں۔ بڑی فائلیں زیادہ مواد رکھتی ہیں، اور تفصیل والی تصاویر یا موسیقی تبدیلیاں بہتر چھپاتی ہیں۔

2

راز اور خفیہ فقرہ شامل کریں

کوئی فائل منسلک کریں یا پیغام لکھیں، پھر خفیہ فقرہ چنیں۔ یہی فقرہ طے کرتا ہے کہ ڈیٹا کہاں بکھرے گا اور اختیاری طور پر اسے انکرپٹ کرتا ہے۔

3

ڈاؤن لوڈ اور شیئر کریں

steghide مطابقت کے لیے BMP یا چھوٹی فائل کے لیے PNG محفوظ کریں۔ تصویر اور خفیہ فقرہ رکھنے والا کوئی بھی ڈیٹا نکال سکتا ہے۔

Steghide کے الگورتھمز اور آڈیو حامل فائلیں، آپ کے براؤزر میں

پکسلز، DCT کوایفیشنٹس اور آڈیو نمونوں پر گراف میچنگ

ImageSteg، steghide 0.5.1 کا TypeScript ورژن ہے اور اس کی دونوں شاخیں فراہم کرتا ہے: BMP اور PNG کے لیے pixel/LSB اور JPEG کے لیے DCT طریقہ۔ اس کے علاوہ PCM WAV آڈیو میں اسی طریقے سے، اور MP3 فریموں کے غیر استعمال شدہ آخری حصے میں ڈیٹا رکھتا ہے۔ کوئی بھی طریقہ محض فائل کو سیدھی ترتیب میں نہیں بھرتا۔

گراف پر مبنی ڈیٹا چھپانا

نمونے راسوں میں گروپ ہوتے ہیں اور کم از کم وزن کی میچنگ طے کرتی ہے کیا بدلنا ہے، اس لیے ہر پوشیدہ قدر کے لیے تقریباً صرف ایک نمونہ بدلتا ہے۔

حقیقی JPEG DCT اسٹیگنوگرافی

اندرونی JPEG اینٹروپی کوڈیک کوانٹائزڈ DCT کوایفیشنٹس پڑھتا، ان کی جفت یا طاق حیثیت میں ڈیٹا چھپاتا اور دوبارہ انکوڈ کرتا ہے — عین اسی مرحلے پر جہاں steghide کا libjpeg رکتا ہے۔ baseline اور progressive دونوں فائلیں چلتی ہیں۔

خفیہ فقرے کے مطابق پھیلاؤ

MD5 سیڈ والی ترتیب تبدیلی ڈیٹا کو پوری تصویر میں پھیلاتی ہے، اس لیے پوشیدہ مواد قابل پیش گوئی ترتیب میں محفوظ نہیں ہوتا۔

کمپریشن اور چیک سم

zlib چھپانے سے پہلے مواد چھوٹا کرتا ہے اور اختیاری CRC32 چیک سم فوراً بتاتا ہے کہ نکالا گیا ڈیٹا قابل اعتماد ہے یا نہیں۔

اختیاری AES-256 انکرپشن

CBC موڈ میں Rijndael، libmcrypt جیسی کلید اخذ کرنے کی ترکیب کے ساتھ، مواد خفیہ رکھتا ہے چاہے کسی کو تصویر پر شک ہو۔

کیا توقع رکھیں

گنجائش، رفتار اور مطابقت

تصویر کے پکسلز میں ڈیٹا چھپانے کی عملی حدود۔

BMP · PNGpixel / LSB شاخ
JPEGDCT کوایفیشنٹ شاخ
0.2 %بدلے جانے والے نمونوں کا عام تناسب
0 اپ لوڈسب کچھ آپ کے براؤزر میں رہتا ہے

مطابقت: بِٹ ترتیب، نمونوں کی ترتیب تبدیلی اور Rijndael/CBC انکرپشن steghide 0.5.1 کے مطابق ہیں، اس لیے BMP اور JPEG آؤٹ پٹ اس سے پڑھی جا سکتی ہیں: steghide extract -sf image.bmp -p passphrase یا -sf image.jpg، اور steghide کمانڈ لائن ٹول کی بنائی فائلیں یہاں پڑھی جا سکتی ہیں۔ آؤٹ پٹ ہمیشہ حامل فارمیٹ کے مطابق ہے: JPEG سے JPEG بنتا ہے، کیونکہ مواد ان کوایفیشنٹس میں ہے جو صرف JPEG رکھ سکتا ہے۔ پکسل حامل تصاویر کے لیے BMP کے ساتھ PNG بھی ملتی ہے؛ steghide CLI، PNG نہیں پڑھتا۔

JPEG شاخ کی تفصیل

steghide کی JPEG سپورٹ libjpeg کا یہ فنکشن استعمال کرتی ہے: jpeg_read_coefficients()، جو Huffman ڈی کوڈنگ کے فوراً بعد، dequantisation اور IDCT سے پہلے عمل روک دیتا ہے۔ باقی خام کوانٹائزڈ DCT کوایفیشنٹس ہوتے ہیں۔ براؤزر ان کے لیے API نہیں دیتے، اس لیے یہ صفحہ مقامی ڈی کوڈر کے بجائے اپنا JPEG اینٹروپی کوڈیک لاتا ہے۔ یہ baseline اور progressive دونوں فائلیں، بشمول successive-approximation refinement scans، سنبھالتا ہے۔

وہی الگورتھم PNG پر لگانا

ڈیٹا چھپانے والا حصہ فائل فارمیٹ نہیں دیکھتا — صرف ڈی کوڈ شدہ پکسل ترتیب پر کام کرتا ہے، اس لیے steghide کا BMP/LSB طریقہ PNG پر بغیر تبدیلی لاگو ہوتا ہے۔ عملی طور پر چار باتیں اہم ہیں:

سوالات اور جوابات

ImageSteg کے عام سوالات

کیا ImageSteg مفت ہے؟

جی ہاں۔ ڈیٹا چھپانا اور نکالنا مفت ہے؛ نہ رجسٹریشن، نہ واٹرمارک، نہ فائل سائز کی مصنوعی حد۔

کیا میری تصویر یا خفیہ فائل اپ لوڈ ہوتی ہے؟

نہیں۔ ڈی کوڈنگ، چھپانا، کمپریشن اور انکرپشن براؤزر میں مقامی طور پر JavaScript اور WebCrypto سے ہوتے ہیں۔ 73hi سرور کو کچھ نہیں بھیجا جاتا۔

کون سے تصویری فارمیٹس دستیاب ہیں؟

براؤزر کی ڈی کوڈ کی جانے والی کوئی بھی تصویر پکسل حامل بن سکتی ہے؛ baseline یا progressive JPEG، steghide کی DCT شاخ سے گزرتے ہیں۔ آؤٹ پٹ حامل کے مطابق ہے: JPEG سے JPEG؛ پکسل حامل سے BMP اور PNG نقل۔ steghide کمانڈ لائن ٹول BMP اور JPEG آؤٹ پٹ پڑھتا ہے، PNG نہیں۔

JPEG موڈ ڈیٹا کیسے چھپاتا ہے؟

کوانٹائزڈ DCT کوایفیشنٹس میں، بالکل steghide کمانڈ لائن ٹول کی طرح۔ صفحے کا JPEG اینٹروپی کوڈیک اسکین کو کوایفیشنٹس تک ڈی کوڈ کرتا، ان کی جفت یا طاق حیثیت بدلتا اور دوبارہ انکوڈ کرتا ہے۔

کیا progressive JPEG استعمال کر سکتا ہوں؟

جی ہاں۔ Progressive فائلیں پوری اسکین ترتیب — spectral selection اور successive-approximation refinement — سے ڈی کوڈ اور اسی طرح واپس لکھی جاتی ہیں، اس لیے نتیجہ اصل کوایفیشنٹس والا progressive JPEG رہتا ہے۔

Arithmetic-coded JPEG کا کیا ہوگا؟

پڑھنے کی سہولت ہے۔ Huffman کے بجائے QM (binary arithmetic) coding والی فائلیں — sequential کے لیے SOF9، progressive کے لیے SOF10 — libjpeg کے اسی arithmetic decoder سے پڑھی جاتی ہیں، اس لیے کوایفیشنٹس یکساں نکلتے ہیں۔ نتیجہ steghide کی طرح Huffman coding سے لکھا جاتا ہے۔

کتنا ڈیٹا چھپا سکتا ہوں؟

تقریباً ہر آٹھ پکسل میں ایک بائٹ مواد، اس میں سے ہیڈر، محفوظ فائل نام اور اختیاری انکرپشن کی جگہ کم ہوگی۔ تصویر منتخب کرتے ہی ٹول قابل استعمال گنجائش دکھاتا ہے۔

کیا steghide کمانڈ لائن ٹول نتیجہ پڑھ سکتا ہے؟

جی ہاں، اگر BMP ڈاؤن لوڈ کریں۔ بِٹ ترتیب، خفیہ فقرے پر مبنی نمونوں کی ترتیب تبدیلی اور Rijndael/CBC انکرپشن steghide 0.5.1 کے مطابق ہیں۔

تصویر میں ترمیم کے بعد ڈیٹا کیوں نہیں نکلتا؟

مواد انفرادی پکسل قدروں میں محفوظ ہے۔ دوبارہ کمپریشن، سائز بدلنا، فلٹر یا JPEG جیسے نقصان دہ فارمیٹ میں تبدیلی اسے تباہ کر دیتی ہے۔ اصل BMP یا بے نقصان PNG نقل رکھیں۔

کیا ایک تصویر میں دو راز چھپا سکتا ہوں؟

ایک فائل میں دو بار چھپا کر نہیں۔ دوسرا عمل پوری حامل فائل میں اپنی بے ترتیب جگہیں چنتا اور پہلے مواد کا کچھ حصہ بدل دیتا ہے؛ چونکہ ڈیٹا انکرپشن سے پہلے کمپریس ہوتا ہے، چند بِٹس بدلنے سے پورا پیغام ناقابل مطالعہ ہو جاتا ہے — جزوی نہیں، مکمل ضائع ہوتا ہے۔ اصل steghide کمانڈ لائن ٹول بھی یہی کرتا ہے۔ وہی خفیہ فقرہ دہرانا بھی بہتر نہیں: وہ ابتدا سے وہی جگہیں دوبارہ لکھتا ہے، اس لیے صرف تازہ پیغام بچتا ہے۔ حقیقی تہوں کے لیے فائلوں کو ایک دوسرے میں رکھیں — پہلا راز چھوٹی تصویر میں چھپائیں، نتیجہ ڈاؤن لوڈ کریں، پھر پوری فائل کو دوسرے خفیہ فقرے سے بڑی تصویر میں چھپائیں۔ ہر تہہ بائٹ بہ بائٹ برقرار رہتی ہے کیونکہ وہ بدلے پکسلز کے بجائے محفوظ ڈیٹا کے طور پر منتقل ہوتی ہے۔

کیا پوشیدہ ڈیٹا والی تصویر کھولنے سے ڈیٹا تباہ ہوتا ہے؟

نہیں۔ فائل لوڈ کرنا صرف بائٹس پڑھتا ہے: JPEG حامل براہ راست کوانٹائزڈ DCT کوایفیشنٹس تک جاتے ہیں، کسی معکوس تبدیلی یا دوبارہ کوانٹائزیشن کے بغیر؛ پکسل حامل بے نقصان ڈی کوڈ ہوتے ہیں، اس لیے پوشیدہ ڈیٹا برقرار رہتا ہے۔ اینٹروپی coding دوبارہ لکھنے سے JPEG کا سائز کچھ بدل سکتا ہے، مگر مواد متاثر نہیں ہوتا۔ دوسروں کی تیار کردہ فائل بحفاظت کھول کر اس کا اندرونی مواد نکال سکتے ہیں۔

کیا ImageSteg میرے حق اشاعت کی حفاظت میں مدد دے سکتا ہے؟

جی ہاں۔ اپنی تصویر میں حق اشاعت کا نوٹس یا ملکیت کا ثبوت براہ راست چھپائیں۔ ڈیٹا پکسلز (یا JPEG کوایفیشنٹس) میں رہتا اور عام دیکھنے پر نظر نہیں آتا، اس لیے تصویر عوامی طور پر شیئر کر سکتے ہیں۔ کوئی بلا اجازت استعمال کرے تو پوشیدہ نشان فائل میں موجود رہتا ہے — اور خلاف ورزی درج کرنے کے لیے وہی تصویر تیسرے فریق کے پلیٹ فارم پر شائع کریں تو اس نقل میں بھی آپ کا ثبوت ہوتا ہے، جو مواد ہٹوانے یا دعوے کی تائید کر سکتا ہے۔

کیا وہ پیغام چھپا سکتا ہوں جو سامنے کہنے سے جھجھکتا ہوں؟

ضرور۔ روزمرہ کی عام تصویر میں «میں تم سے محبت کرتا ہوں» یا کوئی بھی مشکل بات چھپائیں، اور وصول کنندہ کی تاریخ پیدائش کو خفیہ فقرہ بنائیں۔ تصویر بھیج کر اسے ImageSteg (یا 73hi.com/image-steg.html) میں کھولنے کو کہیں۔ صرف خفیہ فقرہ جاننے والا الفاظ نکال سکتا ہے، اس لیے بلند آواز میں کہنے کی جھجھک کے بغیر اظہار کر سکتے ہیں۔