Ошибка при запуске игры (код4) |
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
Call of Duty 4: Modern Warfare
06.11.2007
Экшен,
Мультиплеер,
Шутер,
От первого лица
9.3
4 862
оценки
1
2
3
4
5
6
7
8
9
10
-
Call of Duty 4: Modern Warfare
-
Новости207
-
Мнения211
-
Юмор45
-
Файлы484
-
Читы69
-
Гайды14
-
Форумы329
-
Cкриншоты22
-
Галерея2909
-
Игроки
Форум Call of Duty 4: Modern Warfare
seregka07
25 октября 2012
при запуске игры выбивает из игры и выдаёт такую ошибку error during initialization; No IWD files found inmain раньше стояла XP проблем не было поставил семёрку
и немогу зайти в игру
0
Комментарии: 0
сначала
лучшие
- новые
- старые
- лучшие
Ваш комментарий
сегодня в 10:47
|
Кино и сериалы
Несмотря на уход Джастина Ройланда, «Рик и Морти» по-прежнему намерен соблюдать соглашение на 70 эпизодов
4
7
7 февраля
|
ПК
В Steam уже можно предзагрузить экшен Hogwarts Legacy
Hogwarts Legacy
124
62
7 февраля
|
Трейлеры
Геймплейный ролик Star Wars Jedi: Survivor демонстрирует новую планету
Star Wars Jedi: Survivor
36
75
6 февраля
|
Индустрия
В сети появились первые оценки Hogwarts Legacy — журналисты остались довольны
Hogwarts Legacy
51
83
3 февраля
12 минут нового геймплея ремейка Resident Evil 4
Resident Evil 4
73
164
3 февраля
Фанаты поклялись не покупать Redfall после подтверждения того, что игра всегда должна быть онлайн
Redfall
96
111
4 февраля
Азиатские журналисты показали несколько минут нового геймплея из Atomic Heart
Atomic Heart
97
175
вчера в 22:08
Фанаты Star Wars Jedi считают анимацию бега Кэла «дурацкой»
Star Wars Jedi: Survivor
31
67
сегодня в 08:16
|
Кино и сериалы
Disney объявил о продолжении мультфильмов «Зверополис», «Истории игрушек» и «Холодного сердца»
28
43
вчера в 12:27
|
Индустрия
Не только Amnesia: The Bunker: Frictional Games работают над игрой в духе SOMA
SOMA
22
56
вчера в 10:32
|
Индустрия
Сайт для отслеживания стримеров по Hogwarts Legacy был закрыт. Активистам, устроившим бойкот игре, угрожают судами
Hogwarts Legacy
123
204
сегодня в 04:11
|
ПК
В ПК-версии Hogwarts Legacy нашли файлы эксклюзивного контента для PlayStation
Hogwarts Legacy
40
57
сегодня в 12:36
|
ПК,
Производительность
Ремастер Metroid Prime уже прекрасно работает в разрешении 4K на ПК в эмуляторах Switch
Metroid Prime
6
7
7 февраля
|
Индустрия
Разработчики Hogwarts Legacy недовольны, что им приказали добавить в игру транса и называют его «перформативным дерьмом»
Hogwarts Legacy
208
334
6 февраля
|
Индустрия
Игровые журналисты боятся писать обзоры на Hogwarts Legacy
Hogwarts Legacy
71
91
вчера в 13:14
|
ПК
Hogwarts Legacy отлично стартовала в Steam — пиковый онлайн уже превышает 240 тысяч человек
Hogwarts Legacy
58
53
50 минут назад
|
Индустрия
Walt Disney объявила о массовых увольнениях сотрудников
2
7
вчера в 08:19
|
ПК,
Трейлеры
20 минут геймплея из демоверсии ремейка System Shock
System Shock
27
68
сегодня в 09:51
Разработчики динамичного экшена Wanted: Dead поделились ранними концептами игры
Wanted: Dead
0
13
7 февраля
|
Индустрия
Take-Two Interactive признала, что Red Dead Redemption 2 продолжает продаваться лучше, чем издатель предполагал
Red Dead Redemption 2
72
78
вчера в 21:18
Atomic Heart предложит 12 видов оружия
Atomic Heart
42
58
Самые новые и популярные игры можно получать бесплатно
Пополнение Steam-кошелька не проблема, если у вас есть бонусы
Дорогие и дефицитные геймерские девайсы теперь не нужно покупать
Servers:
Teams:
Fans:
105421
Players:
2090
toastfacekillah • PM |
No IWD files found in /main Aug 07, 2010 1:00 PM |
Joined: Aug 07, 2010 |
I just installed COD4 and installed all the updates, and punk buster stuff and I go to go on my favorite server and it says: WIN_IMPROPER_QUIT Error during initialization Is their something I did wrong or what? Help please! |
samthebest • PM |
Apr 26, 2011 9:55 PM |
Joined: Apr 26, 2011 |
Im having the same problem did u manage to fix it? |
pcproblemsolver • PM |
Feb 15, 2013 8:06 PM |
Joined: Feb 16, 2013 |
hey man, I have found a fix! If that doesnt work, try right clicking on it, I hope i helped!!! |
bondok22 • PM |
Feb 24, 2014 5:35 AM |
Joined: Feb 24, 2014 |
i cant open this game becouse this (No IWD files found in /main) plz help |
valasco • PM |
Dec 25, 2014 8:14 AM |
Joined: Dec 24, 2014 |
Guys have you found the solution for this because i am searching on the web for days and i cant find it. There are no servers listed in the mp-game and when i try to get into a mp-game via this site it keep on saying «win improper quit body» Please help , many thx in advance |
Мультиплеер на пиратке [Обсуждение]
-
REM
- Нович0к
- Сообщения: 5
- Зарегистрирован: 06.01.2010
#946
Сообщение
06.01.2010, 20:47
Скажите пожалуйста: столкнулся с проблемой, при запуске выдает:1. для участия в этой игре требуется запустить по стима.
2.А потом стало выдавать следующее: Error during initialization:
No IWD files found in /main.
ЧТО ДЕЛАТЬ ГОСПОДА!
-
IFursov
- Лейтенант
- Сообщения: 135
- Зарегистрирован: 17.10.2009
- Благодарил (а): 2 раза
#947
Сообщение
06.01.2010, 21:44
REM писал(а):Скажите пожалуйста: столкнулся с проблемой, при запуске выдает:1. для участия в этой игре требуется запустить по стима.
2.А потом стало выдавать следующее: Error during initialization:
No IWD files found in /main.
ЧТО ДЕЛАТЬ ГОСПОДА!
хм у тебя случаем игрушка не репак? ты качал лицку? или репак? blink
-
JAX
- VIP
- Сообщения: 3312
- Зарегистрирован: 29.09.2008
- Откуда: Narkolaeff, UA
- Благодарил (а): 1 раз
- Поблагодарили: 8 раз
#948
Сообщение
06.01.2010, 21:52
No IWD files found in /main
1. Криворукопак
2. Ошибка при установке (в этом случае можно переустановить)
-
CTPAX
- Полковник
- Сообщения: 1390
- Зарегистрирован: 18.04.2008
- Откуда: pl_goldrush.bsp
#949
Сообщение
07.01.2010, 03:22
Всё отлично работает, спасибо за инфу как всё делать. Не хочу каркать но врят-ли это счастье долго продлится.
-
sdswggl
- Нович0к
- Сообщения: 5
- Зарегистрирован: 20.11.2009
#950
Сообщение
07.01.2010, 07:16
играл пару дней назад было все норм а сегодня зашел и стало выкидывать из игры через пару минут (версия патча 166)
«Ничто не истинно, всё дозволено»
-
Stalingrad
- Нович0к
- Сообщения: 10
- Зарегистрирован: 30.12.2009
#951
Сообщение
07.01.2010, 13:05
Поставил патч 172.
Находит игроков, но потом выдается сообщение что не могу подсоединиться к лобби.
Попробовал 10 раз.
Либо на 172 сидят лецензионщики либо еще что, во общем поиграть не удалось. Поставил обратно 166. Читера конечно достали, слов нет, но на 166 есть шанс на них не нарваться, а на 172 вообще не возможно играть ))).
Подождем еще чуток.
-
dimon(mw2)
- Сержант
- Сообщения: 54
- Зарегистрирован: 18.11.2009
#952
Сообщение
07.01.2010, 13:10
CTPAX, Не думаю что они станут что-либо делать! Просто нас оставят на 166 с читаками, а лицензионщиков на новых патчах!
-
Ezio_Firenze
- Нович0к
- Сообщения: 5
- Зарегистрирован: 05.01.2010
#953
Сообщение
07.01.2010, 16:12
Переустановил Steam, все норм) не вылетает…
-
Vatazar!
- Нович0к
- Сообщения: 1
- Зарегистрирован: 07.01.2010
#954
Сообщение
07.01.2010, 16:44
У меня проблема! Играть могу минуты 4 от силы. Да читал как вы решили проблему, но увы у меня этим способом не выходит. Уже как ник ток не писал: # vatazar #, # Vatazar #, Vatazar RUS. Менял Ник а не логин, заходил в настройки затем друзья и там где строка Ника его и менял. Эффекта 0. Может посоветуйте ещё что нибудь.
-
JAX
- VIP
- Сообщения: 3312
- Зарегистрирован: 29.09.2008
- Откуда: Narkolaeff, UA
- Благодарил (а): 1 раз
- Поблагодарили: 8 раз
#955
Сообщение
07.01.2010, 17:47
Vatazar!
при чем тут ник??? где об этом написано? сами себе проблемы создаете, потом жалуетесь…
-
a.r.s.
- Сержант
- Сообщения: 43
- Зарегистрирован: 08.11.2009
#956
Сообщение
07.01.2010, 20:05
народ дайте кто нибудь ссылку на кряк чтобы с этим способом играть
-
IgorKolesnik
- Лейтенант
- Сообщения: 138
- Зарегистрирован: 18.11.2009
#957
Сообщение
07.01.2010, 21:17
Здравствуйте, столкнулся с такой проблемой, я добросовестно про качался до 70 лвл.(без пристижа, там где типа 5-6 звездочок) потом мне стало интересно что будет на 70 уровне с престижем, я скачал программу и перевелся на 70 уровень, а когда перевел на 70 уровень без престижа, то при следующем запуске игры оно выбило мне 70 уровень с престижем( там где черепок на эмблеме).и повторил процедуру перевода не раз, но потом меня посетила мысль что перевести уровень назад не льзя, а только сделать его больше. Вопрос мой состоит в том: что можно как то откатить рейтинг до 70 уровня без престижа, и потом честно, дальше проходить мультиплеер ?
-
Xaaak
- Лейтенант
- Сообщения: 137
- Зарегистрирован: 07.01.2010
- Контактная информация:
#958
Сообщение
07.01.2010, 21:58
уже почти неделю играю всё класн!
пока на 172 — 174 не чего стоившего нет?
-
IgorKolesnik
- Лейтенант
- Сообщения: 138
- Зарегистрирован: 18.11.2009
#959
Сообщение
07.01.2010, 22:00
Xaaak писал(а):уже почти неделю играю всё класн!
пока на 172 — 174 не чего стоившего нет?
на 174 игроков мало(
-
JAX
- VIP
- Сообщения: 3312
- Зарегистрирован: 29.09.2008
- Откуда: Narkolaeff, UA
- Благодарил (а): 1 раз
- Поблагодарили: 8 раз
#960
Сообщение
07.01.2010, 22:03
IgorKolesnik писал(а):
Xaaak писал(а):уже почти неделю играю всё класн!
пока на 172 — 174 не чего стоившего нет?на 174 игроков мало(
на 174 игроков полно %)
Содержание
- FAQ по игре Call of Duty: Modern Warfare 2
- Обнаружено переполнение стекового буфера в данном приложении — как исправить?
- Причины возникновения ошибки переполнения стекового буфера
- Что делать, если обнаружена уязвимость в данном приложении
- Чистая загрузка ОС Windows
- Использование антивирусного ПО
- Специализированный софт
- Call of Duty: Warzone
- Переполнение буфера для чайников
FAQ по игре Call of Duty: Modern Warfare 2
Английский язык
Можно ли включить английскую речь *и* интерфейс?
Steam Support: Currently, the Russian version of this game cannot be played in English.
Поддержка Steam: На данный момент в российском издании невозможно играть на английском языке.
См. Здесь
Миссия в аэропорте
На данный момент миссия в аэропорте в русской версии заблокирована.
Но! После переключения на английский при запуске игры задают вопрос: не/против ли Вы жесткости в миссиях?
При соответствующем ответе миссия в аэропорте за террористов присутствует.
Как разблокировать миссию в аэропорте именно в русской версии?
Копируем ui.ff поверх по пути:
. Steamsteamappscommoncall of duty modern warfare 2zonerussian
Скачать
Проблема при запуске под Windows 7 или Vista
Указать в свойствах ярлыка совместимость с Windows XP SP3.
Проблема со шрифтами в главном меню
Помогает установка 9-3_xp32_dd_ccc_wdm_enu.exe
Смотри Здесь
Драйвера для ATI RADEON серии 19XX и младше
И не пытайтесь качать с других сайтов, тем более официального ATI
Чёрный экран и курсор
Удалите файл mp_playlists.ff в папке SteamSteamAppscommoncall of duty modern warfare 2zonerussian.
Фиолетовые текстуры, отсутствие моделей
Смотри устранение ошибок видео.
Неполная установка игры
Помогает перезагрузка компа.
2DCreate failure ran out of memory
В настройках видео выставьте качество текстур на авто.
SaveDevice_PC-TempSaveGame: cannot open file for saving
Обновите/смените драйвер видеокарты.
Закрытый тип соединения
Помогает добавление в брандмауэр портов: * UDP 1500 * UDP 3005 * UDP 3101 * UDP 28960.
Если не поможет, попробуйте настроить модем Смотри
Игра запускается в оконном режиме
Нажмите Alt+Enter.
Для участия в этой игре требуется запустить ПО Steam
Проверьте, нету ли в пути установки Steam русских букв.
Как установить игру в другой раздел/диск?
ВСЕ игры со Steam ставятся на тот же диск, где и установлен Steam.
Повышение Fps
1. Идем по следующему пути: D:Steamsteamappscommoncall of duty modern warfare 2players
2. Открываем блокнотом файлы config.cfg и config_mp.cfg (Один для одиночной игры, и второй для сетевой соответственно)
3. Находим строчку seta com_maxfps и выставляем значение (это уберет ограничение Fps)
4. Находим строчку seta r_drawWater и также выставляем значение
5. Сохраняем изменения, заходим в игру, и радуемся огромному приросту Fps.
При внезапном резком падении Fps помогает простой перезапуск игры.
Есть ли в игре консоль?
Официально она закрыта.
Установка игры/Steam
1. Прежде чем устанавливать игру, установите Steam, установите его на диск где много свободного пространства, ибо игру оно будет ставить именно туда.
2. Создайте аккуант в Steam.
3. Запустите его, пусть обновится.
4. Стим должен быть на русском языке, в противном случае игра начнёт выкачивать много-много мегабайт английской озвучки.
5. Утанавливайте игру с запущеным Steam.
6. Ключ вводите маленькими буквами, то есть Caps Lock не нажимайте.
7. После игры перезагрузите компьютер (можно и неделать).
8. После загрузки винды, запустите Steam с правами администратора, то есть зайдите в папку куда установили стим и на файле Steam.exe нажмите правой кнопкой мыши и выберите пункт «Запуск от имени администратора», если стим автозагрузился с виндой, выключите и повторите процедуру описанную выше.
9. После запуска игры, определённо скачается обновление и может потребоваться установить сервис Steam разрешайте и следуйте инструкциям.
10. Разрешите игре выход в сеть в брандмауэре.
Как сделать цветной ник?
Перед ником нужно написать следующее: ^, затем соответствующую цифру, обозначающую цвет (данные манипуляции надо делать в профиле Стима!).
Could not find zone.
Could not find zone «code_pre_gfx.ff»
Could not find zone common.ff
Could not find zone trainer.ff
Could not find zone localized_code_post_gfx_mp.ff
Could not load localization.txt.
Please make sure MF2 is run from correct folder
Error during initialization:
No IWD files found in /main
Где хранятся сохранения игры?
. SteamSteamAppscommoncall of duty modern warfare 2players
Error during initialization
1. Скачать и поставить последний DirectX 9c
2. Скачать и установть самый свежий драйвер на видеокарту
3. Проверь разрядность звука в висте (думаю, что и для ХР подойдёт):
3.1. Go to Control Panel
3.2. The click on «Hardware and Sound»
3.3. Click on «Sound»
3.4. Doble click on «speakers»
3.5. go to the Advanced tab
3.6. Set the default format to «24 Bit, 48000 Hz (Studio Quality)»
Ошибка «Сетевой статус».
Выполнить следующие рекомендации:
1. Обновите базу вашего антивируса и проверьте компьютер на наличие вредоносных программ.
2. Очистите папку Temp в которой находятся временные файлы
3. Выгрузите из оперативной памяти компьютера, все фоновые процессы, не относящиеся к операционной системе. В первую очередь антивирусные программы.
4. Полностью переустановите игру и службу Steam. Проследите за тем, чтобы в пути установки не использовались русские буквы.
5. Возможно, ваше затруднение связано с некорректной настройкой Интернет-соединения на вашем компьютере. Попробуйте отключить Firewall или Брандмауэр или обратитесь за помощью к вашему системному администратору.
6. Также, мы советуем проконсультироваться с вашим провайдером на предмет настройки портов их сервера, через который вы выходите в Интернет. Если порты по которым игра общается с внешним миром перекрыты, то доступ к игровым серверам будет невозможен.
Если перечисленное выше вам не помогло, то попробуйте сменить IP-адрес или же обратиться за разъяснениями в техническую поддержку службы Steam.
Источник
Обнаружено переполнение стекового буфера в данном приложении — как исправить?
Несмотря на то, что прошло уже много лет после появления первых компьютерных программ, они и сегодня не являются полностью надёжными. Любой программный продукт может сообщить о внутренних конфликтах и внезапно завершить свою работу. Сегодня мы узнаем, что делать, если при использовании определённого ПО мы видим ошибку «Обнаружено переполнение стекового буфера в данном приложении».
Причины возникновения ошибки переполнения стекового буфера
Известны также интернет-черви для получения доступа к ПК в UNIX-системах. Такое поведение программы достаточно просто организовать. Буфер является вместилищем данных, с которыми компьютер работает в любой программе или процессе. Буфер — это блок памяти с чётко определённым размером. Когда в него попадает или считывается больше памяти, вы видите ошибку о переполнении.
Что делать, если обнаружена уязвимость в данном приложении
Чистая загрузка ОС Windows
Если вы перезагрузили компьютер и даже переустановили программу, но всё равно видите на экране ошибку, попробуйте загрузку системы в «чистом» виде. Ведь ошибка «Обнаружено переполнение стекового буфера в данном приложении» может появляться и по другим причинам. Которые не имеют отношения к данной программе. Помимо программ, с которыми мы работаем в данным момент, в системе запущены другие процессы. Именно они могут способствовать появлению сбоя.
Чтобы выполнить чистую загрузку ОС, необходимо быть администратором Windows или войти с этой учётной записью. Когда вы войдёте в систему в чистом режиме, некоторые функции и программы могут быть недоступными. Но после возврата в стандартный режим, всё снова будет работать как раньше.
Итак, выполните последовательно ряд таких действий:
Перезагрузите свой ПК и проверьте, есть ли сейчас ошибка. Чтобы определить программу или процесс, который является причиной сбоя, необходимо включать по одной программе в автозагрузке и службах, затем следует перезагружать компьютер.
Использование антивирусного ПО
С этим видом уязвимости программ борются уже на протяжении 30 лет. Но каких-то уникальных средств обнаружено пока не было. Такому виду сбоя подвержены программы всех типов. Хакеры часто используются переполнение стекового буфера для взлома систем. Этот вид ошибки может позволить им завладеть любыми вашими данными на компьютере. Ведь они научились вызывать эту ошибку в программах искусственно, при помощи троянов и червей.
Если сбой не удаётся решить описанными выше методами, скорее всего у вас в компьютере появился вирус. Систему необходимо просканировать. Если вы загружали стороннюю антивирусную программу, то встроенный Windows Defender (Защитник) сейчас отключён. Так как два вируса не «уживаются» на одном ПК. Попробуйте найти Защитник через поисковую строку компьютера и активировать его.
После включения программы, запустите полное сканирование компьютера.
Специализированный софт
В интернете можно найти эффективные противовирусные и лечащие утилиты. Они просканируют ваш компьютер и предоставят подробный отчёт о состоянии системы. Это небольшие портативные программы, которые не нужно устанавливать. Их загрузка является временной. И, чтобы использовать её снова спустя какое-то время, нужно загружать новый пакет с обновлённой вирусной базой.
Источник
Call of Duty: Warzone
09 Mar 2020 в 21:25
14 Mar 2020 в 17:28 #176
Вот буквально пару часов назад играл и он открылся,с ним будет я думаю на голову лучше. Зайди во вкладку «тактическое»,и там пятым будет этот датчик сердцебиения,наведи и узнаешь на каком уровне он откроется,у меня сейчас 30 уровень и он открыт,поэтому или 29 или 30 уровень.
14 Mar 2020 в 17:37 #177
14 Mar 2020 в 17:38 #178
Вот буквально пару часов назад играл и он открылся,с ним будет я думаю на голову лучше. Зайди во вкладку «тактическое»,и там пятым будет этот датчик сердцебиения,наведи и узнаешь на каком уровне он откроется,у меня сейчас 30 уровень и он открыт,поэтому или 29 или 30 уровень.
14 Mar 2020 в 17:48 #179
14 Mar 2020 в 18:02 #180
14 Mar 2020 в 20:45 #182
Минимальные системные требования:
Привет.На AMD Radeon HD 8570D потянет?8Г оперативки,Win 10?процесс A8-6600K
16 Mar 2020 в 21:55 #183
потеря пакетов есть у кого у меня пинг 15,А потеря по 50% в чем дело
16 Mar 2020 в 23:12 #184
как черный экран пофиксить при заходе?кеш обновлял
16 Mar 2020 в 23:13 #185
как черный экран пофиксить при заходе?кеш обновлял
мб разрешение слетело, посмотри через прогу нвидии, или амд смотря какая у тебя.
16 Mar 2020 в 23:18 #186
курсор виден в начале, а потом затухает в черный экран
17 Mar 2020 в 11:54 #187
игруха прикольная, лучше всего играть с кем-то в пати из друзей
17 Mar 2020 в 21:36 #188
17 Mar 2020 в 21:37 #189
а парашют пофиксили?
17 Mar 2020 в 22:00 #190
17 Mar 2020 в 22:00 #191
зашёл в новый соло мод
чел на краю карты в доме афк сидит в комнате
больше не зайду в соло даун пабг мод)
17 Mar 2020 в 22:01 #192
а парашют пофиксили?
17 Mar 2020 в 22:07 #193
зашёл в новый соло мод
чел на краю карты в доме афк сидит в комнате
больше не зайду в соло даун пабг мод)
лол так карта сужается чишо.
чет нет никакого желания это тестить, стрельба просто дефолт код/батла говнище же.
17 Mar 2020 в 22:37 #194
еее наконец то ввели режим для даунов)) хлоднокровный + кемп в игре в которой ничего не слышно, кайф
еще и игре без балистики
меня тупо бесят сами игроки и я ничего не могу с этим поделать. Либо у меня ненависть к людям подсознательная, либо 90% игроков и правда дауны отбитые.
Меня бесят как челы с обоссаными насквозь штанами сидят и боятся выйти, тупо как животные по комнатам и кустам сидят.
Бесят животное которые в гулаге как парализованные стоят на месте спауна зажавшись в углу,боятся высунуться.
Но больше всего вызывают агрессию челы которые во время стрельбы падают на пол. И сразу опережу обезьян с их «аргументами», я почти ни 1 перестрелки не проиграл против довна который падает на пол
17 Mar 2020 в 22:52 #195
еее наконец то ввели режим для даунов)) хлоднокровный + кемп в игре в которой ничего не слышно, кайф
еще и игре без балистики
меня тупо бесят сами игроки и я ничего не могу с этим поделать. Либо у меня ненависть к людям подсознательная, либо 90% игроков и правда дауны отбитые.
Меня бесят как челы с обоссаными насквозь штанами сидят и боятся выйти, тупо как животные по комнатам и кустам сидят.
Бесят животное которые в гулаге как парализованные стоят на месте спауна зажавшись в углу,боятся высунуться.
Но больше всего вызывают агрессию челы которые во время стрельбы падают на пол. И сразу опережу обезьян с их «аргументами», я почти ни 1 перестрелки не проиграл против довна который падает на пол
Источник
Переполнение буфера для чайников
Бродя по многочисленным форумам, смотря рассылки и т.д. Я наткнулся на один очень частный вопрос. Звучит он примерно так: «Я не пойму технику переполнения буфера, объясните, пожалуйста!». В данном материале я бы хотел рассмотреть технику полностью. Весь материал будет рассчитан для ОС Linux. Я постараюсь затронуть тему локального и удаленного переполнения буфера. Постараюсь внятно объяснить все. Я думаю, этот материал будет понятен даже новичку.
Итак, пора приступить к изучению.
Что-то я уж заговорился 🙂 Давайте перейдем к обсуждение данной ошибки.
Скажу, что для изучения данного материала, у Вас должны быть хотя бы начальные знания языка Си под Linux. Для дальнейшей работы нам понадобятся следующие инструменты: gcc, gdb, gedit (но можно и другой редактор).
Теперь перейдем к непосредственному объяснению техники переполнения. Допустим, Вы написали утилиту, которая принимает входную строку (первый аргумент). Далее она вызывает системный вызов утилиты «ls» и ищет файл/директорию. В случае если файл/директория найдены, то программа оповещает пользователя о том, что такой файл/директория существуют в системе. Давайте посмотрим на пример такой программки.
Давайте откомпилируем программу и попытаемся запустить: Итак, программа не нашла файла/директории в текущем каталоге. Теперь попробуем создать файл в текущем каталоге.
Так, мы создали файл с помощью стандартной утилиты touch в системе Linux, и программа оповестила нас о том, что такой файл существует в системе. Вроде ничего подозрительного и нет. Никакого переполнения нет в системе. Согласен, программе ведет себя вполне стандартно. Теперь давайте попробуем ввести название файла более 267 символов. Потом объясню, почему именно более 267 символов. Итак:
Так вот строка в коде:
Говорит о том, что в переменную filename нужно копировать первый входной аргумент программы. Но взглянем выше, и мы увидим следующее: Вышеприведенная строка является объявлением переменной filename как типа char (символьного), который состоит из 255 массивов. То есть данная переменная имеет входной буфер на 255 символов. Получается, мы туда можем поместить 255 символов из входного аргумента нашей программы. Итак. Я думаю, вы уже догадались о том странном сообщении. Если нет, то оно значит то, что мы ввели более 255 символов во входной буфер, и программа вызвала ошибку т.к. размер, введенный в аргументе, превышает отведенный размер буфера переменной. Именно это и называется переполнение буфера. А теперь попробуйте сформулировать определение.
Двигаемся дальше. Я думаю все линуксоиды знают очень хорошую и нужную утилиту gdb. Это утилита является встроенным отладчиком в системах Unix. gdb расшифровывается как GNU Debugger. Теперь давайте запустим нашу утилиту в этом отладчике и попробуем ввести длинное имя файла/директории.
Взглянем на адрес, по которому после переполнения обращается функция. Он равен: 0x41424242. А теперь взглянем на запуск программы:
В аргументе присутствуют 268 символов «A» и адрес равный BBBA. А теперь переведите его в hex формат. У меня получилось вот что: 0x42424241, а у компьютера вот: 0x41424242. Из этого можно судить, что компьютер читает значения как арабы или китайцы. Т.е. справа налево. Ну и конечно сверху вниз. Поэтому в системе Unix (да и в Win32) стек растет сверху вниз. Получается, что самый большой адрес будет наверху, а далее стек будет убывать. Примерный вариант стека в стандартной программе таков: Т.е. в случае с нашим переполнением программа себя ведет в стеке так: Идут данные. Если все в порядке, то программа обычно завершает свою работу и выгружается из стека. В случае переполнения ДАННЫЕ превышают норму и уже АДРЕС будет указывать не на выход из функции ( в нашем случает это return в main() ), а на что-то другое ( в нашем случае это последние 4 символа в аргументе. )
Давайте взглянем на следующее. Я думаю, вы еще не закрыли gdb. Введите следующую команду. Мы видим регистры слева, а справа их значения. Помните, я Вам говорил, что для переполнения нужно ввести 268 символов, а не 255 как определено. Теперь взгляните на это: Так вот 268 символов это и есть переполнение при котором значение регистра ebp затирается на значение входного аргумента в hex формате ( в нашем случае на «A» в hex формате ).
Т.е. попробуйте ввести такое в нашу утилиту: Мы видим, что программа завершилась нормально без каких-либо ошибок и переполнений. Взглянем на значения регистров: А их и нет 🙂 Программа завершилась нормально и выгрузилась из памяти.
А попробуйте ввести такое значение: Видно что программа завершилась с ошибкой и в качестве адреса по которому она обратится (адресом возврата) является сама функция main() из библиотеки libc. И поэтому для того чтобы указать свой адрес мы использовали 4 дополнительных символа. Они переводились в hex формат и указывали на адрес возврата. При просмотре регистров мы увидим, что регистр ebp затерся значение «A» в hex. Теперь давайте взглянем на другой регистр. Название ему EIP. eip 0x41424242 0x41424242
Мы видим, что его адрес перезаписался на тот адрес, который мы указали. Т.е. на BBBA в hex формате. Я теперь хочу немного отклониться и рассказать вам об этих самых регистрах процессора.
Вообще регистры это некое подобие строителей внутри процессора. Они как бы получают данные и складывают их в компьютере. Т.е. в случае со строителями они строят дом/гараж и т.д. Они получают данные и складывают их, а далее некая программа пытается прочесть информацию из этих регистров. Количество регистров в архитектуре процессора x86 большое. И с каждым разом все увеличивается и увеличивается. Они бывают как 16-ти разрядные, так и 32-х. Сейчас я хочу рассказать более детально об основных регистрах процесорра.
Думаю, вы уже наглотались теории по самые уши 🙂 Ну ничего осталось совсем чуть-чуть. Я сейчас постараюсь максимально внятно объяснить процесс переполнения, а далее нам останется только осуществить все на практике. И мы уже будем на коне! Итак, поехали.
Процесс переполнения происходит следующим образом:
Итак, думаю довольно сухомятки. Пора приступить к реалиям. Для начала давайте снова запустим нашу программу в отладчике gdb. Происходит переполнение. Вспомните регистр ESP. Давайте взглянем внутрь него: Внимание. В вашей системе может быть по-другому. Итак, что мы видим. А видим мы следующее. Слева у нас как раз те адреса возврата на данные, которые расположены справа. То бишь на данные символов «A». Из этого может следовать, что после переполнения наша уязвимая утилита обращается по одному из этих адресов, в которых имеется значение «A». На ум сразу приходит, что после того как шеллкод будет расположен, он успешно должен исполниться, после того как мы успешно засунем адрес возврата на наш код.
В данном примере я показал простейшее переполнение на основе входного параметра. Так же мне хотелось бы Вам еще показать переполнения, основанные через «Переменные окружения» и удаленные переполнения буфера.
ПЕРЕПОЛНЕНИЕ БУФЕРА ЧЕРЕЗ «ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ».
sprintf(буфер_куда_копировать, формат_копирования, откуда_копировать_данные);
Скажу лишь то, что параметр «формат_копирования», может быть отпущен, но в этом случае возникает другая ошибка программирования. Название ей Ошибки При форматировании Строк. Но об этом читайте в других источниках.
Синтаксис функции getenv() таков:
Итак, мы рассмотрели пример уязвимой программы. Напишем пример программы, которая покажет нам, как переполняется в этом случае буфер. Но сначала откомпилируйте эту программу. Ну я думаю Вам все должно быть ясно. Единственное скажу про синтаксис функции setenv(). Он таков:
Все. Откомпилируйте программу. Как видно наша уязвимая программа вызвала переполнение. Для того чтобы посмотреть подробности, скажу, что после переполнения в текущей директории должен создаться файл «core». В нем имеется информация о переполнении. Поищите его. Далее его нужно просмотреть через gdb: Вот. Возглянем на регистр ESP для того чтобы вычеслить адрес возврата на шеллкод. Так. Пора писать эксплоит. По сути, он ничем не отличается от предыдушего, только функциями. Ну, я думаю, ничего сложного нет, чтобы разобраться с этим кодом. Скажу лишь то, что т.к. адрес буфера уязвимой программы маленький, я расположил адрес в диапазоне от 0 до 500. Он все равно правильно будет расположен. Так теперь давайте откомпилируем эксплоит и запустим. Вот и все, что требовалось доказать :). Переходим к удаленному переполнению буфера.
УДАЛЕННОЕ ПЕРЕПОЛНЕНИЕ БУФЕРА.
Я думаю, многие видели в security рассылках сообщение об очередной ошибке в каком-либо демоне. И в advisory написано, например, что тип атаки является «Удаленным» (Remote). Вначале статьи мы описали принцип локального переполнения. Сейчас я хочу показать Вам пример удаленного переполнения. Мы напишем уязвимый демон. А далее напишем для него эксплоит. Итак, рассмотрим пример уязвимого сервера. Итак, выше приведен листинг простенького сервера. Давайте откомпилируем его и попытаемся запустить. Демон слушает 2278 порт. Попробуем соединиться с этим портом. Работает отлично. Я думаю, Вы уже заметили ошибку переполнения в сервере. Т.е. если серверу передать слишком длинную строку, то он завершится с ошибкой. Давайте рассмотрим пример программу, которую в простонародье принято считать DOS-утилита. Давайте испробуем программу. Не закрывайте сервер. Взглянем на окно сервера. Вот и переполнение! Взглянем на значение регистра ESP. Так вот. Произошло настоящее переполнение. Хочу предупредить, что для того чтобы правильно выбрать адрес на шеллкод не стоит брать адреса верхние и нижние. Нужно взять адреса средние. Настало время написать эксплоит. Давайте протестируем эксплоит. Опа. Работает! Вот в принципе и все. Вообще переполнение удаленное и локальное мало чем отличается.
В этом материале я постарался рассказать очень подробно тему переполнения. Я думаю, она очень понятна даже для человека, который вообще не знал об этой уязвимости. В заключении хотелось бы также отметить то, что я разработал утилиту, которая генерирует эксплоит автоматически. Скачать ее вы можете на сайте http://unl0ck.info. На данный момент это версия 0.3. В будущем планируется добавить новые возможности.
Хотелось бы поблагодарить следующих людей: stine, cr0n, f00n, nekd0, forsyte, eitr0n, msm, mssunny. Без этих людей жизнь в Сети была бы однообразна.
Источник