خانه - بهبود
انتخاب رمزگذاری متن هنگام باز کردن و ذخیره فایل ها. در صورت وجود هیروگلیف به جای متن (در ورد، مرورگر یا سند متنی) چه باید کرد، سند متنی با هیروگلیف باز می شود

این اولین باری بود که چیزی شبیه به این را می دیدم - فایل ها و پوشه ها از درایو فلش ناپدید شدند و به جای آنها فایل هایی با نام های نامفهوم به شکل "kryakozyabriks" ظاهر شد، اجازه دهید آنها را هیروگلیف بنامیم.

درایو فلش با استاندارد باز شد با استفاده از ویندوزو علاوه بر این، متأسفانه، این نتایج مثبتی به همراه نداشت.

تمام فایل های درایو فلش از بین رفته اند، به جز یکی. چندین فایل با نام های عجیب ظاهر شد: &، t، n-&، و غیره.

فایل های روی درایو فلش ناپدید شده اند، اما ویندوز نشان می دهد که فضای آزاد اشغال شده است. این نشان می دهد که اگرچه فایل های مورد نظر ما نمایش داده نمی شوند، اما در درایو فلش قرار دارند.

اگرچه فایل ها ناپدید شده اند، اما فضا اشغال شده است. که در مورد خاص، 817 مگابایت اشغال شده است

اولین فکری که در مورد علت اتفاق افتاده تأثیر ویروس است. قبلاً وقتی ویروس وجود داشت از مدیر فایل FAR استفاده می شد که به طور معمول همه پرونده ها (پنهان و سیستمی) را می بیند. با این حال، این بار، مدیر FAR تنها کاری را دید که ویندوز اکسپلورر استاندارد انجام داد...

حتی مدیر FAR نیز نتوانست فایل های "از دست رفته" را ببیند

از آنجایی که ویندوز فایل های از دست رفته را نمی بیند، ترفند تغییر ویژگی های فایل را با استفاده از آن امتحان نمی کند خط فرمانو دستورات attrib -S -H /S /D.

لینوکس چه خواهد دید؟

در این شرایط، به عنوان یک آزمایش، تصمیم گرفتم از سیستم عامل روی استفاده کنم مبتنی بر لینوکس. در این مورد خاص، یک دیسک با یک سیستم عامل استفاده شد سیستم اوبونتو 10.04.3 (اطلاعات بیشتر در مورد اوبونتو و مکان دانلود آن).

مهم! نیازی به نصب اوبونتو بر روی رایانه شما نیست - فقط مانند کاری که با .

پس از بوت شدن در اوبونتو، دسکتاپ ظاهر می شود و می توانید با پوشه ها و فایل ها دقیقاً مانند ویندوز کار کنید.

همانطور که انتظار می رفت، اوبونتو دید فایل های بیشتردر مقایسه با ویندوز

اوبونتو همچنین فایل هایی را که از ویندوز قابل مشاهده نبودند (قابل کلیک) نمایش می دهد.

در مرحله بعد، برای اینکه با ویژگی های فایل مزاحم نشوید، مراحل اساسی انجام شد: تمام فایل های نمایش داده شده انتخاب و کپی شدند. دیسک محلی"D" (البته، می توانید فایل ها را کپی کنید دیسک سیستم"C")

حالا می توانید دوباره ویندوز را بوت کنید و ببینید چه اتفاقی افتاده است.

اکنون ویندوز چندین فایل Word را می بیند. لطفا توجه داشته باشید که نام فایل ها نیز به درستی نمایش داده می شوند

متأسفانه، مشکل حل نشده است، زیرا به وضوح فایل های بیشتری در درایو فلش وجود دارد (با توجه به حجم 817 مگابایت) از آنچه ما می توانیم استخراج کنیم. به همین دلیل، بیایید سعی کنیم درایو فلش را برای خطا بررسی کنیم.

عیب یابی خطاهای درایو فلش

برای یافتن و رفع خطاهای روی دیسک، ویندوز یک ابزار استاندارد دارد.

مرحله 1. بر روی نماد درایو فلش کلیک راست کرده و دستور "Properties" را انتخاب کنید.

مرحله 2. به تب "Service" بروید و روی دکمه "Run check" کلیک کنید.

مرحله 3. روی دکمه "راه اندازی" کلیک کنید.

پس از بررسی و رفع خطاهای سیستم، پیام مربوطه ظاهر می شود.

پیام: "برخی از خطاها پیدا شده و رفع شده اند"

پس از حذف خطاها، فایل های دارای هیروگلیف ناپدید شدند و در دایرکتوری ریشه فلش درایو ظاهر شد. پوشه مخفیبا نام FOUND.000.

