Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2018, 09:07   #21
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Warning Do not use. See Security Considerations.
видимо в том смысле, что OemToCharBuff безопаснее из-за наличия параметра количества символов
Цитата:
поведение этих функций непредсказуемо
в китае точно не будет с 866 кодовой переводить ) зависит от локализации винды
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 30.05.2018 в 09:10.
Аватар вне форума Ответить с цитированием
Старый 30.05.2018, 09:20   #22
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

Аватар, а в чём вообще опасность?
Drekon вне форума Ответить с цитированием
Старый 30.05.2018, 09:33   #23
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Drekon Посмотреть сообщение
в чём вообще опасность?
Если входная строка оооочень длинная можно переполнить выходную строку.
В лучшем случае, приложение упадет, в худшем - будут по тихому повреждены данные, а то и взломан комп, как минимум remote code execution.
Гуглите "переполнение буфера".
waleri вне форума Ответить с цитированием
Старый 30.05.2018, 09:34   #24
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

надо полагать из-за неправильного задания параметров со всеми вытекающими
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.05.2018, 10:02   #25
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

Аватар, а какие вытекающие? Я вообще не понимаю этого.
Drekon вне форума Ответить с цитированием
Старый 30.05.2018, 10:04   #26
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

waleri, то есть моя программа может повредить данные другой запущенной программы?
Цитата:
Сообщение от waleri Посмотреть сообщение
можно переполнить выходную строку.
Данные не будут помещаться в переменной и займут другие области оперативной памяти или жёсткого диска, тем самым сотрут имеющиеся данные от других запущенных программ. Так примерно?

Последний раз редактировалось Drekon; 30.05.2018 в 10:06.
Drekon вне форума Ответить с цитированием
Старый 30.05.2018, 10:04   #27
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Может. Там много факторов.
p51x на форуме Ответить с цитированием
Старый 30.05.2018, 14:46   #28
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Drekon Посмотреть сообщение
то есть моя программа может повредить данные другой запущенной программы?
Другой нет, если это не целенаправленный exploit.
В общем в первую очередь пострадают свои данные.

Цитата:
Сообщение от Drekon Посмотреть сообщение
Я вообще не понимаю этого
И не пытайтесь. Наберетесь опыта - поймете.
На данный момент заведите правило не использовать функции, где выходной буфер не имеет размера.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодирование и перекодирование Esoone Общие вопросы Delphi 1 20.11.2012 16:00
Перекодирование видео потока в Smooth Streaming Cronos20 WPF, UWP, WinRT, XAML 0 10.05.2011 21:18
Перекодирование русских текстов на C# Donix Помощь студентам 0 07.05.2011 12:51
перекодирование MySQL Бд mrgrudge PHP 3 16.12.2010 14:24
Перекодирование StudentPolitech Свободное общение 0 04.07.2009 21:49