不使用导入表而直接调用dll中函数的病毒的工作方式

news2024/10/6 14:37:56

一、实验目的:

通过该实验, 使学生掌握使用PEB结构确定kernel32.dll基地址的方法与原理,通过对PE导出表结构分析来理解获取API函数地址的方法,最终通过编码完成一个没有导入表的测试程序。

二、实验步骤:

1.通过使用PEB来获得kernel32.dll的基地址

2.从获得的DLL中通过导出表检索到需要的函数地址。

3.综合整理,构造一个没有导出表的PE程序。
 

三、具体过程:

........中间省略了利用windbg找到kernel32的地址的过程

........中间省略了具体代码如何实现函数地址的获取的代码分析过程

下面先给出最简单的操作过程 和 实验结果:

(1)打开masm32editor,利用这个工具打开那个代码,并且点击项目中的compile&link

(2)然后,在对应文件的位置可以生成一个exe文件,就是这个代码运行的文件

 

执行结果如下:

(3)再利用stud_pe打开这个exe文件,按道理来说,应该时调用了msgbox函数的,但是,并没有函数导入表被检测到,所以就是没有利用导入表实现的dll函数调用的病毒成功:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/904588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适用于 Windows 的 5 款最佳免费数据恢复软件

每个计算机用户都曾经历过数据丢失的情况。很容易错误地删除重要的文件和文件夹,当发生这种情况时,可能会导致不必要的心痛和压力。值得庆幸的是,可以恢复 Windows PC 上丢失的数据。在本文中,我们将分享您可以使用的五种最佳 Win…

第三讲:ApplicationContext的实现

这里写目录标题 一、前文回顾二、基础代码准备三、基于XML的ClassPathXmlApplicationContext1. 创建spring-config.xml配置文件2. 指定配置文件的路径 四、基于注解的AnnotationConfigApplicationContext1. 新增一个配置类2.指定配置类信息 五、基于注解和ServletWebServer应用…

剑指offer全集系列(1)

目录 JZ3 数组中重复的数字 JZ4 二维数组中的查找 JZ5 替换空格 JZ6 从尾到头打印链表 JZ18 删除链表的节点 JZ22 链表中倒数最后k个结点 题目为剑指offer top100题目, 欢迎大家来学习😘 JZ3 数组中重复的数字 数组中重复的数字_牛客题霸_牛客网在一个长度为…

centos7安装virtualbox

在线安装 vi /etc/yum.repos.d/virtualbox.repo,复制后将下面内容编辑保存。 [virtualbox] nameOracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox baseurlhttp://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch enabled1 …

DeFINE:用于神经序列建模的深度分解输入令牌嵌入

一、说明 DeFINE,是华盛顿大学和艾伦人工智能开发的自然语言处理工具,可以处理的范围是:NLP、语言模型、LM、神经机器翻译、NMT、变压器、变压器-XL等;本文对token-bedding进行生成。 借助DeFINE,Transformer-XL可以在…

RHCE——三、远程连接服务器

远程连接服务器 一、远程连接服务器1、概念2、功能3、分类文字接口图形接口 二、文字接口连接服务器:三、连接加密技术简介密钥解析 四、SSH工作过程1、版本协商阶段2、密钥和算法协商阶段3、认证阶段(两种认证方法) 五、SSH服务配置1、安装ssh2、配置文件分析 六、ssh实验1、实…

Linux系统简介

文章目录 1. UNIX与Linux发展史1.1 UNIX发展史1.2 Linux发展史1.2.1 Linux内核版本1.2.2 Linux主要发行版本 2. 开源软件简介2.1 典型的开源软件2.2 开源软件的特点2.3 支撑互联网的开源技术 3. Linux应用领域3.1 基于Linux的企业服务器3.2 嵌入式应用3.3 Linux在电影娱乐业 4.…

在线SHA1加密工具--在线获取哈希值又称摘要

具体请前往: 在线计算Sha1摘要工具

使用open cv进行角度测量

使用open cv进行角度测量 用了一点初中数学的知识,准确度,跟鼠标点的准不准有关系,话不多说直接上代码 import cv2 import mathpath "test.jpg" img cv2.imread(path) pointsList []def mousePoint(event, x, y, flags, param…

Python批量爬虫下载PDF文件代码实现

本文的背景是:大学关系很好的老师问我能不能把Excel中1000个超链接网址对应的pdf文档下载下来。虽然可以手动一个一个点击下载,但是这样太费人力和时间了。我想起了之前的爬虫经验,给老师分析了一下可行性,就动手实践了。    没…

第一讲:BeanFactory和ApplicationContext接口

BeanFactory和ApplicationContext接口 1. 什么是BeanFactory?2. BeanFactory能做什么?3.ApplicationContext对比BeanFactory的额外功能?3.1 MessageSource3.2 ResourcePatternResolver3.3 EnvironmentCapable3.4 ApplicationEventPublisher 4.总结 1. 什么是BeanF…

docker的资源控制及数据管理

docker的资源控制及docker数据管理 一.docker的资源控制 1.CPU 资源控制 1.1 资源控制工具 cgroups,是一个非常强大的linux内核工具,他不仅可以限制被 namespace 隔离起来的资源, 还可以为资源设置权重、计算使用量、操控进程启停等等。 …

面试汇总-testcase

朋友圈点赞的测试用例 功能测试 1点赞后是否显示结果 2.点赞后是否可以取消; 3.点赞取消后是否可以重复点赞; 4.共同好友点赞后,是否有消息提醒; 5.非共同好友点赞后,是否有消息提醒; 6.点击点赞人昵称,是否可以跳转到他/她的主页; 7.自己能…

对象头的结构

一、对象头的结构(32位虚拟机) 1、普通对象 普通对象头占用64 bits ,其中Mark word占32 bits ,Klass Words 占32bits。Klass Words 可以理解为指针,指向类对象。Mark Word下面会详解。 2、数组对象 数组对象增加了4个字节的空间,…

百度许少辉著Baidu《乡村振兴战略下传统村落文化旅游设计》图书馆新书通报

百度许少辉著Baidu《乡村振兴战略下传统村落文化旅游设计》图书馆新书通报

【C语言学习】二维数组

二维数组 int[3][5];//通常理解为a是一个3行5列的矩阵二维数组的遍历 for(i0; i<3; i){for(j0; j<5; j){a[i][j] i*j;} }

删除链表中的节点(力扣)

目录 题目&#xff1a; 看着花里胡哨&#xff0c;小卡拉米四行代码秒杀&#xff01; 示例&#xff1a; 思路&#xff1a; 代码&#xff1a; 题目&#xff1a; 看着花里胡哨&#xff0c;小卡拉米四行代码秒杀&#xff01; 示例&#xff1a; 思路&#xff1a; 把后一个节点的…

多线程实现与管理

进程与线程 进程 &#xff1a; 进程是操作系统进行资源分配的最小单位&#xff0c;每执行一个程序、一条命令操作系统都会启动一个进程&#xff0c;进程是一个程序的执行过程&#xff0c;当程序启动时&#xff0c;操作系统会把进程的代码加载到内存中&#xff0c;并为新进程分配…

Python爬虫——scrapy_日志信息以及日志级别

日志级别&#xff08;由高到低&#xff09; CRITICAL&#xff1a; 严重错误 ERROR&#xff1a; 一般错误 WARNING&#xff1a; 警告 INFO&#xff1a; 一般警告 DEBUG&#xff1a; 调试信息 默认的日志等级是DEBUG 只要出现了DEBUG或者DEBUG以上等级的日志&#xff0c;那么这些…