بالماسکه شخصیت ها: جنبه های امنیتی یونیکد محور. به جای فایل های "هیروگلیف" (کاراکترهای نامفهوم) در درایو فلش USB ویندوز در برنامه های مختلف ویندوز

کراکوزیابریکلمه جالب چیست؟ این کلمه معمولا توسط کاربران روسی برای اشاره به نمایش نادرست / نادرست (رمزگذاری) کاراکترها در برنامه ها یا خود سیستم عامل استفاده می شود.
چرا این اتفاق می افتد؟ شما یک پاسخ را پیدا نخواهید کرد. این ممکن است به دلیل ترفندهای ویروس های "مورد علاقه" ما باشد، ممکن است به دلیل خرابی سیستم عامل ویندوز باشد (مثلاً برق خاموش شد و رایانه خاموش شد)، شاید برنامه با سیستم عامل دیگری یا سیستم عامل تضاد ایجاد کرد. و همه چیز "پرواز کرد". به طور کلی، دلایل زیادی می تواند وجود داشته باشد، و جالب ترین آنها این است که "فقط آن را گرفت و همینطور شکست."
ما مقاله را خواندیم و متوجه شدیم که چگونه مشکل رمزگذاری را در برنامه ها و سیستم عامل ویندوز برطرف کنیم، زیرا این اتفاق افتاده است.

برای کسانی که هنوز منظور من را نفهمیده اند، این چند مورد است:


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

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

نحوه حذف و رفع krakozyabry به جای روسی (حروف روسی) در برنامه یا ویندوز.

1. چک کردن زبان نصب شدهبرای برنامه هایی که از یونیکد پشتیبانی نمی کنند. شاید او با شما گم شده است.

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


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

6. آخرین نکته ای که در آن یک فایل به شما می دهم که به من کمک کرد همه چیز را یک بار درست کنم و به همین دلیل آن را به عنوان یادگاری گذاشتم. این هم آرشیو:

دو فایل داخل وجود دارد: krakozbroff.cmd و krakozbroff.reg

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

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

همین. اکنون می دانید که چگونه حذف / رفع کراکوزیابری (مربع، هیروگلیف، تعجب و علامت سوال) را در یک برنامه یا ویندوز برطرف کنید.

توجه!!! آماده شوید، مقاله طولانی خواهد بود. ممکن است خسته شوید و بخوابید، پس بنشینید، یک فنجان قهوه بنوشید و بیایید شروع کنیم.


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

1. تجویز هیروگلیف.

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

از معایب می توان شناسایی کرد:
- به کاغذ و ابزار نوشتاری نیاز دارد.
- نوشتن یک هیروگلیف زمان زیادی می برد.
- باید مقدار زیادی کاغذ ذخیره کنید.
- برای یک رویکرد با کیفیت به تمرینات به مکان و زمان نیاز دارید.
- دیگر.

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

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


2. الگو. تجویز با توجه به توالی مشخص شده از ویژگی ها رخ می دهد. معنای هیروگلیف نیز داده شده است. تلفظ در پشت صحنه باقی می ماند.

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

2. روش انجمنی.

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

3. کارت ها

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


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


شاید. یک دانش آموز با تجربه زبان چینی می تواند روش های "کاغذی" دیگری برای تسلط و حفظ هیروگلیف ها ارائه دهد. اما تصمیم گرفتم فعلاً به موارد بالا پایبند باشم. بریم سراغ الکترونیک.

1.فلش کارت ها.

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

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

کاربردهای دیگری نیز با همین ماهیت وجود دارد. در اینجا، برای مثال، یکی از این برنامه ها در وب سایت Magazeta ذکر شده است: پیوندی به مقاله.

2. پردازنده های کاراکتر.

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

3. مترجمان آنلاین.

