b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

用python编写的简单病毒(无害)-

电脑杂谈  发布时间:2020-05-10 03:21:25  来源:网络整理

感染潘多拉病毒会出现_文件型病毒一般感染_电脑中了感染型病毒

(2)文件病毒

文件类型病毒主要是感染可执行文件(PE文件),例如EXE和COM的病毒. 该病毒会修改主机文件,并将其自己的代码添加到主机文件中. 当执行主机程序时,病毒程序将在执行主机程序之前执行

1. 感染COM文件:

对于COM文件,在系统加载后,经过一系列处理后,所有文件都将读入内存,并且将控制权交给文件的第一条指令. 如果该指令完全是病毒指令,则该病毒将获得控制权. 带毒文件的COM后缀具有两种结构:

?病毒的主体位于原始文件的后面. 该病毒用程序(或简单的

)替换了原始文件头

使用跳转指令)指向以下病毒体,然后在该位置恢复原始指令. •整个病毒在原始文件之前. 病毒体在加载时直接获得控制权文件型病毒一般感染,而不会破坏原始程序.

什么部分.

2. 感染的EXE文件:

EXE后缀文件不同于COM后缀文件. 它具有特殊的“文件头”结构,在其中装载文件重定位信息而不是可执行指令.

系统加载EXE后缀文件时,根据文件头信息定位文件,并在入口处设置堆栈指针和代码指针. 病毒感染EXE后缀文件时,通常会将文件头的代码指针指向病毒条目. 系统加载后,病毒首先获得控制权.

感染潘多拉病毒会出现_电脑中了感染型病毒_文件型病毒一般感染

该病毒需要将自身复制到EXE文件,需要进行的主要更改是: ?写一个新的部分(病毒的主体)

?将新的节标题添加到节表中

?修改PE文件头文件头中的相应字段(例如NumberOfSections)?修改程序入口点的地址

其中,修改程序入口点的地址非常重要. 这样可以确保在运行主机文件时,系统先执行病毒程序.

(3)Python文件

python源代码py文件将在运行时编译为字节码,并将编译后的结果保存到PyCodeObject. pyc文件是将PyCodeObject从内存保存为元帅格式的文件的结果.

Python中定义的PyCodeObject的结构

typedef struct {

PyObject_HEAD

int co_argcount; / *#参数,除了* args * / int co_nlocals; / *#局部变量* /

int co_stacksize; / *#评估堆栈所需的条目* / int co_flags; / * CO _...,请参见下文* /

电脑中了感染型病毒_感染潘多拉病毒会出现_文件型病毒一般感染

PyObject * co_code; / *指令操作码* / PyObject * co_consts; / *列表(使用常量)* /

PyObject * co_names; / *字符串列表(使用的名称)* /

PyObject * co_varnames; / *字符串元组(局部变量名称)* / PyObject * co_freevars; / *字符串元组(自由变量名)* / PyObject * co_cellvars; / *字符串元组(单元变量名称)* // *其余的不计入hash / cmp * /

PyObject * co_filename; / *字符串(从何处加载)* / PyObject * co_name; / *字符串(名称,仅供参考)* / int co_firstlineno; / *第一个源行号* /

PyObject * co_lnotab; / *字符串(编码addrlineno映射),有关详细信息,请参见Objects / lnotab_notes.txt. * /

void * co_zombieframe; / *仅用于优化(请参阅frameobject.c)* / PyObject * co_weakreflist; / *支持对对象的弱引用* /} PyCodeObject;

一些字段argcount的含义: 参数数量

nlocals: 局部变量(包括参数)的数量stacksize: 堆栈的大小

标志: 用于指示参数: 字节码中是否存在* args或** kwargs代码

名称: 全局变量,函数,类和类方法的名称

varnames: 局部变量(包括参数)的名称const: 常量表

文件型病毒一般感染_感染潘多拉病毒会出现_电脑中了感染型病毒

pyc文件是嵌套的PyCodeObject结构的组合. 对于每个函数或类方法,都会生成一个对应的PyCodeObject结构.

通过调用以下函数来运行所有PyCodeObject: PyObject * PyEval_EvalFrameEx(PyFrameObject * f,int throwflag)

它的作用是执行中间代码. 通过调用此函数来运行Python代码.

通过以上分析,我决定使用python代码执行的特性在Linux下使用python编写“文件病毒”.

四,实验所需的硬件和软件

操作系统: ubuntu16.04 LTS虚拟机

软件: Python2.7.11 +

五个实验步骤

(1)程序框架

我决定使用python编写文件类型病毒,因为我想反映文件类型病毒的特征,而不必深入到底部来计算字节数. 该程序包括以下模块:

1. 传播感染模块

文件型病毒一般感染_感染潘多拉病毒会出现_电脑中了感染型病毒

找到符号条件的宿主文件,然后将其自身添加到宿主文件中.

为了隐藏自己,不是将所有病毒本身复制到受感染的文件中,然后用户可以轻松找到它. 我的方法是在隐藏位置创建病毒的备份,以便在将病毒写入主机文件时,不会显式写入病毒,而只需通过import语句引用即可达到相同的效果.

2. 备份模块

我选择将备份文件放在“ / home / current user”目录中. 因为在Linux的其他根目录(例如/ usr和/ bin)中,创建文件需要root权限,并且用户通常不在root权限下运行,这涉及特权升级的问题. 我还没有想到解决方案,因此暂时选择了“ / home / current user”目录.

3. 触发并销毁模块

日期触发. 在一周的每个星期四,用户将执行受感染的.py文件,并执行已损坏的模块.

系统重新启动. 从理论上讲,攻击模块可以任意定制,但是要注意,如果引用了python的某些特殊模块,则可能未安装受害主机系统文件型病毒一般感染,并且在执行程序时会发生错误.

(2)具体实现

备份模块

感染模块

触发条件判断和破坏功能


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-204715-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 打捞王人猿
        打捞王人猿

        把群里的人全部拉来了我够了吧

      • 郑余庆
        郑余庆

        俄国重心在欧洲所以放弃在华利益

      热点图片
      拼命载入中...