داخل پوشه FOUND.000 264 فایل با پسوند CHK وجود داشت. فایل های با پسوند CHK می توانند قطعات فایل را ذخیره کنند انواع مختلف، استخراج شده از دیسکهای سختو درایوهای فلش با استفاده از ابزارهای ScanDisk یا CHKDISK.

اگر تمام فایل های روی فلش مموری از یک نوع بودند، برای مثال، اسناد Wordبا پسوند docx، سپس در مدیر فایل فرمانده کلهمه فایل ها را انتخاب کنید و کلیدهای ترکیبی Ctrl + M (فایل ها - تغییر نام گروه) را فشار دهید. ما نشان می دهیم که کدام برنامه افزودنی را باید جستجو کرد و آن را به چه چیزی تغییر داد.

در این مورد خاص، من فقط می دانستم که درایو فلش حاوی اسناد و فایل های Word با ارائه Power Point است. تغییر برنامه های افزودنی به صورت تصادفی بسیار مشکل ساز است، بنابراین بهتر است از آن استفاده کنید برنامه های تخصصی- آنها خودشان تعیین می کنند که چه نوع داده ای در فایل ذخیره می شود. یکی از این برنامه ها است ابزار رایگان، که نیازی به نصب در رایانه شما ندارد.

پوشه منبع را مشخص کنید (فایل های CHK را در آن رها کردم HDD). بعد، گزینه ای را انتخاب کردم که در آن فایل هایی با پسوندهای مختلف در پوشه های مختلف قرار می گیرند.

تنها کاری که باید انجام دهید این است که روی "شروع" کلیک کنید