Google Translate دارای ویژگی ورودی صفحه نمایش لمسی است. در آنجا می توانید هیروگلیف ها را با انگشت خود درست روی دستگاه تلفن همراه خود بنویسید. اینترنت مورد نیاز است. هیچ برنامه حفظ واضحی وجود ندارد، فقط توانایی نوشتن روی کاغذ وجود ندارد. همین امر در مورد ورود ماوس از هیروگلیف در لغت نامه های اینترنتی مانند www.bkrs.info نیز صدق می کند. در کنار نوار جستجو یک دکمه ورودی دستی وجود دارد، گاهی اوقات به دلیل تم اطراف خط قابل مشاهده نیست، اما قطعا در سمت راست است. می توانید یک هیروگلیف را با ماوس وارد کنید و معنی آن را تماشا کنید، گاهی اوقات به تلفظ آن گوش دهید. نوشتن روی کاغذ را حذف می کند.

4. برنامه های دیگر.

نرم افزارهای دیگر را می توان در اینترنت یافت. من همه چیز را تست نکرده ام، بنابراین نمی توانم چیز زیادی را توصیف کنم. اما من می خواهم چند کلمه در مورد سیستم MAO بگویم. من رویکرد حفظ هیروگلیف را دوست نداشتم، اما هنوز تصمیم گرفتم آن را در این مقاله بیاورم، زیرا برنامه "MAOcard" وجود دارد. بله، و کسی می تواند از این سیستم بالاتر از من قدردانی کند. ارتباط دادن...

ادامه می دهیم...

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

من می خواهم به طور خاص به برنامه برای پلت فرم اندروید "Chineskill" اشاره کنم. در حال توسعه است و به نظر من مزایای بسیاری را با هم ترکیب می کند. مطالعه هیروگلیف همراه با مطالعه واژگان و دستور زبان است. کلمات را بنویسید و تلفظ کنید باید. گاهی با دست، با انگشت. شاید این چیزی است که شما نیاز دارید ...

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

نتیجه.

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

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

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

و همینطور بود. در طلوع اوج صنعت کامپیوتر و گسترش اینترنت، نیاز به یک سیستم بازنمایی جهانی شخصیت وجود داشت. و در دهه 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 ذکر شده است. با این حال، این ارتباط کمی با موضوع یونیکد ما دارد.

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

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

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

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

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

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

