ShellCode编写历程
发布日期:2021-05-27 02:53:20 浏览次数:33 分类:精选文章

本文共 1009 字,大约阅读时间需要 3 分钟。

获取kernel32.dll地址与PE格式分析

获取kernel32.dll地址

为了获取kernel32.dll的地址,我们可以按照以下步骤进行操作:

  • 获取PE文件头

    通过将(kernel32.dll)当作程序进行分析,我们可以获得其PE头信息。具体操作如下:

    mov   eax,fs:[30h]test  eax,eaxjs  os_9xos_nt: mov  eax,[eax+0ch]mov  esi,[eax+1ch]lodsd    mov   eax,[eax+8]jmp  k_finishedos_9x: mov   eax,[eax+34h]mov  eax,[eax+7ch]mov  eax,[eax+3ch]k_finished: sub  esp,200mov  edi,espmov  [edi+8],eax
  • PE格式基础

    PE文件格式包括以下几个部分:

    • DOS MZ头
    • DOSstub
    • PE头
    • 段表
    • 各个段

    PE头的具体结构如下:

    IMAGE_NT_HEADERS STRUCTSignature dd 'PE/0/0'FileHeader IMAGE_FILE_HEADEROptionalHeader IMAGE_OPTIONAL_HEADER32IMAGE_NT_HEADERS ENDS
  • 数据目录结构

    数据目录结构的详细信息如下:

    IMAGE_DATA_DIRECTORY STRUCTVirtualAddress dd ?isize dd ?IMAGE_DATA_DIRECTORY ENDS

    数据目录主要包含地址和各个数据段的大小信息。

  • Export表分析

    Export表是用来存储模块导出的函数和符号的信息。具体字段如下:

    IMAGE_EXPORT_DIRECTORY STRUCT...,
  • idata 原始文档中提供的关键技术细节。...

    主要字段包括:

    nName:模块的内部名称nBase:基地址偏移NumberOfFunctions:函数数量NumberOfNames:函数符号数量AddressOfFunctions:函数RVAs数组地址AddressOfNames:函数名RVAs数组地址AddressOfNameOrdinals:函数名序数数组地址

    通过以上步骤和技术细节分析,我们可以成功定位kernel32.dll的相关地址,并深入理解PE格式的结构。
    上一篇:经典语录
    下一篇:FifthOne:计算机视觉提示和技巧

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月15日 12时21分23秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章