首页 > 其他分享 >变形恶意代码

变形恶意代码

时间:2024-10-31 09:59:22浏览次数:1  
标签:EXE 加密 字节 变形 恶意代码 OD eax 实验

成绩

《实验3:变形恶意代码》

实验报告

目录

一、实验目标 3

二、实验工具 3

三、实验内容 3

1.任意编写一个程序,用Visual Studio 2022 3

2. 用OD打开该EXE程序,改变开始部分的代码如下: 4

3.再次用OD打开修改后的EXE,发现病毒变了,代码莫名其妙了。 7

四、 实验心得 7

一、实验目标

理解变形的原理,学会病毒实现方法

二、实验工具

1. OD(动态分析工具)

2. Visual Studio 2022

三、实验内容

1.任意编写一个程序,用Visual Studio 2022

用LordPE进行分析,查看程序入口点

  1. 用OD打开该EXE程序,改变开始部分的代码如下:

首先,在exe文件寻找空白区(一段00代码),用lord PE变换该空白区域在内存区的起始VA。空白区VA为0x006F1E40

接着,编写指令实现对EXE的加密,假设原始EXE文件大小40字节,那么就对这40字节按字节做异或操作。原始exe开始字节地址为0x006F12BC

mov eax, 0x44444444 ; 加密密码

mov edx, 0x006F12BC ; 原始EXE文件开始字节地址

mov ecx, 30 ; 加密字节数,30字节

; 加密循环开始

jmp S1地址

pushad ; 保存寄存器状态

S0:

add edx, 0x25413652 ; 随机花指令,占8字节

popad ; 恢复寄存器状态

S1:

xor [edx], eax ; 对内存中的字节进行异或加密

inc edx ; 指向下一个字节

loop S1地址 ; 循环30次

add eax, ebx ; 修改eax的值以进行代码变异(随机值)

; 此处添加随机花指令

; 随机指令区间,确保在popad之前和之后写入

; ... (自行补全随机指令)

jmp 0x006F1E40 ; 跳转到加密后的程序入口

然后,在原EXE文件的结尾相邻处,添加指令 jmp 0x0x006F1E40

最后,利用LordPE修改文件的入口点为00x006F1E40

3.再次用OD打开修改后的EXE,发现病毒变了,代码莫名其妙了。

每次使得给eax赋值的密钥随机,是多态病毒,每次都不一样。

实验心得

通过本次实验,首先了解到了恶意代码的本质和特点,以及一些常规的攻

击方式及其影响,逐步了解了变形的原理,学会其实现方法。在查询相关资料的

过程中,学会了如何查寻 PE 文件空白区。

标签:EXE,加密,字节,变形,恶意代码,OD,eax,实验
From: https://www.cnblogs.com/maqun/p/18517080

相关文章

  • 字符串 (反转字符串、字符串变形) [Java]
    字符串1、反转字符串题目链接:力扣描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例输入:s=[“h”,“e”,“l”,“l”,“o”]......
  • 跨界合作新篇章 威固首家变形金刚主题慢闪店亮相
    中国,上海,近日,全球特种材料公司伊士曼旗下汽车膜品牌威固,于上海长宁龙之梦城市生活中心,限时开启首家威固变形金刚主题慢闪店。图为威固慢闪店展台现场威固与变形金刚联名合作已携手同行4年,恰逢《变形金刚》系列焕新之作《变形金刚:起源》上映,威固从赛博坦星球早期的汽车人冒险之旅中......
  • [快速阅读八] Matlab中bwlookup的实现及其在计算二值图像的欧拉数、面积及其他morph变
    以前看过matlab的bwlookup函数,但是总感觉有点神秘,一直没有去仔细分析,最近在分析计算二值图像的欧拉数时,发现自己写的代码和matlab的总是对不少,于是又去翻了下matlab的源代码,看到了matlab里实现欧拉数的代码非常简单,如下所示:ifn==4lut=4*[00.250.2500.250.5-......
  • YOLO11-pose关键点检测:可变形双级路由注意力(DBRA),魔改动态稀疏注意力的双层路由方法BiL
    ......
  • Deformable DETR改进|爆改模型|涨点|在骨干网络和可变形编码器间加入YOLOv10的PSA和SC
    一、文本介绍本文修改的模型是Deformable-DETR,在骨干网络和可变形编码器之间加入YOLOv10的PSA和SCDown模块。其中PSA是YOLOv10提出的一种高效的自注意力模块,为了避免注意力带来的巨额开销,本文将PSA应用于可变形编码器输入的最高层级特征图。SCConv是一种空间和通道解耦的卷积......
  • 14-恶意代码防范技术原理
    14.1概述1)定义与分类(MaliciousCode)它是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用,破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另外一台计算机系统,未经授权认证访问或破坏计算机系统。常许多人认为“病毒”......
  • 最长上升子序列LIS 详解+变形+拓展
    最长上升子序列(LIS):定义:最长上升子序列(LIS)是一个序列中,找到一个子序列,使得这个子序列的元素是严格递增的,且该子序列的长度最大*子串和子序列的差别:子串: 元素的连续性,必须是相邻的子序列:元素的相对顺序,可以不连续 从实例中来[1,7,5,6,9,2,4]这个数组根据肉眼......
  • Deformable-DETR改进|爆改模型|在可变形编解码器之间加入RT-DETR中的CCFM模块(附代码+
    一、文本介绍本文修改的模型是Deformable-DETR,修改的位置是在可变形编码器和可变形解码器之间,在可变形编码器和可变形解码器之间加入RT-DERT中的CCFM模块,CCFM模块的输入为可变形编码器的最高层级特征图以及backbone的输出。CCFM模块可以提升模型的特征融合能力。二、模型图......
  • 沟槽的组合变形
    给定数\(p,m\),\(p\)是质数,求\[\sum_{i=0}^{p-1}\binom{2i}{i}m^i\bmodp\]多测,\(T\le10^4\),\(1\lem<p\le10^{14}\)。忽略\(p=2\)的情况,对\(\displaystyle\binom{2n}{n}\)变形:\[\begin{aligned}\binom{2n}{n}&=2^n\cdot\frac{1\times......
  • 基础数据结构-二分变形C语言实现
    基础二分下面是一个最基础的二分搜索代码,从一个数组(数据从小到大排)中找出某元素。#include<stdio.h>//函数声明intbinarySearch(intarr[],intleft,intright,intx);intmain(){//测试数据intarr[]={2,3,4,10,40};intn=sizeof(arr)......