170 похожих чатов

Нужна помощь. есть программа: #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) {

char buf[10];
if (argc > 1)
strcpy(buf, argv[1]);
return 0;
}
почему когда я запускаю её от какого-то очень большого аргумента (символов 30-40+), то программа НЕ!! вылетает с ошибкой?

12 ответов

21 просмотр

Потому что ub

novicer- Автор вопроса
novicer
ub?

Да, запись за выделенную границу это уб

novicer- Автор вопроса

Ещё 1 вопрос: моя конечная цель: посмотреть на то, как падает программа с buffer overflow в ассемблеровских инструкциях, для этого я думал использовать ollydbg. единственный случай, когда эта программа падает - когда она написана на visual studio, но ollydbg пишет, что она "module has entry point outside the code" и вместо него запускает что-то другое, не эту программу. та же программа в dev-c++ не запускается в ollydbg вообще, а в min-gw запускается и вроде всё нормально, но сама программа имеет undefined behavior и не ломается... как мне выполнить эту цель? это невозможно?

novicer
Ещё 1 вопрос: моя конечная цель: посмотреть на то,...

Я тебе уже выше ответил, может падать может нет, как повезет

novicer- Автор вопроса
Denis P
Я тебе уже выше ответил, может падать может нет, к...

а как гарантировать падение? или как дизассемблировать exe на visual studio?

novicer
а как гарантировать падение? или как дизассемблиро...

> как дизассемблировать exe на visual studio alt+8 в отладчике

novicer
а как гарантировать падение? или как дизассемблиро...

Гарантировать что-то при UB нельзя На то оно и UB

novicer- Автор вопроса
Constantine Drozdov
> как дизассемблировать exe на visual studio alt+8...

что-то не получается... от этого сочетания ничего не происходит...

novicer- Автор вопроса
Constantine Drozdov
во время работы отладчика

нет, не работает... и во время работы отладчика и дебагера тоже

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта