Активность
- Сегодня
-
If you're looking to elevate your gameplay in CFB 26, one player you absolutely need to check out is Shadour Sanders. With the possibility of being a top pick in the upcoming NFL draft, this QB is quickly becoming a fan favorite in the virtual college football world. Although he may not be the consensus number one pick, Shadour has the skills to be considered QB1. With 86 speed, 92 throw power, and solid accuracy with College Football 26 Coins stats across the board, this player is a must-have for anyone looking to make big plays both in the air and on the ground. Standing at 6'2", Shadour also possesses the ability to juke and spin, with 82 trucking, which makes him dangerous when it comes to running over defenders in the open field. Key Stats and Abilities Speed: 86 Throw Power: 92 Accuracy: Excellent across all areas, especially deep ball and short throws Height: 6'2" Trucking: 82 (Can run over defenders when needed) Spin and Juke Ability: Solid ball-carrier moves to make defenders miss I decided to add Shadour to my team, which set me back 800k CFB 26 Coins, but it was worth every penny. The only issue was I forgot to apply team chemistry to him initially, so his speed was a little lower at first. However, after a quick fix, he was up to 88 speed, and the difference was noticeable immediately. His mobility and arm strength have proven to be major assets, especially when I'm trying to make big throws under pressure. Gameplay Breakdown In my games, Shadour demonstrated his versatility and high-level skills. He threw absolute dots on target, and with Travis Hunter still holding it down at corner, the combination of offense and defense was lethal. Despite a few hiccups-like a disconnect and some miscommunication with teammates-Shadour’s performance was rock solid. His ability to deliver accurate passes in critical moments has been a game-changer, and I’m not sure I’ve thrown a single inaccurate pass with him yet. Shadour’s Strengths: 1.Deep Ball Accuracy: Whether it's a 50-yard bomb or a quick strike, Shadour doesn’t miss. His arm strength combined with his pinpoint accuracy allows him to deliver the ball downfield with ease. 2.Mobility: While he's not as fast as some of the more elusive QBs like Milroe, Shadour’s speed combined with his juke and spin ability allows him to make plays when the pocket breaks down. His 82 trucking also gives him that extra edge when taking on defenders. 3.Clutch Plays: Shadour steps up when it matters most. Whether it's a game-winning drive or responding to a tough loss, this QB can deliver the performance you need. The Supporting Cast While Shadour may be the newest card on my team, the rest of the roster is still as strong as ever. I have a solid receiving core and, of course, Travis Hunter-his teammate from Jackson State-who remains a lockdown corner. But Shadour is definitely the star of the show right now. I still plan to test out the Trevor Lawrence card that just dropped, but for now, I can’t imagine many QBs being more effective than Shadour. Challenges and Hiccups Every quarterback has their flaws, and Shadour is no different. While he's great at avoiding sacks and making quick reads, there were a few moments where I didn't anticipate the pass rush or threw a bad ball into coverage. However, these were more mistakes on my part than issues with the card itself. In fact, there were several times where Shadour delivered passes that I didn’t think were possible. Despite a few underthrown balls and a fumble here and there, the results were still impressive. Closing Thoughts Shadour Sanders is absolutely a top-tier quarterback in CFB 26, and his ability to make both quick decisions and explosive throws under pressure makes him a fantastic choice for any team. While he may not have the sheer speed of some other QBs like Milroe, his accuracy and arm strength more than make up for it. In nine games, Shadour posted 19 touchdowns and 1,400 yards, which is impressive no matter how you look at it. He’s been a huge asset to my team, and I’m excited to see how he continues to perform as the season progresses. What’s Next? If you're considering adding Shadour Sanders to your roster, don't hesitate. While the market with cheap CFB 26 Coins for QBs in CFB 26 is always competitive, Shadour’s skills make him worth every cheap College Football 26 Coins. Keep an eye out for more CFB 26 gameplay content, and I'll be sure to review some other top-tier cards, like Trevor Lawrence, in the coming days.
-
As a majority times, several users use this bot Jagex has a good idea of specific patterns utilized by the bots. Additionally, bots typically have distinct mouse movements, which will increase the probability with OSRS Accounts of their being banned. Even if a person declares that "bot is designed to imitate the movements of a human" it's still only limited designs. This is why OSRS Mobile bots OSRS Mobile botters come into the picture. They're even hated by their own group. This is right, bots hate others who are using bots, too.There isn't a mouse to be found, but just tapping the screen. Also, OSRS Mobile players can pretty often spam click on the same location whenever they want. There is a belief that bots on mobiles are to blame for the huge inflation that is happening in that RuneScape economy. The bot makers themselves say that this game is banned, and is almost 100% safe for the botter. The only thing the botter should be aware of is playing all day, every day for 22 hours. Naturally, no human being could reach that level of zero existence and particularly, keep it going for a prolonged period of time. As with all activities botting requires a lot of knowledge and dedication and direction. You must always know what your objectives are, and then progress through the vast array of bots on the market.It's not hard to lose yourself in the ocean of information. However, any botter who is interested should be aware of what is best for them. There are a lot of bots for free that can be utilized by RuneScape players who are new to the game. But, it is best to avoid using the same bot for your primary account. Free bots are basically bots that are demo versions of. They can be banned quite quickly, and you can't utilize them to harvest OSRS gold with efficiency.Additionally, many of advertisements for bots and bots can be deceiving. There are always criminals who are out who are looking to make money by any means necessary, and that typically means your assets and/or accounts being stolen.Always research thoroughly and make sure that the potential service provider is reputable. There is no one who does OSRS throughout the day and why would you bother with all day long? It's not a good idea.A greedy attitude can result in a rapid exclusion. There are instances where bots are guilty of this, however, they do it consciously. There's a term that describes this kind of plan: "suicide botting". The botter creates the bot, and then lets it run until it is removed. They move the collected resources frequently to avoid massive losses. This technique is often used for accounts that bots know are likely to be banned, RuneScape accounts that are not able to be used by them. The most common method is to play the game as an actual player. It is a good idea to play for a long period of time, and occasionally switching activities. Profit and experience. and every botter tries their best to devise the best strategy to meet their demands. It is clear it is evident that botting has become a divisive subject in the online community. While many have expressed their displeasure with bots, some are quietly grinding their skills and OSRS Boosting with bots and are swindling in the process of playing.Botting can be a dangerous and risky sport that requires a lot of work, effort and ultimately the risk of. It's against game rules and, in most cases, botters are banned for life.
-
If you’ve been keeping up with NBA 2K26, you already know how overwhelming all the build and dribble tutorials can get. Every day, there’s a new “best build” video with someone shouting in your ear. To make things easier, I’ve put together the ultimate guide to dribble styles with NBA 2K26 MT in NBA 2K26-organized by height, with requirements listed for each one. Whether you’re running a shifty 6’0 guard or a 7’4 giant, you’ll find the right style to fit your build. Best Dribble Styles for Tall Guards (6’5 – 6’9) Tall guards are always a favorite in 2K because they can dominate inside while still handling the ball effectively. This year, there are three standout dribble styles: 1. Zach LaVine · Requirement: 75 Speed With Ball, under 6’10 · Why It’s Great: Elite same-side speed boost. For just 75 SWB, this is ridiculously powerful and perfect for tall guards. · Best Fit: 6’6–6’9 builds looking to speed boost without maxing attributes. 2. Shai Gilgeous-Alexander · Requirement: 84 Speed With Ball · Why It’s Great: Best cross-launch (misdirection crossover) in the game. If you love misdirection dribbles, this one’s for you. · Caution: Same-side boost is weaker compared to LaVine. 3. Coby White · Requirement: 85 Speed With Ball · Why It’s Great: Strong balance between same-side boost and cross-launch. · Best Fit: Higher SWB builds who want versatility. Best Dribble Styles for Small Guards (6’4 and Under) Small guards thrive on quickness, and 2K26 gives them some incredible tools to separate and score. 1. Jalen Green · Requirement: 75 Speed With Ball, under 6’10 · Why It’s Great: A solid low-SWB option, but usually overshadowed by better choices. · Best Fit: Budget builds with low SWB. 2. De’Aaron Fox · Requirement: 90 Speed With Ball, 6’4 and under · Why It’s Great: Fast, responsive, and deadly in the right hands. Would be the top style if not for Ja Morant. · Drawback: Unlocking 90 SWB is attribute-heavy, so not all builds can afford it. 3. Ja Morant · Requirement: 85 Speed With Ball · Why It’s Great: The fastest dribble style in NBA 2K26. Same-side speed boosts and cross-launches are nearly unguardable. · Why It’s OP: Only needs 85 SWB, making it way too easy to access compared to its power level. · Best Fit: Any small guard build-this is the dribble style that will dominate the game. Best Dribble Styles for Big Men (6’10 – 7’4) Big men finally get some love this year, and surprisingly, the dribble styles available to them are much stronger than expected. 1. Giannis Antetokounmpo · Requirement: 55 Speed With Ball · Why It’s Great: Absolutely broken for bigs. You can speed boost with only 55 SWB, which makes tall ISO builds terrifying. · Best Fit: 6’10 and 6’11 builds who want to handle the ball. 2. Kevin Durant · Requirement: 65 Speed With Ball · Why It’s Great: Smooth and versatile. Not as explosive as Giannis but still very effective. · Best Fit: Taller stretch builds that want fluid movement. 3. Normal Dribble Style · Requirement: 40 Speed With Ball · Why It’s Great: The classic option. Reliable, efficient, and easy to unlock. · Best Fit: Every big man build, even those not focused on dribbling. Top Five Dribble Styles Overall After testing and reviewing, here’s how the top five dribble styles in NBA 2K26 rank across all positions: 1. Ja Morant (Small Guards) – The best in the game, borderline unfair. 2. Zach LaVine (Tall Guards) – Overpowered at just 75 SWB. 3. De’Aaron Fox (Small Guards) – Great but overshadowed by Ja. 4. Giannis Antetokounmpo (Bigs) – Game-breaking for taller players. 5. Jalen Green (Small Guards) – Solid, efficient, and easy to unlock. Final Thoughts If you’re planning your NBA 2K26 build, make sure you consider which dribble style you want to unlock before allocating attributes. A few points in speed with ball can completely change your gameplay experience. · Small guards should aim for Ja Morant if possible. · Tall guards can’t go wrong with Zach LaVine or Coby White. · Bigs finally have Giannis to give them serious speed-boosting potential. Pick the style with Cheap MT NBA 2K26 that matches your build and playstyle, and you’ll have a serious advantage from day one of NBA 2K26.
-
bivon90221 присоединился к сообществу
-
kemaxnkemaxn присоединился к сообществу
- Вчера
-
Для пользователей, которые подумали о неком "тупике" для разработки (пока не появится товарищ Hrnchmad). Я прошу вас не расстраиваться, ведь это не тупик, а время чтобы отладить мою версию 3.01.1! Прогресс это конечно хорошо, быстрый прогресс - ещё лучше. Но надо давать прорасти зернышкам и собрать хлеб, прежде чем сеять новые зерна Во первых - ввести логирование всех органов text.dll, с выносом параметра в angel.ini: EnableLogConsole = 1, EnebleLogMorrTextDLL = 1, EnableLogHelperFunctions = 1 И так далее. То есть прямое медицинское наблюдение text.dll и всех его органов. А во-вторых, пока ответ по патчам MCP не получен, у меня есть время для маленького безумства - научить Morrowind кодировке UTF-8 хе-хе. Ну и не забываем про подготовку "глобального обновления", скриншот которого я кидал раннее..
-
zyaqakv присоединился к сообществу
-
Ahsan1 присоединился к сообществу
-
У него "график" (прослеживается). Появляется, где-то в конце января - феврале и сидит до середины лета. Затем исчезает до следующего февраля. Хотя пару раз пропадал на пару лет, но в целом, лет 10 так, отмечается подобный распорядок. А так, в ЛС он отвечает и на посты отписывается, но только когда есть на месте. ))
-
joenxxx24 присоединился к сообществу
- Последняя неделя
-
Итак. Мои предположения (если изменить подход) патч меняет какую-то конкретную функцию по адресу 0x0C90 - заменяет её на заглушку B8 AF 88 56 38 C3: 1. Предположение № 1: При рассмотрении text.map 0x0C90 я не нашёл. Значит 0х0С90 находится между функциями: "0x0c60 - ??0bad_array_new_length@std@@QAE@ABV01@@Z" и "0x0ca0 - ??0bad_array_new_length@std@@QAE@XZ" Я прихожу к выводу, что это внутренняя, скрытая функция C++ рантайма и MCP меняет внутреннюю логику C++ рантайма, а не игровые функции, это системный патч для совместимости со старым движком Morrowind (возможно) с моим text.dll морровинд запускается, MCP патчит экзешник. Проще говоря в рантайме Morrowind вызывает эту внутреннюю функцию C++ после чего MCP заглушает её, чтобы изменить поведение при ошибках памяти. А учитывая проделанный мною рефакторинг - все изначальные возможные переполнения я уже убрал, когда фиксил overload консоли. О чём расскажу в п.2 ниже. 2. Предположение № 2 (более сложное): Если посмотреть с третьей стороны 0x0C90 в text.map я не нашёл, значит она может попасть МЕЖДУ соседними функциями, смотрим text.map: Что это такое? Это тот же самый DialogEngine.cpp который просто из глиняного сырого кирпичика превратился в обожженный кирпич для стройки всего text.dll. Цель: ??0bad_array_new_length@std@@QAE@XZ Расшифровка (Demangled Name): public: __thiscall std::bad_array_new_length::bad_array_new_length(void) Конструктор по умолчанию для исключения std::bad_array_new_length А теперь по русски: в этом случае патч так-же не бьёт по игровой логике. Он вмешивается в запросы Morrowind.exe к рантайму C++. Так что это за функция? std::bad_array_new_length — это исключение, которое выбрасывается, когда программа пытается выделить массив недопустимого (например, отрицательного или слишком большого) размера. Что делает MCP патч? Как я установил ранее, патч заменяет начало этой функции на команду "немедленно вернуться". Он предотвращает создание и выброс исключения. Вывод: это очень грубый, но по-своему эффективный способ борьбы с определённым типом критических ошибок. Вместо того чтобы исправлять причину, по которой программа пытается создать массив неверного размера, этот патч просто затыкает ей рот в тот момент, когда она пытается сообщить об ошибке и хочет вылететь. А теперь конкретика ядро той самой нестабильности, тот самый пациент DialogEngine.cpp. В нём была одна такая весёленькая функция под названием void InitFileLists( )И выглядела она вот так: Вот как эта, казалось бы, простая конструкция превращается в бомбу замедленного действия, способную вызвать то самое исключение std::bad_array_new_length: Бесконечный цикл: Цикл for ( int i = 0;; i++ ) — это вечный двигатель. Он будет работать до тех пор, пока его принудительно не остановят. Слепое доверие: Остановка происходит, когда функция GetPrivateProfileString не находит в Morrowind.ini очередной ключ (GameFile0, GameFile1, GameFile5,... GameFileN) и возвращает 0. Код полностью доверяет тому, что файл Morrowind.ini корректен и что эта последовательность когда-нибудь прервётся и будет чёткой НЕ НАРУШЕННОЙ. Сценарий катастрофы: А теперь представьте, что Morrowind.ini повреждён: другой мод, или сам пользователь по ошибке добавил туда запись вида GameFile214742=some_file.esp, следом сразу(а лучше ещё через 15 пустых строк) GameFile2147483647=some_file.esp. (знаю, что число модов ограничено, это я утрирую). Цикл будет послушно перебирать миллионы и миллиарды несуществующих ключей, прежде чем дойдёт до этого аномально высокого номера. Счётчик i (целое 32-битное число) в какой-то момент достигнет своего предела (2,147,483,647) и переполнится, обернувшись в отрицательное число (-2,147,483,648). Цикл не остановится! Он продолжит работать, теперь уже в отрицательном диапазоне. 4. Взрыв вектора: В это время gamefilelist.push_back( fname ) продолжает добавлять элементы. Вектор gamefilelist будет постоянно расти, требуя всё больше и больше памяти. При каждом удвоении своего размера он вычисляет новую ёмкость. В условиях, когда счётчик i ведёт себя непредсказуемо, внутренние механизмы вектора могут попытаться вычислить новый размер, который окажется недопустимо огромным или отрицательным. Именно в этот момент и происходит фатальный сбой: система пытается создать массив невозможного размера и выбрасывает исключение std::bad_array_new_length, приводя к немедленному вылету игры. Но хватит страшных сказок, хочу вас успокоить, в версии 3.01.1 я уже исправил этот недочёт, ещё на момент когда фиксил консоль от переполнения буфера. Вот как выглядит DialogEngine.cpp: Всё ясно, понятно и главное безопасно. НО это всего лишь моё предположение № 2 про то что патчит MCP в text.dll. В любом случае MCP пропустит мой dll и не навредит ему, т.к. данный ХЭШ ему НЕ ИЗВЕСТЕН. Модификации text.dll будут работать, игра будет работать. П.с. если я пойму логику фикса и он НЕ БУДЕТ избыточным - я её добавлю в text.dll, он там будет по умолчанию. На этом спасибо за внимание.
-
Что я выяснил про MCP: MCP меняет системные переменные CRT: __commode - режим ввода/вывода __fmode - режим работы с файлами __umaskval - маска прав доступа Пока мой Text.dll разрабатывается, его хэш постоянно меняется. Если разрешить MCP патчить мой text.dll (у которого уже съехали все байты в сторону от преобразования), то MCP попросту сломает text.dll. Что это может вызвать? а) проблемы с кодировками б) сшибки ввода/вывода в) в целом разные странности с файловыми операциями Я хочу узнать : для чего MCP патчит text.dll? Далее либо я сам внесу правки в text.dll, либо добавлю совместимость с МСР, посмотрю какой вариант будет универсальнее (учитывая темпы разработки, лучше конечно самому сделать то что хочет сделать МСР, тем не менее MCP патчит нормально Morrowind.exe). У dll до патчинга и после патчинга (как показал Hex Workshop Hex Editor) Идеальные не тронутые внутренности. Они светятся оба зелёным и различий нет (проверено на обеих версиях отсюда https://www.fullrest.ru/files/russian_text_input/files😞 НО хэш меняется: Что это за магия ВНЕ Хогвартса, я пока НЕ понимаю. Но судя по байтам из патча MCP он ставит на text.dll какую-то заглушку.
-
В мсп есть 2 типа правок. - БагФИксы (все флаги выбраны по умолчанию). - хотелки и улучшайзеры. Первые это фикс очевидных косяков, вторые, навроде камеры за плечом, хотелки. Т.е. переносить очевидные багфиксы в "хардкод" дело Справедливое по определению. И как вариант, в дальнейшем, связаться с Двемером согласовав с ним этот момент. Дабы МСП учитывало правленный техтДлл и не правило уже поправленное. А еще, сделать свой билд МСП (пока Двемера нету на месте). Нечто подобное, было проделано с МГЕ 19ой версии. А "улучшайзеры" они сами по себе, конечно переносить камеру за плечо прямо в код, не всем будет симпатично.
-
Уважаемые форумчане! Что удалось выяснить на данный момент. MCP устанавливает патч в 2 этапа: 1. MCP сверяет ХЭШ Morrowind.exe, таким образом выбирается версия игры (хэш оригинальной русской версии от 1с ecb347304134f63cabf1ab38f0728dcff5fbfb11e7ac2b87a03c8639936ab094), в этой папке и лежит файл patch для .exe, а также 3 папки, в каждой их которых лежат патчи для 3‑х версий text.dll: оригинальная 48 кб, от Angel Death v.3.01 170 кб и ещё непонятная какая-то версия text.dll, которую, скорее всего, в жизни никто не видел или не использовал). 2. MCP сверяет ХЭШ text.dll, таким образом он внутри папки ecb347304134f63cabf1ab38f0728dcff5fbfb11e7ac2b87a03c8639936ab094 находит вторую папку e8503809bad3d088b367cffe85b13965565c4655f457919db18cdefe76edbad8, в названии которой установлен ХЭШ text.dll, откуда он берёт свои патчи для этой text.dll). 3. Я сравнил все 3 версии патча для разных версий text.dll (смотрел через HEX редактор Visual Studio Code): нашу общеиспользуемую: e8503809bad3d088b367cffe85b13965565c4655f457919db18cdefe76edbad8 первую отличную от нашей общеиспользуемой: 23c36ef153f5b183fc13d06ef339d9356c0da6b30a90aa7359baedce2135f036 вторую отличную от нашей общеиспользуемой: f027a20356e788cf1a48d6f89f8b11eb61b34dda2fecb6fab59a74e3dae3f83a Как вы сами можете увидеть, две другие версии вносят: а) немного другие правки в сам text.dll б) вносят больше правок в text.dll, что намекает о старых версиях text.dll (скорее всего версии 3.00 и ниже). Вывод: т.к. версия text.dll 3.01 не менялась внутренне структурно (что мы также выяснили в этой теме), то патч из вышеуказанной папки e8503809bad3d088b367cffe85b13965565c4655f457919db18cdefe76edbad8 как раз и влияет на text.dll. Собственно к анализу этого патча от MCP я и приступаю, буду смотреть что он вносит или что модифицирует.
-
GChaldon присоединился к сообществу
-
Вот я о том же. Я не буду переносить из MCP такие мелкие фиксы как "широкое меню, фикс карты для TR и т.д."- это мелкие правки, в сравнении будто я переношу мелкую правочку из esp в esm, хотя правочка и так работает идеально. Для сохранения совместимости и универсальности надо перенести более глобальные и общие масштабные фиксы. Начнём с малого с MCP, через MGE (вообще прикрутить рендер DX9-11 нафиг 😄 ) к большему - MWSE.
-
Да, я согласен с вами полностью прогресс не должен вредить совместимости н ив коем случае, но что делать, допустим, с 4гб патчем? MCP находит в заголовке Morrowind.exe (PE header) специальное поле «Характеристики» и вписывает в него флаг 0x0020 (IMAGE_FILE_LARGE_ADDRESS_AWARE), говоря Windows: «Этому приложению можно доверять, позволь ему видеть больше памяти». Таким образом даются 4 ГБ памяти. И всё, это потолок. Но если мы хотим сделать 8 ГБ памяти тем же путём что и MGE XE, только на уровне движка, а не со стороны внешнего органа MGE XE?
-
ИМХО: стоит перенести только те правки то что MCP вносит в text.dll, что бы компенсировать невозможность обычным MCP пропатчить модифицированный text.dll. Остальной функционал MCP лучше оставить застывшим во времени, для совместимости с модами. Многие моды сделаны из рассчета MCP, если фикс будет вносится иным способом не факт что мод корректно заработает. Плюс продвинутые MWSE моды проверяют требуемые компоненты и выдают окно с требованием при запуске игры. Им будет все равно на содержимое text.dll, они проверяют в MCP какие опции установлены пользователем. А еще если мне не изменяет память без установки MCP последние версии толи MGE XE то ли MWSE выдают ошибку с русской версией morrowind.exe, не помню что именно. Так что нужно соблюдать баланс между прогрессом и совместимостью.
-
Загрузил стабильную версию 3.01.1 (сообщения при повышении уровня, буфер консоли гибридный) в раздел плагины, закрепил её файлы в шапке темы. Это будет отправной точкой в дальнейшем совершенствовании, в принципе с ней можно играть. (Она в оригинальном виде, каким сделал его Angel Death). Я уже провел полный рефакторинг файлов/кода. Разместил все по отдельным папкам. Теперь каждый файл .CPP либо .H структурно элегантен, не выполняет один всю работу. А именно console.cpp и helperfunctions.cpp. Приступаю к анализу того, какие правки необходимо перенести из MCP в text.dll на уровень движка. Необходимо не только text.dll вырвать из состояния "застыло во времени" но и правки из MCP.
-
wisefox присоединился к сообществу
-
Доделал MWSE меню управления ключами в angel.ini https://www.fullrest.ru/files/mwse-menyu-dlya-moda-russkiy-vvod-teksta Уже некоторое время хотел сделать проверку ключей top\cel\mrk и выводить предупреждение если отключено, т.к. иногда встречаются пользователи у которых выключено и у них криво работает перевод модов. Только я хотел это к своему модулю данных прикрутить как доп функцию, а тут вышел апдейт text.dll с выбором клавиши и я решил что выбор кнопки 100% нужно автоматизировать для простого игрока внутри морровинда, что бы не нужно было икать сканкоды и вручную вписывать. В результате сделал отдельное меню управления всеми параметрами. Вот как то так вышло.
-
yamizukz присоединился к сообществу
-
Anton_dy присоединился к сообществу
-
И снова здравствуйте форумчане! Спешу вас порадовать тем, что я внёс исправление в расширение консоли (если включена функция EnableConsole=1 в Angel.ini)! Теперь при наличии длинных скриптов text.dll должен вести себя так, как и задумывалось! Коротко о том что было сделано: 1. Безопасность памяти. Увеличен буфер вывода с 1024 до 2048 байт в Con_Printf Заменён опасный sprintf на безопасный strncpy с принудительной нуль-терминацией Добавлена проверка памяти в .dump s команде через IsBadReadPtr 2. Умное управление ресурсами. Гибридная система буферов в GameCommandLine Быстрый стековый буфер 1КБ для обычных команд (как изначально было в статичной версии) Динамический буфер 4КБ для длинных скриптов (автовыделение) 3. Защита от переполнений. _vsnprintf с sizeof() вместо магических чисел Гарантированная нуль-терминация во всех строковых операциях Уменьшен массив argv со 1024 до 64 элементов для безопасности (если будет обрезаться строка, сделаю и его гибким, с изначальным значением 64 и он сможет увеличиваться по мере необходимости). А теперь о каждом действии и подробно: 1. Безопасность памяти (Buffer Overrun в Con_Printf): 2. Самое главное изменение - умная система буферов в GameCommandLine: Изначальная строгая статичная версия: Моя версия - гибкая, при получении текста/длинного скрипта сама выбирает какой буфер выделять для текущей операции: 3. Защита дампа памяти: Было (чтение любой памяти): Стало (проверка доступности): 4. Добавление защиты в сам файл Console.cpp: Прикрепляю новый text.dll c пофикшенной консолью и изменённым исходником консоли. Сохранена кодировка cp1251 (ох как же она мне дорога, кто бы знал....). Все предыдущие фиксы включены в эту версию. Версия изменена на 3.01.1 п.с если мне кто-то подскажет как я могу скрывать длинные рулоны сообщений под спойлер, буду премного благодарен. text.dll Console.cpp