zoukankan      html  css  js  c++  java
  • 写壳笔记一(加节表)

    感觉还是汇编写起来灵活一些,所以决定用汇编来学习写壳.

    (参考 加密解密第三版)

     

    .386
    .model flat,stdcall
    option casemap:none

     

    include kernel32.inc
    ;include user32.inc
    include Stdlib.Inc

    includelib kernel32.lib
    ;includelib user32.lib
    includelib Stdlib.lib

    include windows.inc

    AddSection proto

    .data

     szFileName byte "111.exe",0
     szSection byte ".ecec",0
    .code


    start:
     
     invoke AddSection
     invoke ExitProcess,0
     
     

    AddSection proc
     LOCAL hFile:HANDLE
     LOCAL hMap:HANDLE
     LOCAL pMem:LPVOID
     LOCAL pFileSize:dword
     LOCAL dwNTHeaderAddr:dword
     
     xor eax,eax
     invoke CreateFile,addr szFileName,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
     
     .if eax!=INVALID_HANDLE_VALUE
      
      mov hFile,eax
      invoke GetFileSize,hFile,addr pFileSize
      .if eax!=0
      
       invoke CreateFileMapping,hFile,NULL,PAGE_READWRITE,0,pFileSize,NULL
       
       .if eax!=0
        mov hMap,eax
        invoke MapViewOfFile,hMap,FILE_MAP_WRITE or FILE_MAP_READ or FILE_MAP_COPY,0,0,0
        .if eax!=0
         
         
         mov pMem,eax
         mov esi,pMem
         add esi,dword ptr [esi+3ch]
         assume esi:ptr IMAGE_NT_HEADERS
         
          movzx ecx,word ptr [esi].FileHeader.NumberOfSections
          inc word ptr [esi].FileHeader.NumberOfSections
          add esi,sizeof IMAGE_NT_HEADERS;指向第一个节表
          
          mov eax,sizeof IMAGE_SECTION_HEADER
          imul ecx
          
          add esi,eax;这里的ESI指向最后一个节的尾部
          
          assume esi:ptr IMAGE_SECTION_HEADER
          push esi
          
          invoke StrCpy,addr [esi].Name1,addr szSection
          pop esi
         
         assume esi:nothing
         
         
        .endif
       .endif
       
      .endif
       
     .endif

     
     
     
     ret

    AddSection endp

    end start

  • 相关阅读:
    洛谷 P3808 【模板】AC自动机(简单版) 题解
    O3优化模板
    洛谷 P3909 异或之积 题解
    洛谷 P3870 [TJOI2009]开关 题解
    洛谷 P1891 疯狂LCM 题解
    洛谷 P5221 Product 题解
    洛谷 P2568 GCD 题解
    洛谷 P5639 【CSGRound2】守序者的尊严 题解
    扩展kmp板子
    [JZOJ3167] 【GDOI2013模拟3】查税
  • 原文地址:https://www.cnblogs.com/mokliu/p/2138884.html
Copyright © 2011-2022 走看看