در نتیجه ابزار، سه پوشه ظاهر شد:

  • DOC - با اسناد Word؛
  • JPG - با تصاویر.
  • ZIP - با آرشیو.
  • محتویات هشت فایل ناشناخته باقی ماند. با این حال، کار اصلی تکمیل شد، اسناد و عکس های Word بازیابی شدند.

    نکته منفی این است که امکان بازیابی نام فایل های مشابه وجود نداشت، بنابراین بدیهی است که باید با تغییر نام اسناد Word دستکاری کنید. در مورد فایل های دارای عکس، نام هایی مانند FILE0001.jpg، FILE0002.jpg و غیره نیز کار خواهند کرد.

    سوال کاربر

    سلام.

    لطفاً به من بگویید چرا برخی از صفحات در مرورگر من هیروگلیف، مربع نشان می دهند و من نمی فهمم چه چیزی (هیچ چیزی نمی تواند خوانده شود) به جای متن. قبلا این اتفاق نیفتاد

    پیشاپیش از شما متشکرم...

    روز خوب!

    در واقع، گاهی اوقات وقتی یک صفحه اینترنتی را باز می کنید، به جای متن، "کریاکوزابری" (به قول من) مختلف نشان داده می شود و خواندن آن غیرممکن است.

    این به این دلیل اتفاق می افتد که متن روی صفحه در یک رمزگذاری نوشته شده است (شما می توانید در مورد این اطلاعات بیشتر بدانید) و مرورگر سعی می کند آن را در دیگری باز کند. به دلیل این تناقض، به جای متن، مجموعه ای از شخصیت های نامفهوم وجود دارد.

    بیایید سعی کنیم این را درست کنیم ...

    مرورگر

    در واقع، قبلا اینترنت اکسپلورراغلب کرک های مشابهی ارائه می دهند، 👉 (Chrome، Yandex مرورگر، اپرا، فایرفاکس) - آنها رمزگذاری را به خوبی تعیین می کنند و به ندرت اشتباه می کنند. 👌

    حتی بیشتر می گویم ، در برخی از نسخه های مرورگر انتخاب رمزگذاری قبلاً حذف شده است و برای پیکربندی "دستی" این پارامتر باید افزونه ها را بارگیری کنید یا برای 10 تیک وارد جنگل تنظیمات شوید. .

    و بنابراین، فرض کنید مرورگر به اشتباه رمزگذاری را شناسایی کرده و موارد زیر را مشاهده کرده اید (مانند تصویر زیر👇).

    👉 اتفاقا!

    اغلب، سردرگمی بین رمزگذاری‌های UTF (یونیکد) و Windows-1251 رخ می‌دهد (بیشتر سایت‌های روسی زبان در این رمزگذاری‌ها ساخته شده‌اند).

  • ALT چپ را فشار دهید تا منو در بالا ظاهر شود. منو را فشار دهید "چشم انداز" ;
  • مورد را انتخاب کنید "رمزگذاری متن"، سپس انتخاب کنید یونیکد. و، وو-آ-لا - هیروگلیف های روی صفحات بلافاصله به متن عادی تبدیل شدند (عکس زیر👇)!
  • نکته دیگر: اگر نمی توانید نحوه تغییر رمزگذاری را در مرورگر خود پیدا کنید (و به طور کلی ارائه دستورالعمل برای هر مرورگر غیر واقعی است!)، توصیه می کنم سعی کنید صفحه را در مرورگر دیگری باز کنید. اغلب اوقات برنامه دیگری صفحه را همانطور که باید باز می کند.

    اسناد متنی

    هنگام باز کردن برخی از اسناد متنی، سؤالات زیادی در مورد کرکرها پرسیده می شود. به خصوص قدیمی ها، به عنوان مثال، هنگام خواندن Readme در برخی از برنامه های قرن گذشته (مثلاً برای بازی).

    البته بسیاری از نوت‌پدهای مدرن به سادگی نمی‌توانند رمزگذاری DOS را که قبلاً استفاده می‌شد بخوانند. برای حل این مشکل، توصیه می‌کنم از ویرایشگر Bread 3 استفاده کنید.

    پرورش 3

    یک دفترچه یادداشت متنی ساده و راحت. زمانی که باید با فایل های متنی قدیمی کار کنید یک چیز غیر قابل تعویض.

    Bred 3 به شما امکان می دهد رمزگذاری را با یک کلیک تغییر دهید و متن ناخوانا را خوانا کنید! علاوه بر فایل‌های متنی، از طیف گسترده‌ای از اسناد پشتیبانی می‌کند. به طور کلی، من آن را توصیه می کنم! ✌

    سعی کنید مال خود را در Bred 3 باز کنید سند متنی(که با آن مشکلاتی وجود دارد). یک مثال در تصویر زیر نشان داده شده است.

    دفترچه یادداشت دیگر - Notepad++ - نیز برای کار با فایل های متنی کدگذاری های مختلف مناسب است. در کل البته بیشتر برای برنامه نویسی مناسبه چون... پشتیبانی از نور پس زمینه های مختلف برای خواندن راحت تر کد.

    نمونه ای از تغییر رمزگذاری در زیر نشان داده شده است: برای خواندن متن، در مثال زیر، کافی است رمزگذاری ANSI را به UTF-8 تغییر دهید.

    اسناد WORD

    اغلب مشکل کرک در Word به این دلیل است که این دو فرمت اشتباه گرفته شده اند Doc و Docx. واقعیت این است که از سال 2007 Word (اگر اشتباه نکنم) این قالب را معرفی کرده است Docx(به شما امکان می دهد سند را قوی تر از Doc فشرده کنید و با اطمینان بیشتری از آن محافظت می کند).

    بنابراین، اگر یک Word قدیمی دارید که از این فرمت پشتیبانی نمی کند، وقتی یک سند را در Docx باز می کنید، هیروگلیف ها را خواهید دید و نه چیز دیگر.

    دو راه حل وجود دارد:

  • دانلود در وب سایت ویژه مایکروسافت. افزونه ای که به شما امکان می دهد در حالت قدیمی باز کنید کلمه جدیداسناد (از سال 2020، افزودنی از وب سایت رسمی حذف شده است). فقط از تجربه شخصیمی توانم بگویم که همه اسناد باز نمی شوند، و علاوه بر این، نشانه گذاری سند به شدت آسیب می بیند (که در برخی موارد بسیار مهم است).
  • استفاده از 👉 (با این حال، نشانه گذاری در سند نیز آسیب می بیند)؛
  • Word را به نسخه مدرن به روز کنید.
  • همچنین، هنگامی که هر سندی را در Word باز می کنید (در رمزگذاری آن شک دارد)، او به شما پیشنهاد می دهد که خودتان آن را مشخص کنید. یک مثال در تصویر زیر نشان داده شده است، انتخاب کنید:

  • ویندوز (پیش فرض)؛
  • MS DOS؛
  • یکی دیگر...
  • ویندوز در برنامه های مختلف ویندوز

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

  • روسیفایر. غالبا پشتیبانی رسمیهیچ زبان روسی در این برنامه وجود ندارد، اما بسیاری از صنعتگران Russifiers می سازند. به احتمال زیاد، این کرکر از کار بر روی سیستم شما خودداری کرده است. بنابراین، توصیه ساده است: نصب دیگری را امتحان کنید.
  • تغییر زبان بسیاری از برنامه ها را می توان بدون روسی با تغییر زبان به انگلیسی در تنظیمات استفاده کرد. خوب، واقعاً: چرا به جای دکمه به برخی ابزارها نیاز دارید "شروع"ترجمه "شروع" ?
  • اگر قبلاً متن شما به طور معمول نمایش داده می شد، اما اکنون اینطور نیست، 👉 را امتحان کنید، البته اگر نقاط بازیابی دارید.
  • زبان و تنظیمات منطقه ای را در ویندوز بررسی کنید، اغلب دلیل آن در آنجا نهفته است (👇).
  • مناطق و زبان ها در ویندوز

    مکان - روسیه

    و در برگه "به علاوه"زبان سیستم را تنظیم کنید "روسیه روسیه)" .

    پس از این، تنظیمات را ذخیره کنید و کامپیوتر خود را مجددا راه اندازی کنید. سپس دوباره بررسی کنید که آیا رابط برنامه مورد نظر به طور عادی نمایش داده می شود یا خیر.

    و در نهایت، این احتمالا برای بسیاری آشکار است، و با این حال برخی فایل‌های خاصی را در برنامه‌هایی باز می‌کنند که برای این کار در نظر گرفته نشده‌اند: به عنوان مثال، در یک دفترچه یادداشت معمولی سعی می‌کنند یک فایل DOCX یا PDF را بخوانند.

    طبیعتاً در این حالت به جای متن، کرکرها را تماشا خواهید کرد؛ از برنامه هایی که برای آن طراحی شده اند استفاده کنید از این نوعفایل (WORD 2016+ و Adobe Reader برای مثال بالا).

    احتمالاً هر کاربر رایانه شخصی با مشکل مشابهی روبرو شده است: شما یک صفحه یا سند اینترنت را باز می کنید مایکروسافت ورد- و به جای متن هیروگلیف ها ("کریاکوزابری مختلف"، حروف ناآشنا، اعداد و غیره (مانند تصویر سمت چپ ...)) را مشاهده می کنید.

    خوب است اگر این سند (با هیروگلیف) برای شما اهمیت خاصی نداشته باشد، اما اگر نیاز به خواندن آن داشته باشید چه؟ اغلب سوالات مشابه و درخواست کمک برای باز کردن چنین متون از من پرسیده می شود. در این مقاله کوتاه می خواهم به محبوب ترین دلایل ظاهر هیروگلیف ها (و البته حذف آنها) نگاه کنم.

    هیروگلیف در فایل های متنی (txt.)

    محبوب ترین مشکل. حقیقت این هست که فایل متنی(معمولا در قالب txt، اما آنها نیز فرمت های: php، css، info، و غیره) را می توان در رمزگذاری های مختلف ذخیره کرد.

    رمزگذاری مجموعه ای از کاراکترها است که برای اطمینان کامل از نوشته شدن متن با الفبای خاص (شامل اعداد و کاراکترهای خاص) ضروری است. جزئیات بیشتر در مورد این در اینجا: https://ru.wikipedia.org/wiki/Character_set

    اغلب یک چیز اتفاق می افتد: سند به سادگی با رمزگذاری اشتباه باز می شود که باعث سردرگمی می شود و به جای کد برخی از کاراکترها، سایرین فراخوانی می شوند. نمادهای عجیب و غریب مختلفی روی صفحه ظاهر می شوند (شکل 1 را ببینید).

    برنج. 1. دفترچه یادداشت - مشکل رمزگذاری

    با این چگونه روبرو میشوید؟

    به نظر من بهترین گزینه- این برای نصب یک دفترچه یادداشت پیشرفته است، به عنوان مثال Notepad++ یا Bred 3. بیایید به هر یک از آنها با جزئیات بیشتری نگاه کنیم.

    Notepad++

    وب سایت رسمی: https://notepad-plus-plus.org/

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

    از نظر رمزگذاری، به طور کلی نظم کاملی در اینجا وجود دارد: یک بخش جداگانه "رمزگذاری" وجود دارد (شکل 2 را ببینید). فقط سعی کنید ANSI را به UTF-8 تغییر دهید (برای مثال).

    پس از تغییر رمزگذاری، سند متنی من عادی و قابل خواندن شد - هیروگلیف ها ناپدید شدند (شکل 3 را ببینید)!

    وب سایت رسمی: http://www.astonshell.ru/freeware/bred3/

    یک برنامه عالی دیگر که برای جایگزینی کامل دفترچه یادداشت استاندارد در ویندوز طراحی شده است. همچنین "به راحتی" با بسیاری از رمزگذاری ها کار می کند، به راحتی آنها را تغییر می دهد، از تعداد زیادی فرمت فایل پشتیبانی می کند و از سیستم عامل های جدید ویندوز (8، 10) پشتیبانی می کند.

    به هر حال، Bred 3 هنگام کار با فایل های "قدیمی" ذخیره شده در فرمت های MS DOS بسیار مفید است. وقتی برنامه های دیگر فقط هیروگلیف ها را نشان می دهند، Bred 3 به راحتی آنها را باز می کند و به شما امکان می دهد با آرامش با آنها کار کنید (شکل 4 را ببینید).

    اگر در مایکروسافت ورد به جای متن، هیروگلیف وجود دارد

    اولین چیزی که باید به آن توجه کنید فرمت فایل است. واقعیت این است که با Word 2007 شروع می شود قالب جدید- "docx" (قبلا فقط "doc" بود). معمولاً فرمت های فایل جدید را نمی توان در Word "قدیمی" باز کرد، اما گاهی اوقات اتفاق می افتد که این فایل های "جدید" در برنامه قدیمی باز می شوند.

    فقط ویژگی های فایل را باز کنید و سپس به تب "جزئیات" (مانند شکل 5) نگاه کنید. به این ترتیب فرمت فایل را خواهید یافت (در شکل 5 - فرمت فایل "txt").

    اگر فرمت فایل docx- و شما یک Word قدیمی دارید (زیر نسخه 2007) - سپس فقط Word را به 2007 یا بالاتر (2010، 2013، 2016) به روز کنید.

    در مرحله بعد، هنگام باز کردن یک فایل، به (به طور پیش فرض این گزینههمیشه روشن است، مگر اینکه، البته، شما "نفهمید چه اسمبلی" داشته باشید) - Word دوباره از شما می پرسد: فایل را در چه رمزگذاری باز کنید (این پیام در هنگام باز کردن فایل در هر "اشاره" مشکلی ظاهر می شود، شکل 5 را ببینید).

    برنج. 6. Word - تبدیل فایل

    اغلب، Word به طور خودکار رمزگذاری مورد نیاز را تعیین می کند، اما متن همیشه قابل خواندن نیست. زمانی که متن قابل خواندن شد باید نوار لغزنده را روی کدگذاری مورد نظر تنظیم کنید. گاهی اوقات برای خواندن یک فایل باید به معنای واقعی کلمه حدس بزنید که چگونه یک فایل ذخیره شده است.

    برنج. 7. Word - فایل عادی است (کدگذاری به درستی انتخاب شده است)!

    تغییر رمزگذاری در مرورگر

    هنگامی که مرورگر به اشتباه رمزگذاری یک صفحه اینترنتی را تشخیص می دهد، دقیقاً همان هیروگلیف را خواهید دید (شکل 8 را ببینید).

    برای تعمیر نمایش سایت: رمزگذاری را تغییر دهید. این کار در تنظیمات مرورگر انجام می شود:

  • Google chrome: گزینه‌ها (نماد در گوشه بالا سمت راست)/گزینه‌های پیشرفته/رمزگذاری/Windows-1251 (یا UTF-8)؛
  • فایرفاکس: دکمه سمت چپ ALT (اگر پنل بالایی را خاموش کرده باشید)، سپس کدگذاری/صفحه مورد نظر را مشاهده کنید/انتخاب کنید (اغلب Windows-1251 یا UTF-8).
  • Opera: Opera (نماد قرمز در گوشه سمت چپ بالا)/صفحه/رمزگذاری/انتخاب مورد نظر.
  • بنابراین، در این مقاله، رایج ترین موارد ظاهر هیروگلیف مرتبط با رمزگذاری نادرست تعریف شده، مورد تجزیه و تحلیل قرار گرفت. با استفاده از روش های فوق می توانید تمام مشکلات اصلی را با کدگذاری نادرست حل کنید.

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

    همانطور که می گویند، "ابتکار عمل مجازات است" و مانند همیشه، آمریکایی ها در همه چیز مقصر هستند.

    و اینجوری بود در طلوع اوج صنعت کامپیوتر و گسترش اینترنت، نیاز به یک سیستم جهانی برای بازنمایی نمادها پدید آمد. و در دهه 60 قرن گذشته، ASCII ظاهر شد - "کد استاندارد آمریکایی برای تبادل اطلاعات" (آمریکایی کد استانداردبرای تبادل اطلاعات)، یک رمزگذاری کاراکتر 7 بیتی آشنا. آخرین هشتمین بیت بدون استفاده به عنوان یک بیت کنترل برای سفارشی کردن جدول ASCII برای مطابقت با نیازهای هر مشتری رایانه در یک منطقه خاص باقی مانده است. این بیت امکان گسترش جدول ASCII را برای استفاده از کاراکترهای خاص خود برای هر زبان فراهم کرد. کامپیوترها به بسیاری از کشورها عرضه شدند، جایی که آنها قبلاً از جدول اصلاح شده خود استفاده می کردند. اما بعداً این ویژگی به یک سردرد تبدیل شد، زیرا تبادل داده بین رایانه ها کاملاً مشکل ساز شد. صفحات کد 8 بیتی جدید با یکدیگر ناسازگار بودند - یک کد می تواند به معنای چندین کاراکتر متفاوت باشد. برای حل این مشکل، ISO (سازمان بین المللی استاندارد) جدول جدیدی به نام "ISO 8859" پیشنهاد کرد.

    این استاندارد بعداً به UCS ("مجموعه کاراکتر جهانی") تغییر نام داد. با این حال، زمانی که UCS برای اولین بار منتشر شد، یونیکد ظاهر شد. اما از آنجایی که اهداف و مقاصد هر دو استاندارد منطبق بود، تصمیم گرفته شد که نیروها را با هم متحد کنیم. خب، یونیکد کار دشواری را بر عهده گرفته است که به هر شخصیت یک نام منحصر به فرد بدهد. بر این لحظهآخرین نسخه یونیکد 5.2 است.

    من می خواهم به شما هشدار دهم - در واقع، داستان با رمزگذاری بسیار مبهم است. منابع مختلف حقایق متفاوتی را ارائه می دهند، بنابراین شما نباید روی یک چیز تمرکز کنید، فقط از نحوه شکل گیری همه چیز آگاه باشید و از استانداردهای مدرن پیروی کنید. امیدوارم ما تاریخ نگار نیستیم.

    دوره تصادف یونیکد

    قبل از پرداختن به موضوع، می خواهم توضیح دهم که یونیکد در چه زمینه ای قرار دارد از نظر فنی. اهداف این استانداردما قبلاً می دانیم، تنها چیزی که باقی می ماند این است که سخت افزار را اصلاح کنیم.

    پس یونیکد چیست؟ به عبارت ساده، این راهی است برای نشان دادن هر شخصیت به عنوان یک کد خاص برای همه زبان های جهان. آخرین نسخهاین استاندارد شامل حدود 1100000 کد است که فضایی از U+0000 تا U+10FFFF را اشغال می کند. اما در اینجا مراقب باشید! یونیکد دقیقاً تعریف می کند که یک کد برای یک کاراکتر چیست و چگونه آن کد در حافظه نمایش داده می شود. کدهای کاراکتر (مثلاً 0041 برای کاراکتر "A") هیچ معنایی ندارند، اما منطقی برای نمایش این کدها در بایت وجود دارد؛ این کار با رمزگذاری انجام می شود. کنسرسیوم یونیکد انواع زیر را ارائه می دهد که به آنها UTF (فرمت های تبدیل یونیکد) می گویند. و در اینجا آنها هستند:

    • UTF-7: این رمزگذاری به دلایل امنیتی و سازگاری توصیه نمی شود. در RFC 2152 توضیح داده شده است. بخشی از یونیکد نیست، اما توسط این کنسرسیوم معرفی شده است.
    • UTF-8: رایج ترین رمزگذاری در فضای وب. یک متغیر با عرض 1 تا 4 بایت است. سازگار با پروتکل ها و برنامه هایی که از ASCII استفاده می کنند. محدوده U+0000 تا U+007F را اشغال می کند.
    • UTF-16: از عرض متغیر از 2 تا 4 بایت استفاده می کند. رایج ترین استفاده 2 بایت است. UCS-2 همان رمزگذاری است، فقط با عرض ثابت 2 بایت و محدود به محدودیت های BMP.
    • UTF-32: از عرض ثابت 4 بایت یعنی 32 بیت استفاده می کند. با این حال، تنها 21 بیت استفاده می شود، 11 بیت باقی مانده با صفر پر شده است. اگرچه این رمزگذاری از نظر فضا دست و پا گیر است، اما به دلیل آدرس دهی 32 بیتی در رایانه های مدرن، از نظر کارایی کارآمدترین آنها محسوب می شود.

    نزدیکترین آنالوگ UTF-32 رمزگذاری UCS-4 است، اما امروزه کمتر مورد استفاده قرار می گیرد.

    با وجود این واقعیت که UTF-8 و UTF-32 می توانند کمی بیش از دو میلیارد کاراکتر را نشان دهند، تصمیم گرفته شد به خاطر سازگاری با UTF-16 خود را به کمی بیش از یک میلیون محدود کنیم. کل فضای کد به 17 صفحه، هر کدام با 65536 نماد گروه بندی شده است. نمادهایی که اغلب استفاده می شوند در صفحه پایه صفر قرار دارند. به عنوان BMP - Basic MultiPlane نامیده می شود.
    یک جریان داده در رمزگذاری‌های UTF-16 و UTF-32 می‌تواند به دو صورت نمایش داده شود - اندیان کوچک و اندین بزرگ که به ترتیب UTF-16LE/UTF-32LE، UTF16BE/UTF-32BE نامیده می‌شوند. همانطور که ممکن است حدس بزنید، LE کمی اندین است و BE بزرگ-اندین است. اما ما باید به نحوی بتوانیم بین این دستورات تمایز قائل شویم. برای انجام این کار، از علامت سفارش بایت U+FEFF، در نسخه انگلیسی - BOM، "Byte Order Mask" استفاده کنید. این BOM ممکن است در UTF-8 نیز ظاهر شود، اما در آنجا معنایی ندارد.

    به خاطر سازگاری با عقب، یونیکد باید کاراکترهای رمزگذاری های موجود را در خود جای می داد. اما در اینجا مشکل دیگری ایجاد می شود - انواع مختلفی از شخصیت های یکسان وجود دارد که باید به نحوی پردازش شوند. بنابراین، به اصطلاح "نرمال سازی" مورد نیاز است، پس از آن می توان دو رشته را با هم مقایسه کرد. 4 شکل عادی سازی وجود دارد:

    • عادی سازی فرم D (NFD): تجزیه متعارف.
    • عادی سازی فرم C (NFC): تجزیه متعارف + ترکیب متعارف.
    • فرم عادی سازی KD (NFKD): تجزیه سازگار.
    • فرم عادی سازی KC (NFKC): تجزیه سازگار + ترکیب متعارف.

    حالا بیایید بیشتر در مورد این کلمات عجیب صحبت کنیم.

    یونیکد دو نوع برابری رشته را تعریف می کند - متعارف و سازگاری.

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

    به دلایل امنیتی، عادی سازی باید قبل از ارسال رشته به هر فیلتری برای تأیید انجام شود. پس از این عملیات، اندازه متن ممکن است تغییر کند، که ممکن است پیامدهای منفی داشته باشد، اما بعداً در مورد آن صحبت خواهیم کرد.

    از نظر تئوری، این همه چیز است، من هنوز چیز زیادی نگفته ام، اما امیدوارم چیز مهمی را از دست ندهم. یونیکد فوق‌العاده وسیع، پیچیده و کتاب‌های قطوری است که روی آن منتشر شده است، و توضیح مختصر، در دسترس و کامل اصول چنین استاندارد دست و پا گیر بسیار دشواری است. در هر صورت، برای درک عمیق تر، باید لینک های جانبی را بررسی کنید. بنابراین، وقتی تصویر با یونیکد کم و بیش واضح شد، می‌توانیم ادامه دهیم.

    توهم بصری

    احتمالاً در مورد جعل IP/ARP/DNS شنیده اید و ایده خوبی از چیستی آن دارید. اما به اصطلاح "جعل بصری" نیز وجود دارد - این همان روش قدیمی است که فیشرها به طور فعال برای فریب قربانیان استفاده می کنند. در این گونه موارد از حروف مشابه مانند o و 0 و 5 و s استفاده می شود. این رایج ترین و ساده ترین گزینه است و به راحتی قابل توجه است. نمونه آن حمله فیشینگ در سال 2000 به پی پال است که حتی در صفحات www.unicode.org نیز به آن اشاره شده است. با این حال، این ارتباط کمی با موضوع یونیکد ما دارد.

    برای افراد پیشرفته تر، یونیکد در افق ظاهر شده است، یا به طور دقیق تر، IDN، که مخفف "نام های دامنه بین المللی شده" است. IDN اجازه می دهد تا از حروف الفبای ملی در نام های دامنه استفاده شود. آنها می گویند که ثبت کنندگان نام دامنه این را به عنوان یک چیز راحت قرار می دهند نام دامنهبه زبان مادری شما! با این حال، این راحتی بسیار مشکوک است. خوب، خوب، بازاریابی موضوع ما نیست. اما تصور کنید که اینجا چه پناهگاهی برای فیشرها، متخصصان سئو، سایبری اسکوترها و دیگر ارواح شیطانی است. من در مورد اثری به نام جعل IDN صحبت می کنم. این حمله به دسته جعل بصری تعلق دارد؛ در ادبیات انگلیسی به آن «حمله هموگراف» نیز می‌گویند، یعنی حملاتی با استفاده از هموگراف (کلماتی که از نظر املایی یکسان هستند).

    بله، هنگام تایپ حروف، هیچ کس اشتباه نمی کند و دامنه اشتباه عمدی را تایپ نمی کند. اما اغلب کاربران روی لینک ها کلیک می کنند. اگر می خواهید از اثربخشی و سادگی حمله متقاعد شوید، به تصویر نگاه کنید.

    IDNA2003 به عنوان نوعی دارو اختراع شد، اما در سال 2010، IDNA2008 به اجرا درآمد. پروتکل جدید قرار بود بسیاری از مشکلات IDNA2003 جوان را حل کند، اما فرصت های جدیدی را برای حملات جعل ارائه کرد. مشکلات سازگاری دوباره ایجاد می شود - در برخی موارد، آدرس یکسان در مرورگرهای مختلف می تواند به سرورهای مختلف منجر شود. نکته این است که Punycode را می توان به روش های مختلفی برای تبدیل کرد مرورگرهای مختلف- همه چیز به این بستگی دارد که کدام مشخصات استاندارد پشتیبانی می شود.
    مشکل فریب بصری به همین جا ختم نمی شود. یونیکد نیز در خدمت اسپمرها قرار می گیرد. ما در مورد فیلترهای هرزنامه صحبت می کنیم - نامه های اصلی توسط ارسال کننده های هرزنامه از طریق یک مبهم کننده یونیکد ارسال می شود، که با استفاده از به اصطلاح UC-Simlist به دنبال کاراکترهای مشابه از الفبای ملی مختلف می گردد ("فهرست شباهت یونیکد"، لیستی از کاراکترهای مشابه یونیکد) . همین! فیلتر ضد اسپم تسلیم می‌شود و دیگر نمی‌تواند چیزی معنادار را در چنین شخصیت‌های آشفته تشخیص دهد، اما کاربر کاملاً قادر به خواندن متن است. من انکار نمی کنم که راه حلی برای این مشکل پیدا شده است، اما هرزنامه ها دست بالا را دارند. خوب، و یک چیز دیگر از همان سری حملات. آیا مطمئن هستید که یک فایل متنی را باز می کنید و با یک باینری سروکار ندارید؟

    در شکل همانطور که مشاهده می کنید فایلی به نام evilexe داریم. txt اما این دروغ است! این فایل در واقع eviltxt.exe نام دارد. می پرسی این چه نوع مزخرفی است که داخل پرانتز است؟ و این U+202E یا RIGHT-TO-LEFT OVERRIDE است، به اصطلاح Bidi (از کلمه دوطرفه) - یک الگوریتم یونیکد برای پشتیبانی از زبان هایی مانند عربی، عبری و دیگران. دومی ها از راست به چپ نوشته دارند. پس از درج کاراکتر یونیکد RLO، هر چیزی که بعد از RLO می آید را به ترتیب معکوس خواهیم دید. به عنوان مثال این روشاز زندگی واقعی می توانم به یک حمله جعل در موزیلا Firfox اشاره کنم - cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3376.

    دور زدن فیلترها - مرحله شماره 1

    امروزه مشخص شده است که فرم‌های طولانی (غیر کوتاه‌ترین شکل) UTF-8 قابل پردازش نیستند، زیرا این یک آسیب‌پذیری بالقوه است. با این حال، توسعه دهندگان PHP نمی توانند با این موضوع قانع شوند. بیایید بفهمیم این باگ چیست. شاید فیلترینگ نادرست و utf8_decode() را به خاطر داشته باشید. این موردی است که ما با جزئیات بیشتری بررسی خواهیم کرد. بنابراین ما این کد پی اچ پی را داریم:



     


    خواندن:



    زبان برنامه نویسی تایپ شده مشخص کننده های نوع یا قالب یا کاراکترهای تبدیل یا کاراکترهای کنترلی

    زبان برنامه نویسی تایپ شده مشخص کننده های نوع یا قالب یا کاراکترهای تبدیل یا کاراکترهای کنترلی

    زبان برنامه نویسی C++ آخرین به روز رسانی: 2017/08/28 زبان برنامه نویسی C++ یک زبان کامپایل شده سطح بالا است...

    برنامه کاری پست روسیه در تعطیلات سال نو کار پستی در تعطیلات سال نو

    برنامه کاری پست روسیه در تعطیلات سال نو کار پستی در تعطیلات سال نو

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

    Tass: رمزگشایی مخفف

    Tass: رمزگشایی مخفف

    این اصطلاح از اختصار ایتالیایی و brevis لاتین - کوتاه آمده است. در کتب و نسخه های خطی باستانی این نام مخفف ...

    قالب های گواهی خالی دانلود قالب گواهی افتخار برای چاپ

    قالب های گواهی خالی دانلود قالب گواهی افتخار برای چاپ

    با سلام، خواننده عزیز! امروز به شما خواهم گفت که چگونه در Word یک نامه بسازید. در کارم مجبور شدم تعداد زیادی از...

    فید-تصویر RSS