В общем есть элементарная шифровка на основе операции not. Можно ли как узнать что файл уже зашифрован через команду not ? Файл текстового содержания(Unicode, формат ini файла).
Тоесть если все слова имеют установленный старший разряд тогда можно предположить что файл уже шифрован?
А вот когда обычная ASCII то в ней ведь все разряды используются (если использовать руский + англ. текст).
Если это текстовый файл, то для любого языка каждая буква имеет определенную вероятность появления. Самая частая - пробел, потом (для русского текста) О, Е, А, И и т.д.: http://www.aronetis.com/freq.html. Если просто инвертировать биты (и, вообще, при любой моноалфавитной подстановке), частоты появления отдельных байтов, разумеется, останутся прежними. Upd: для смеси рус+англ, в принципе, лишь чуть-чуть сложней, т.к. эти наборы знаков группируются в разных районах таблицы кодировки. Разделить на 2 класса, дальше - см. выше. Upd2: в английских Unicode-тестах через байт встречаются 0, в русских - 4. Если за-NOP-анно, значит, это будут FF и FB. Upd3: есть еще один способ. Про-NOT-ить набор данных и посмотреть глазками.
Есть 2 кодировки Unicode : UTF-16 - все символы имеют постоянный размер в 16 бит, поэтому анализировать проще всего старший (каждый второй) байт; в нешифрованном виде у латиницы там будет 0x00, у кириллицы - 0x04 (т.к. у нее коды 0x0410-0x043F); UTF-8 - код переменной длины : латиница, цифры, знаки препинания (в общем с 0 по 127-ой) кодируются одним байтом аналогично ASCII - анализируйте старший бит, кириллица попадает в двухбайтовые кодовые комбинации, здесь у нее старший байт чаще всего будет 0xD0 или 0xD1