// ... مرحله 1
$id = mysql_real_escape_string($_GET["id"]);
// ... گام 2
$id = utf8_decode($id);
// ... مرحله 3
mysql_query("انتخاب "نام" از "ددبیف"
WHERE "id"="$id"");

در نگاه اول همه چیز اینجا درست است. به نوعی، اما نه کاملاً - اینجا یک تزریق SQL وجود دارد. بیایید تصور کنیم که از رشته زیر عبور کرده ایم:

/index.php?id=%c0%a7 یا 1=1/*

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

اگر %c0 و %a7 را به مقادیر باینری آنها تبدیل کنید، به ترتیب 11000000 و 10100111 دریافت خواهید کرد. آپوستروف دارای مقدار باینری 00100111 است. اکنون به جدول رمزگذاری UTF-8 نگاه کنید.

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

سپس باید چنین اکتت اول را بگیرید تا سه بیت اول 110 باشد که به رمزگشا می گوید که پهنای رشته از 1 بایت بیشتر است. و با اکتت دوم، دیگر مشکل نیست - دو صفر اول را با 1 و 0 جایگزین می کنیم. Voila! ما 11000000 10100111 دریافت کردیم که %c0%a7 است.

شاید این آسیب پذیری در هر مرحله یافت نشود، اما باید در نظر داشت که اگر توابع به این ترتیب قرار گیرند، نه addslashes()، نه mysql_real_escape_string()، و نه magic_quotes_qpc کمکی نمی کند. و بنابراین می توانید نه تنها آپستروف ها، بلکه بسیاری از شخصیت های دیگر را نیز پنهان کنید. به خصوص که فقط PHP نیست که رشته های UTF-8 را به اشتباه مدیریت می کند. با توجه به عوامل فوق، دامنه حمله بسیار گسترش یافته است.

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

آسیب پذیری این نوع در پنهان کردن کاملاً قانونی یک رشته سمی تحت پوشش رمزگذاری متفاوت است. به کد زیر نگاه کنید:

/**
* UTF-7 XSS PoC
*/
header("Content-Type: text/html;
charset=UTF-7");
$str = "";
$str = mb_convert_encoding($str,
"UTF-7")؛
echo htmlentities($str);

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

ADw-script+AD4-alert("UTF-7 XSS")+ADsAPA-/script+AD4

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

اگر شک دارید، خطا را پرتاب کنید و کار را متوقف کنید، و برای جلوگیری از مشکل، درست است که خروجی داده را به رمزگذاری UTF-8 وادار کنید. از عمل، یک مورد حمله به گوگل به خوبی شناخته شده است، جایی که یک هکر موفق شد با تغییر دستی رمزگذاری به UTF-7، یک حمله XSS را انجام دهد.

منبع اصلی حمله به گوگل با استفاده از این روش sla.ckers.org/forum/read.php?3,3109 است.

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

هشدار یونیکد: استفاده بیش از حد از نمادها به امنیت شما آسیب می رساند. بیایید در مورد تأثیری مانند "نمادهای خوردن" صحبت کنیم. دلیل یک حمله موفقیت آمیز می تواند رمزگشایی باشد که به درستی کار نمی کند: مثلاً در PHP. استاندارد می نویسد که اگر در حین تبدیل با یک کاراکتر چپ (بد شکل) مواجه شد، بهتر است کاراکترهای مشکوک را با علامت سوال، فاصله با U+FFFD، توقف تجزیه و غیره جایگزین کنید، اما کاراکترهای بعدی را حذف نکنید. . اگر هنوز نیاز به حذف یک کاراکتر دارید، باید آن را با دقت انجام دهید.

اشکال این است که PHP کاراکتر UTF-8 اشتباه را همراه با کاراکتر بعدی می جود. و این می تواند منجر به دور زدن فیلتر با اجرای بعدی کد جاوا اسکریپت یا تزریق SQL شود.

در پیام اصلی در مورد آسیب پذیری، در وبلاگ هکر Eduardo Vela با نام مستعار sirdarckcat، یک مثال بسیار خوب وجود دارد و ما آن را در نظر خواهیم گرفت، فقط کمی آن را اصلاح کنید. با توجه به سناریو، کاربر می تواند تصاویر را در پروفایل خود قرار دهد، کد زیر وجود دارد:

// ... تعداد زیادی کد، فیلتر کردن ...
$name = $_GET["name"];
$link = $_GET["پیوند"];
$image = " src="http://$link" />";
echo utf8_decode($image);
و اکنون درخواست زیر را ارسال می کنیم:
/?name=xxx%f6&link=%20
src=javascript:onerror=alert(/
xss/)//

پس از تمام تغییرات، PHP این را به ما برمی گرداند:

چی شد؟ متغیر $name یک کاراکتر UTF-8 نامعتبر 0xF6 دریافت کرد، که پس از تبدیل به utf8_decode()، 2 کاراکتر بعدی از جمله نقل قول پایانی را خورد. عبارت خرد http:// توسط مرورگر نادیده گرفته شد و کد جاوا اسکریپت زیر با موفقیت اجرا شد. من این حمله را در اپرا آزمایش کردم، اما هیچ چیز مانع از آن نمی شود که آن را جهانی کنیم، این فقط یک نمونه خوب از نحوه دور زدن حفاظت در برخی موارد است.

از این سری حملات اما بدون رفتار عجیب توابع PHP می توان مثال دیگری از دور زدن فیلترها زد. بیایید تصور کنیم که WAF/IPS خطوط را از لیست سیاه عبور نمی دهد، اما برخی از پردازش های بعدی خطوط توسط رمزگشا، کاراکترهای خارجی را در محدوده ASCII حذف می کند. سپس کد زیر آزادانه وارد رسیور می شود:

هشدار\uFEFFt ("XSS")

و در حال حاضر بدون \uFEFF جایی خواهد بود که مهاجم دوست دارد آن را ببیند. شما می توانید این مشکل را به سادگی با فکر کردن از طریق منطق پردازش رشته حل کنید - مانند همیشه، فیلتر باید با داده هایی که در آخرین مرحله پردازش است کار کند. به هر حال، اگر یادتان باشد، \uFEFF همان BOM است که قبلاً در مورد آن نوشتم. فایرفاکس تحت تاثیر این آسیب پذیری قرار گرفت - mozilla.org/security/announce/2008/mfsa2008-43.html

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

می توان گفت که نوع حمله ای که اکنون مورد بحث قرار خواهد گرفت، جعل بصری است، حمله ای برای انواع IDS / IPS، WAF و سایر فیلترها. من در مورد الگوریتم یونیکد به اصطلاح "bestfit mapping" صحبت می کنم. این روش "بهترین تناسب" برای مواردی ابداع شد که یک کاراکتر خاص هنگام تبدیل از یک رمزگذاری به رمزگذاری دیگر وجود ندارد، اما چیزی باید درج شود. این زمانی است که یک مورد جستجو می شود که از نظر بصری می تواند شبیه مورد مورد نظر باشد.

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

فرض کنید نماد بی نهایت را می توان به عدد هشت تبدیل کرد. آنها شبیه به هم هستند، اما اهداف کاملاً متفاوتی دارند. یا مثال دیگری - کاراکتر U + 2032 به یک نقل قول تبدیل می شود. فکر کنم متوجه شده باشی یعنی چی

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

توسعه دهندگان مراقب بودند که این خط را از دست ندهید: ?moz?binding: url(http://nottrusted.com/gotcha.xml#xss)
با این حال، کریس توانست با جایگزین کردن اولین کاراکتر با یک منهای که کد آن U+2212 است، از این محافظت عبور کند. پس از کارکرد الگوریتم بهترین تناسب، علامت منفی با یک علامت با کد U+002D جایگزین شد، علامتی که به سبک CSS اجازه کار می داد و در نتیجه فرصت هایی را برای یک حمله فعال XSS باز می کرد. ارزش اجتناب از هر جادویی را دارد، اما چیزهای زیادی وجود دارد. تا آخرین لحظه نمی توان پیش بینی کرد که کاربرد این الگوریتم به چه چیزی منجر می شود. در بهترین حالت، ممکن است از دست دادن کاراکترها، در بدترین حالت، اجرای کد جاوا اسکریپت، دسترسی به فایل های دلخواه، تزریق SQL وجود داشته باشد.

سرریز بافر

همانطور که قبلاً نوشتم، به دلیل انقباض و انبساط غیرعادی رشته باید مراقب نرمال سازی باشید. پیامد دوم اغلب منجر به سرریز بافر می شود. برنامه نویسان به اشتباه طول رشته ها را مقایسه می کنند و ویژگی های یونیکد را فراموش می کنند. اساساً نادیده گرفتن یا درک نادرست حقایق زیر منجر به خطا می شود:

  1. رشته ها می توانند هنگام تغییر حروف بزرگ شوند - از بالا به پایین یا بالعکس.
  2. فرم عادی سازی NFC همیشه "جمعی" نیست، برخی از کاراکترها را می توان تجزیه کرد.
  3. هنگام تبدیل کاراکترها از یکی به دیگری، ممکن است متن دوباره رشد کند. یعنی اینکه رشته چقدر گسترش می یابد به خود داده و رمزگذاری بستگی دارد.

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

خط منظم:

در رمزگذاری ASCII:

در رمزگذاری یونیکد:

\x41\x00\x42\x00\x43\x00

در جایی که رشته های منبع خارج از محدوده رشته های ASCII هستند، هیچ بایت تهی وجود نخواهد داشت، زیرا آنها محدوده کامل را اشغال می کنند. همانطور که می دانید بایت های تهی مانعی بر سر راه موفقیت آمیز عملیات شل کد هستند. به همین دلیل است که برای مدت طولانی اعتقاد بر این بود که حملات یونیکد غیرممکن است. با این حال، این اسطوره توسط کریس آنلی نابود شد، او به اصطلاح "روش ونیزی" را ارائه کرد که به شما امکان می دهد شخصیت های دیگر را جایگزین نال بایت کنید. اما این موضوع سزاوار یک مقاله جداگانه است و در حال حاضر تعداد کمی انتشارات خوب وجود دارد - فقط "سوء استفاده ونیز" را در گوگل جستجو کنید. شما همچنین می توانید از طریق مقاله 45 از شماره ویژه مجله هکر - "Unicode-Buffer Overflows" نگاه کنید، یک نوشته خوب در مورد نوشتن یک پوسته یونیکد وجود دارد.

شادی های دیگر

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

اگر به سطح برنامه ها یا سیستم عامل ها بروید، اشکالات خود را در الگوریتم های نادرست ساخته شده مربوط به تبدیل نشان می دهند - عادی سازی ضعیف، UTF-8 بیش از حد طولانی، حذف و خوردن کاراکترها، تبدیل کاراکتر نادرست و غیره. همه اینها منجر به گسترده ترین طیف حملات می شود - از XSS تا اجرای کد از راه دور.

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

پایان خوش؟!

بنابراین، همانطور که می توانید تصور کنید، مشکلات یونیکد هنوز هم مشکل شماره یک و علت انواع حملات هستند. و تنها یک ریشه شر وجود دارد - سوء تفاهم یا نادیده گرفتن معیار. البته معروف ترین فروشنده ها هم با این کار گناه می کنند، اما این نباید آرام شود. برعکس، ارزش آن را دارد که به مقیاس مشکل فکر کنیم. شما قبلاً موفق شده‌اید مطمئن شوید که یونیکد کاملاً موذیانه است و اگر تسلیم شوید و به موقع به استاندارد نگاه نکنید، انتظار دارید که مورد توجه قرار گیرد. به هر حال ، استاندارد به طور مرتب به روز می شود و بنابراین نباید به کتاب ها یا مقالات باستانی اعتماد کنید - اطلاعات قدیمی بدتر از عدم وجود آن است. اما امیدوارم این مقاله شما را نسبت به مشکل بی تفاوت نگذاشته باشد.

Punycode - اسکلت سازگاری

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

بنابراین، به خاطر سازگاری با عقب، چنین دامنه یونیکد چند زبانه باید به فرمت قدیمی تبدیل شود. این وظیفه توسط مرورگر کاربر انجام می شود. پس از تبدیل، دامنه به مجموعه ای از کاراکترها با پیشوند "xn--" یا همانطور که به آن "Punycode" نیز گفته می شود تبدیل می شود. به عنوان مثال، دامنه "hacker.ru" پس از تبدیل به Punycode به شکل زیر است: "xn--80akozv.ru". بیشتر در Punycode در RFC 3492 بخوانید.

اطلاعات

IDNA - IDN در برنامه ها (IDN در برنامه ها) پروتکلی است که بسیاری از مشکلات را با اجازه استفاده از نام های دامنه چند زبانه در برنامه ها حل می کند. این توسط IETF اختراع شد، در حال حاضر فقط RFC نسخه قدیمی IDNA2003 - RFC 3490 وجود دارد. استاندارد جدید با استاندارد قبلی ناسازگار است.

پیوندها

  • unicode.org وب سایت رسمی کنسرسیوم یونیکد است. تمام پاسخ ها در مورد یک موضوع دردناک را می توانید در اینجا پیدا کنید.
  • macchiato.com/main - بسیاری از ابزارهای آنلاین مفید برای کار با یونیکد.
  • fiddler2.com/fiddler2 - Fiddler، یک پراکسی قدرتمند و قابل توسعه HTTP.
  • websecuritytool.codeplex.com - افزونه Fiddler برای تجزیه و تحلیل غیرفعال ترافیک HTTP.
  • lookout.net - سایت کریس وبر برای حسابرسی یونیکد، وب و نرم افزار.
  • sirdarckcat.blogspot.com/2009/10/couple-of-unicodeissueson-php-and.html - پست وبلاگ sirdarckat درباره PHP و Unicode.
  • googleblog.blogspot.com/2010/01/unicode-nearing-50of-web.html - پست وبلاگ Google در مورد روند رشد عمومی در استفاده از یونیکد.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

عیب یابی فلش مموری

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

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

گام 2به تب "سرویس" بروید و روی دکمه "اجرای تایید" کلیک کنید.

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

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

پیام: "برخی اشکالات پیدا شده و رفع شده اند"

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

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

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

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

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

باقی مانده است که "شروع" را فشار دهید

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

  1. DOC - با اسناد Word؛
  2. JPG - با تصاویر.
  3. ZIP - با آرشیو.

محتویات هشت فایل ناشناخته باقی ماند. با این حال، کار اصلی تکمیل شد، اسناد و عکس های Word بازسازی شدند.

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