我在不同的编译器上编译了这段代码,但它们都给出了运行时错误。 有人能告诉我这段代码有什么问题吗? void merge(int *str, int beg, int mid, int end) { int *arr = new int[end - beg + 1]; int k = ...
我在不同的编译器上编译了这段代码,但它们都给出了运行时错误。 有人能告诉我这段代码有什么问题吗? void merge(int *str, int beg, int mid, int end) { int *arr = new int[end - beg + 1]; int k = ...
我必须以这种方式创建一个对向量的分量求和的函数: 第一个+第二个, 第三+第四, 第 5 次 + 第 6 次,依此类推。 原始向量的大小为“大小”。 我必须动态创建一个大小为“size/2”的结果向量(因为以这种方式求和,我将原始向量大小减半)。 我使用了两个计数器,i 和 j, ...
我必须做一个将两个字符串链接在一起的程序,这就是我所做的: 我已经初始化了两个变量,它们应该存储字符串的长度。 我检查了 NULL 指针异常。 我数过琴弦。 我已经动态分配了足够的 memory 来存储每个字母,以及 NULL 指针。 我已将每个字符放入结果字符串中。 但是这些行中存在缓冲区溢出问 ...
我正在学习道德黑客,所以我正在做简单的溢出堆栈攻击来覆盖保存的返回指针。 这是我的易受攻击的程序(在没有金丝雀和 NX 保护的情况下编译, ) 和程序,创建缓冲区(NOP__SHELLCODE__RET) 并调用易受攻击的程序。 一切都很简单,但是不工作-_-。 溢出正在工作,但未执行后的 s ...
我第一次尝试实现堆排序算法,但是我在使用 heapify 函数时遇到错误。 Unhandled exception at 0x0005369A in heapify.exe: Stack cookie instrumentation code detected a stack-based buff ...
对不起,我不确定我是否准确地写了标题。 但首先,这是我的限制: Array[],用作寄存器 map,被声明为无符号 8 位数组 (uint8_t),这样索引(偏移)是每个字节的。 要读取/写入数组的数据具有不同的宽度(8 位、16 位、32 位和 64 位)。 非常有限的 Memory 和速度是 ...
我不太确定为什么会收到警告或它的确切含义。 将 for 循环中的 size-1 设置为 size-2 会删除警告,但我不明白为什么。 ...
这是我的代码: 表达式pArr[i] = 1; 给出 C6386 警告警告 C6386 写入“pArr”时缓冲区溢出:可写大小为“num*sizeof(int)”字节,但可能写入“8”字节。 这很奇怪,因为for循环的迭代次数和头部数组的大小都取决于num ,因此实际上永远不会发生溢出。 然后有一个 ...
我关闭了 gcc 堆栈保护器的 ASLR 和 tern。 我编写了 C 易受攻击的代码,并试图溢出缓冲区,因此我检查了崩溃需要多少字符。 我试图将返回地址更改为另一个函数,但我收到一条消息: 这是我的 C 代码: 我找到了“sss”函数的地址,并尝试插入十六进制值。 这是我的地址: ...
函数名称:expandStack 输入:指向 Stack 类型 (Stack*) 的指针 输出:无 函数操作:函数扩展一个堆栈 在这一行中: expandStack[i].c = stack->content[i].c; 我收到一条“绿色警告”,说:“写入 ' ...
我的一段代码: 当我运行静态代码分析工具时,我收到以下警告: 在循环的第 19 次迭代中:此代码可以写入超过 &dest[i * 2] 指向的缓冲区的末尾。 &dest[i * 2] 计算结果为 [dest + 38]。 sprintf() 从 &dest[i ...
我正在学习 Linux 下的缓冲区溢出 shellcode 方法。 https://seedsecuritylabs.org/Labs_16.04/Software/Buffer_Overflow/ 我使用的 shellcode 以 movb $0x0b、%a1 和 int $0x80 结尾。 ...
因此,我使用C ++代码在VS 2017中进行了分析。 它为我提供了以下缓冲区溢出: 当我单步执行代码时,sTemp为“ 0123”,第4个位置当然为\\ 0。 在代码上运行Analyze时,出现C6386错误: 为什么? 我也尝试将数组更改为10,将StringCch ...
我正在为一个项目设置流集,它以Kafka消费者为源。 对于较小的邮件,它工作正常,但是当邮件大小较大时,它将引发此错误。 我已经将“最大对象长度(字符)”设置为1000000,并将parser.limit属性设置为10335040。我无法解决此问题。 不适用 完整的堆栈跟踪 ...
这是我的代码。 它将包含日期和时间的wstring转换为DATE类型。 但是,当我运行这部分代码时,当调试器离开此函数作用域时,它总是会抛出异常,指出“缓冲区溢出”。 我一直试图将其更改为void ConvertDateIntoSystemFormat(std::wstring date ...
我试图在产生“缓冲区溢出警告”的简单示例代码中查找问题,并且在查看了一段时间之后,我决定将其发布,以希望有人看到我的代码中的错误? 消息: 警告C6386写入“ tmpArray”时缓冲区溢出:可写大小为“ line.public:unsigned int __thiscall std : ...
我给定的代码是原始程序的问题部分。 它将N次随机交换myArray的两个元素,并进行T次循环。 该程序执行了预期的操作,但是在单击“返回0”后,它显示错误消息“ program.exe已停止工作”。 调试输出显示 为什么程序在完成工作后显示错误? 我怎样才能解决这个问题 ? ...
我收到运行时检查失败#2-运行以下代码时,变量'obj'周围的堆栈损坏错误。 我知道这是由于覆盖'obj'的边界而导致堆栈损坏而失败的。 那么如何在这里防止缓冲区溢出。 ...
请参阅上面的代码片段。 我正在运行 CODESONAR(静态分析工具)。 我的问题是,在最后一行( pstInfo = itrReqInfo->second; ),CODESONAR 显示以下错误: 此代码读取超过 itrReqInfo-> 指向的缓冲区的末尾。 . i ...