C++简易木马病毒

本文探讨了C++编程中一个潜在的安全问题——列表越界,并通过对比Python,解释了C++为何在越界时不抛出错误。内容涉及到内存管理,指出这种行为可能导致内存篡改,进而讨论了如何利用这一特性创建简易木马病毒的示例代码。
摘要由CSDN通过智能技术生成

c++是功能强大的编程语言,但它也有漏洞,最大的漏洞就是列表越界。

看看这段代码:

a = []
for i in range(3):
    n = input("输入:")
    a.append(n)
for i in range(4):
    print(a[i])

python语言下,你会看到:

输入:jdnjd
输入:dfkndjkd
输入:dfff
jdnjd
dfkndjkd
dfff
Traceback (most recent call last):
  File "C:/Users/CHYYY/Desktop/编程/python/项目/moni.py", line 6, in <module>
    print(a[i])
IndexError: list index out of range

很简单,列表越界。

但如果变成C++,代码:

#include <iostream>
using namespace std;
int main()
{

		int shu[3];
		for (int c = 0;c <= 4;c++)
		{
			int ji;
            cin >> ji;
			shu[c] = ji;
	}
	return 0;
}

它并不会报错。为什么呢?我们先从内存说起。

计算机的内存分为主存储器和辅助存储器。主存储器是计算机运行程序时临时存储的

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值