病毒基础-混沌内存沙盘演

自己的笔记,修改自陈厅老师

病毒执行特点
并非简单执行自己的代码,它还需要执行被感染对象的正常代码,否则无法潜伏。
用两个函数normal()和virus()来模拟此过程
本来只调用normal,不调用virus,但通过我们修改内存机器码让程序先执行virus再执行normal,则模拟了改变执行路径的能力
这里写图片描述
正常途径:main()函数—normal()函数执行完成—-结束
修改之后:main()函数—normal()函数尚未真正开始—virus()函数执行完毕—normal()执行完毕—完毕
通过修改内存机器码,可等价到病毒的真正宿主硬盘么?
效果的确等价,以实验验证
以下面代码为例
#include<iostream>
using namespace std;
int main()
{
int g = 12;
cout << g << endl;
system("pause");
}

反汇编下得到如下信息
这里写图片描述
下载安装ultraedit,用ultraedit打开上面代码生成的exe文件,查找c7 45 F8 0c
这里写图片描述
通过前面学习,我们知道0c代表变量值为12,,改成0b,变量的值就成了11
把0c改为0b,另存为test.exe 。执行发现结果确实被改变。
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值