Борьба с крякозябликами. Часть первая

Борьба с крякозябликамиНебольшая статья по устранению "крякозяблей" в программах, это действительно моя первая статья в
  1. Оффлайн

    Автор темы

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Борьба с крякозябликами




    Небольшая статья по устранению "крякозяблей" в программах, это действительно моя первая статья в жизни, писал преимущественно ночью, сколько сил после работы хватало...
    На примере рассматривается разбор шестнадцатеричного редактора WinHex в дизассемблере. Пожалуй, одна из легких ситуаций, которую можно без проблем решить.

    Скачать руководство:


    NNK_RTR нравится это сообщение.
    21 февраля 2013 - 23:38 / #1
  2. Оффлайн

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2192

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3515

    Был: 2024-11-03 17:18

    Лайков: 202

    А говорил не умеешь писать мануалы. Прочитал в онлайне - доступно и понятно. Не забудь на главную новость выставить - поисковики обижать "низя" biggrin

    21 февраля 2013 - 23:57 / #2
  3. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Отличный материал! С нетерпением жду продолжения. ok2

    Nexus, при чтении твоего труда, у меня сложилось впечатление, что это твоя не первая статья. Стиль изложения и подача материала носят черты профессионализма. Это не похоже на сочинение первоклассника "Как я провел этим летом", а говорит о неком опыте (или таланте) в литературной сфере.

    Кто ищет, тот всегда найдет!

    23 февраля 2013 - 03:30 / #3
  4. Оффлайн

    Автор темы

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Не знаю как по плагину выложить материал - мудрено там очень... Ну да это будет третья часть. О художественной стилистике - слишком много книг читал smile . Но это действительно моя первая статья в жизни, писал преимущественно ночью, сколько сил после работы хватало... Кстати, а какими ты инструментами создавал статьи? Особенно красивые цветные обводы строк, у меня что под мышку подвернулось, то и применил.
    24 февраля 2013 - 00:31 / #4
  5. Оффлайн

    greg

    Звание: Сталкер

    Знаток

    Сообщений: 109

    Создано тем: 5

    Рейтинг: 3

    Репа: (10|10|0)

    Баллы: 331

    Был: 2024-06-02 13:42

    Лайков: 10

    На этой странице ( https://wylek.ru/forum/showtopic-17 ), скачал файл "Борьба с крякозябликами.pdf". В нем так описывается легкий прием на тему кодировок: "Самый простой вариант решения – это смена кодовой страницы в реестре Windows в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage. Наобум сменил значение в строке “1252”, из c_1252.nls превратил в c_1251.nls. Перезагрузил компьютер – сработало!".
    Для эксперимента с кодировкой ISO-8859-5 хотел попробовать такой способ, но в реестре слишком много таких элементов и непонятно, какие из них следует подправить. Поэтому и вопрос. Как ее найти?
    Примеры этих элементов, в которых возможно бы изменять теоретически:
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/csISOLatinCyrillic/AliasForCharset/
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/Cyrillic/AliasForCharset/
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/ISO-8859-5/AliasForCharset/
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/ISO-8859-5:1988/AliasForCharset/
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/iso-8859-5/Codepage [+InternetEncoding]
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Charset/iso-ir-144/AliasForCharset/
    HKEY_CLASSES_ROOT/Interface/MIME/Database/Codepage/28595/BodyCharset [+Description, +Encoding, +Family]
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/csISOLatinCyrillic/AliasForCharset
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/Cyrillic/AliasForCharset
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/ISO-8859-5/AliasForCharset
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/ISO-8859-5:1988/AliasForCharset
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/iso-8859-5/Codepage [+InternetEncoding]
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Charset/iso-ir-144/AliasForCharset/
    HKEY_lOCAL_MACHINE/SOFTWARE/Classes/CLSID/interface/MIME/Codepage/28595/BodyCharset [+Description, +Encoding, +Family]
    Сообщение отредактировал greg 30 марта 2024 - 20:10
    30 марта 2024 - 12:59 / #5
  6. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: greg
    Как ее найти?

    Проблему нужно решать в файлах программы, а не в реестре.

    Цитата из статьи:
    Цитата: Nexus
    Но нам же нежелательно менять что-то в системе, нужны изменения только в коде самой программы.
    NNK_RTR, greg, 78Sergey нравится это сообщение.

    Кто ищет, тот всегда найдет!

    31 марта 2024 - 15:07 / #6
  7. Оффлайн

    Rinat84

    Звание: Прибывший

    Участники

    Сообщений: 1

    Создано тем: 0

    Рейтинг: 1

    Репа: 0

    Баллы: 110

    Был: 2024-07-23 14:17

    Лайков: 1

    Как то делал перевод небольшой программы и в некоторых местах были крякозябры.
    Победил их с помощью x64dbg дело оказало в структуре LOGFONT, а именно в значение lfCharSet, некоторые европейцы при заполнение ставят значение ANSI_CHARSET(кодировка для европейских языков), а надо ставить DEFAULT_CHARSET(кодировка зависимая от системы). Нашел место заполнения структуры по функций CreateFontIndirect и заменил 0 на 1 и это исправило крякозябры
    NNK_RTR нравится это сообщение.
    17 мая 2024 - 18:03 / #7

Статистика форума, пользователей онлайн: 0 (за последние 20 минут)

---
Создано тем
1194
Всего сообщений
15749
Пользователей
17988
Новый участник
S48E-QJSG-WAWD