• exe取消动态基址


    动态基址开启后,在动态调试是想要和ida静态分析中的地址对应还要进行一步计算,取消动态基址便可以剩下很多时间。

    只要修改pe文件头中的Characteristics低位置1

    1 typedef struct _IMAGE_FILE_HEADER {
    2   WORD  Machine;                    **        机器号     相对该结构的偏移0x00**
    3   WORD  NumberOfSections;           **        节区数量   相对该结构的偏移0x02**
    4   DWORD TimeDateStamp;              **        时间戳     相对该结构的偏移0x04**
    5   DWORD PointerToSymbolTable;       **        符号表偏移  相对该结构的偏移0x08**
    6   DWORD NumberOfSymbols;            **        符号表数量  相对该结构的偏移0x0C**
    7   WORD  SizeOfOptionalHeader;       **        可选头大小  相对该结构的偏移0x10**
    8   WORD  Characteristics;            **        PE文件属性  相对该结构的偏移0x12**
    9 } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

    Characteristics可以是下面一个或者多个值的和

    宏定义数值描述
    IMAGE_FILE_RELOCS_STRIPPED 0x0001 从文件中删除了重定位信息
    IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 该文件是可执行的
    IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 COFF行号从文件中删除
    IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 COFF符号表条目从文件中删除
    IMAGE_FILE_AGGRESIVE_WS_TRIM 0x0010 废弃
    IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020 该应用程序可以处理大于2GB的地址
    IMAGE_FILE_BYTES_REVERSED_LO 0x0080 废弃
    IMAGE_FILE_32BIT_MACHINE 0x0100 32位机器
    IMAGE_FILE_DEBUG_STRIPPED 0x0200 调试信息已删除并单独存储在另一个文件中
    IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400 如果在移动介质中,拷到交换文件中运行
    IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800 如果在网络中,拷到交换文件中运行
    IMAGE_FILE_SYSTEM 0x1000 该文件是一个系统文件
    IMAGE_FILE_DLL 0x2000 该文件是一个文件是一个动态链接库
    IMAGE_FILE_UP_SYSTEM_ONLY 0x4000 该文件应仅在单处理器计算机上运行
    IMAGE_FILE_BYTES_REVERSED_HI 0x8000 废弃

    pe修改的工具很多,我用的peid

  • 相关阅读:
    pat乙级1034
    getline()读入一整行
    c++ 输入split
    13.缓存、三级缓存、内存溢出、AsyncTask
    12、json、GridView、缓存
    11.webview、shareSDK
    10.下拉刷新、加载更多、标记已读、轮播条、缓存
    9.indicate、xutils、json
    8.滑动事件处理
    7.ViewPagerIndicator
  • 原文地址:https://www.cnblogs.com/DirWang/p/11435990.html
Copyright © 2020-2023  润新知