| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

2021年PE加载器源代码解析

奋斗不止500年

贡献于2024-02-07

字数:3156


1原创段仿真PE加载器行程序



程序假定PE文件合法方没提供容错处理

bool PELoader(char *lpStaticPEBuff long lStaticPELen)
{
  long lPESignOffset  *(long *)(lpStaticPEBuff + 0x3c)
  IMAGE_NT_HEADERS *pINH  (IMAGE_NT_HEADERS *)(lpStaticPEBuff + lPESignOffset)

  取加载存中
  long lImageSize  pINH>OptionalHeaderSizeOfImage
  char *lpDynPEBuff  new char[lImageSize]
  if(lpDynPEBuff  NULL)
  {
    return false
  }
  memset(lpDynPEBuff 0 lImageSize)

  取PE文件节数量
  long lSectionNum  pINH>FileHeaderNumberOfSections

  计算PE头信息节表信息占存
  long lPEHeadSize  lPESignOffset + sizeof(IMAGE_NT_HEADERS) + lSectionNum * sizeof(IMAGE_SECTION_HEADER)
  
  加载PE头部信息节表
  memcpy(lpDynPEBuff lpStaticPEBuff lPEHeadSize)

  加载节
  long lFileAlignMask  pINH>OptionalHeaderFileAlignment  1        节磁盘中齐掩码
  long lSectionAlignMask  pINH>OptionalHeaderSectionAlignment  1  节load存中齐掩码
  IMAGE_SECTION_HEADER *pISH  (IMAGE_SECTION_HEADER *)((char *)pINH + sizeof(IMAGE_NT_HEADERS))
  for(int nIndex  0 nIndex < lSectionNum nIndex++ pISH++)
  {
    判定节齐属性合法
    if((pISH>VirtualAddress & lSectionAlignMask) || (pISH>SizeOfRawData & lFileAlignMask))
    {
      出现非法节
      delete lpDynPEBuff
      return false
    }

    加载改节
    memcpy(lpDynPEBuff + pISH>VirtualAddress lpStaticPEBuff + pISH>PointerToRawData pISH>SizeOfRawData)
  }

  修改导入表导入程序执行程中API函数址
  if(pINH>OptionalHeaderDataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]Size > 0) 0说明导入表
  {
    IMAGE_IMPORT_DESCRIPTOR *pIID  (IMAGE_IMPORT_DESCRIPTOR *)(lpDynPEBuff + \
      pINH>OptionalHeaderDataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]VirtualAddress)

    循环扫描函数导入dll
    for( pIID>Name  NULL pIID++)
    {
      *OllyDump源代码里重建导入表时候没初始化OriginalFirstThunk字段
      里OriginalFirstThunk字段进行处理*
      IMAGE_THUNK_DATA *pITD  (IMAGE_THUNK_DATA *)(lpDynPEBuff + pIID>FirstThunk)

      HINSTANCE hInstance  LoadLibrary(lpDynPEBuff + pIID>Name)
      if(hInstance  NULL)
      {
        导入dll失败
        delete lpDynPEBuff
        return false
      }

      循环扫描dll导入函数
      for( pITD>u1Ordinal  0 pITD++)
      {
        FARPROC fpFun
        if(pITD>u1Ordinal & IMAGE_ORDINAL_FLAG32)
        {
          函数序号方式导入
          fpFun  GetProcAddress(hInstance (LPCSTR)(pITD>u1Ordinal & 0x0000ffff))
        }
        else
        {
          函数名称方式导入
          IMAGE_IMPORT_BY_NAME * pIIBN  (IMAGE_IMPORT_BY_NAME *)(lpDynPEBuff + pITD>u1Ordinal)
          fpFun  GetProcAddress(hInstance (LPCSTR)pIIBN>Name)
        }

        if(fpFun  NULL)
        {
          导出函数失败
          delete lpDynPEBuff
          return false
        }

        pITD>u1Ordinal  (long)fpFun
      }

      FreeLibrary(hInstance)
    }
  }


  重定位处理
  if(pINH>OptionalHeaderDataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC]Size > 0)
  {
    取第重定位块
    IMAGE_BASE_RELOCATION *pIBR  (IMAGE_BASE_RELOCATION *)(lpDynPEBuff + \
      pINH>OptionalHeaderDataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC]VirtualAddress)

    long lDifference  (long)lpDynPEBuff  pINH>OptionalHeaderImageBase

    循环重定位块
    for( pIBR>VirtualAddress  0 )
    {
      char *lpMemPage  lpDynPEBuff + pIBR>VirtualAddress
      long lCount  (pIBR>SizeOfBlock  sizeof(IMAGE_BASE_RELOCATION)) >> 1

      页面中需重定位项进行处理
      short int *pRelocationItem  (short int *)((char *)pIBR + sizeof(IMAGE_BASE_RELOCATION))
      for(int nIndex  0 nIndex < lCount nIndex++)
      {
        int nOffset  pRelocationItem[nIndex] &0x0fff
        int nType  pRelocationItem[nIndex] >> 12

        然windows定义重定位类型PE文件中见03两种
        if(nType  3)
        {
          *(long *)(lpDynPEBuff + nOffset) + lDifference
        }
        else if(nType  0)
        {
          什做
        }
      }

      pIBR指重定位块
      pIBR  (IMAGE_BASE_RELOCATION *)(pRelocationItem + lCount)
    }

  }

  delete lpDynPEBuff

  return true
}


文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

深度解析天使、VC、PE、IPO投融资逻辑

深度解析天使、VC、PE、IPO投融资逻辑天使投融资i路演 · 2015-09-10 06:55信息来源:众筹观察早期创业公司的融资“估值”,必须建立在公司收入规模,用户规模在不断扩大的前提之下,由小到大、由低到高。要和投资人一起成长,既要保护你的利益,也要照顾好投资人的利益。一、天使投资  天使投资是指富有的个人出资协助具有专门技术或独特概念的原创项目或

w***y 11年前 上传459   0

PE并购基金的发起与后期运营详细解析

PE并购基金的发起与后期运营详细解析一、并购基金概述并购基金是私募股权基金的一种,用于并购企业,获得标的企业的控制权。常见的运作方式是并购企业后,通过重组、改善、提升等方式,实现企业上市或者出售股权,从而获得丰厚的收益。  并购基金一般采用非公开方式募集,销售和赎回都是基金管理人通过私下与投资者协商进行。从历史数据看,国内的并购基金一般投资期限通常为3到5年,

建***间 10年前 上传506   0

PE管特点

PE管特点 1、良好的卫生性能:PE管加工时不添加重金属盐稳定剂,材质无毒性,无结垢层,不滋生细菌,很好地解决了城市饮用水的二次污染。 2、卓越的耐腐蚀性能:除少数强氧化剂外,可耐多种化学介质的侵蚀;无电化学腐蚀。 3、长久的使用寿命:在额定温度、压力状况下,PE管道可安全使用50年以上。 4、较好的耐冲击性:PE管韧性好,耐冲击强度高,重物直接压过管道,不会导致管道破裂。 5、

陕***司 9年前 上传7733   0

源代码使用许可协议

________源代码使用许可合同甲方:XX软件有限公司 乙方:法定地址: 法定地址:法定代表人: 法定代表人:联系电话: 联系电话:鉴于:1、 甲方设计开发了________软件,依法对________源代码享有著作权;2、 乙方希望获得________源代码的使用许可,甲方同意授予乙方对________源代

文***享 4年前 上传1741   0

燃气PE管供应合同

设备、材料采购供应合同 甲方:   (需方)  合同编号:2007-06-15 乙方: (供方)  签订地点:                                            签订日期:2007年6月15日 甲、乙双方根据            燃气PE管材供应物资招标的结果,在平等、互惠、互利原则基础上,经双方协商一致,达成购销合同: 一、         产品

神***行 12年前 上传12297   0

中国私募基金PE成立条件

广州地区私募股权投资法律情况总结:1. 中央法律上私募基金分为股权投资基金与证券投资基金两类。根据中央机构编制委员会办公室发布的《关于私募股权基金管理职责分工的通知》(2013年6月)规定,这两类私募基金所属的监管机构均是中国证券监督管理委员会。然后根据《证券投资基金法》和中国证券监督管理委员会的授权,中国证券投资基金业协会制定了《私募投资基金管理人登记和基金备案办法(试行)》(以下

x***8 11年前 上传592   0

关于异地开发中的源代码管理问题

关于异地开发中的源代码管理问题最近在带领一个异地的团队在进行.NetB/S系统开发工作。两地相隔1000多公里,两地都有开发人员,源码的统一管理就成了需要解决的问题。针对这个问题,想到如下的解决方法:   一、利用MicrosoftVisualSourceSafe的Internet功能   优点:   1.考虑使用VSS是因为他与MicrosoftVisualStudio集成的很紧密。可以在

晓***1 10年前 上传521   0

数据结构大作业(含源代码)

数据结构大作业作业题目: 职工信息管理系统 姓 名: 学 号: 班 级: 计算机班 指导教师: 日 期: 2010年X月X日 职工信息管理系统(学院计算机科学

文***享 3年前 上传457   0

2021年reactos仿windows系统内核源代码研究

引导序号引导过程引导执行代码位数目标文件名称1.         主引导代码(Master Boot Record (MBR)code),主要寻找活动分区,然后读入引导扇区代码16位执行代码reactos/boot/freeldr/bootsect/dosmbr.asm2.         引导扇区代码,主要寻找根据的引导程序,这里主要寻找freeldr.sys。16位执行代

奋斗不止500年 3个月前 上传183   0

计算机源代码编写规范

 计算机源代码编写规范 文件编号: NW506104 生效日期: 2000.3.20 受控编号: 密级:秘密 版次:Ver2.1 修改状态: 总页数 6 正文 6 附录 0 编制:马云生 审核:袁淮 批

w***1 12年前 上传25793   0

C语言通讯录报告及源代码

XX学院《C语言程序设计》课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 计科班 学生姓名: 学 号: 设计地点(单位)________计算机基础自主学习中心 __ __设计题目:__ 个人通讯录设计_________________

文***享 3年前 上传358   0

股权投资协议书(PE)

股权投资协议书甲方:地址:法定代表人:乙方:地址:法定代表人:鉴于:1. 项目公司名称:_______ ___(以下简称”目标公司”或甲方)注册资本为人民币________万元,业务范围:_____ _ 。2. 为适应经营发展需要,“目标公司”原股东(共 人,分别为:

徐***计 4年前 上传865   0

PE给水用户过路管道安装、试压方案

施工方案报审表工程名称:新兴产业示范区横三路市政工程 编号:致:工程项目管理公司我方已根据施工合同的有关规定完成了 廊坊市新兴产业示范区横三路PE给水用户过路管道安装、试压方案 的编制,并经我单位上报技术负责人审查批准,请予以审查。 附件:廊坊市新兴产业示范区横三路PE给水用户过路管管安装、试压方案 承包单位(章):项目经理:

文***享 1年前 上传462   0

PE管材料购销合同

钢丝网骨架复合管材料购销合同购货单位(以下简称甲方):_____________________________供货单位(以下简称乙方):_____________________________依据《中华人民共和国合同法》及其他相关法律的规定,遵循平等、自愿、公平和诚实信用的原则,双方就甲方钢丝网骨架复合管材料供货事宜,经双方充分协商,签订本合同,以资共同遵照执行。第一条 材料的名

l***i 4年前 上传884   0

PE尽职调查保密协议

尽职调查保密协议 甲方: 注册号:注册地址: 法定代表人: 乙方: 注册号:注册地址: 法定代表人: 鉴于乙方可能对甲方投资,为了对甲方进行评估,乙方需要对甲方展开尽职调查。经双方协商,就乙方尽职调查阶段的保密事宜达成如下协议: 一、 保密责任的范围:为使乙方能作出客观、全面的评估,甲方应根据乙方的要求

a***n 12年前 上传552   0

PE组长竞聘演讲稿

 PE组长竞聘演讲稿    尊敬的各位领导各位同事:  大家晚上好!我是吴建勋!今天我为自己能够站在这里参加PE组长竞选感到万分的荣幸和自豪!同时为大家的到来表示衷心的感谢和热烈的欢迎!非常感谢公司部门领导给予我们展示自我的舞台和施展才华的机会!今天我冒着:竞选的公平、公正、公开性兴致勃勃而来啦,忘记了自己的年龄小,经验少,资格嫩….曾记得卡耐基说过这么一句话:“不要怕推

z***0 9年前 上传549   0

中国 PE 和 VC 机构的族谱图是怎样的

中国 PE 和 VC 机构的族谱图是怎样的?修改写补充说明举报1 条评论 分享 • 邀请回答按投票排序按时间排序4 个回答215赞同反对,不会显示你的姓名孙志超所有你想知道的都在个人说明里215 人赞同PE不了解,VC的话就太多了,估计除了媒体外,一般人也理不清楚。华登国际出来中经合、祥峰投资,而祥峰投资老大也有启迪创投背景。启迪创投又出来马力天使

y***8 11年前 上传523   0

数字图像处理车牌识别课程设计matlab实现附源代码

基于matlab的车牌识别系统一、 目的与要求目的:利用matlab实现车牌识别系统,熟悉matlab应用软件的基础知识,了解了基本程序设计方法,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,并把所学的知识系统、高效的贯穿到实践中来,避免理论与实践的脱离,巩固理论课上知识的同时,加强实践能力的提高,理论联系实践,提高自身的动手能力。同时不断的调试程序也提高了自己独立编程水平

文***享 1年前 上传349   0

《电力通信网络管理信息系统的设计与实现》源代码

头文件: /****************************************************************** * All rights reserved. * * 文件名称:baserule.h ******************************************************************/ #ifndef

文***享 5年前 上传969   0

2017年LabVIEW的舵机自动加载测试系统软件设计范文

LabVIEW的舵机自动加载测试系统软件设计范文  舵机是直升机动力学控制的执行机构,它在直升机实际飞行过程中需要承受通过液压助力器来的空气动力及其力矩作用。 详细内容请看下文labview的舵机自动加载测试系统软件设计。  空气动力及其力矩随着直升机飞行高度、速度、姿态等飞行状态的不同而变化,最终呈现为舵机的动态交变负载。舵机性能直接影响直升机整体的飞行性能,而舵机的带载能力是舵机的主

s***y 7年前 上传389   0

北京课改版八上物理 第4章 3 连通器 知识(有解析)

北京课改版八上物理 第4章 3 连通器 知识 一、单项选择题(共3小题;共12分)1. 如图所示,公路两侧的甲、乙两条水渠由路面下的倾斜涵洞相连,两渠水面相平,涵洞中的水流方向,正确的说法是 (    ) A. 水从水渠乙流向水渠甲 B. 水从水渠甲流向水渠乙 C. 因水面相平,水不流动 D. 以上说法都不对 2. 在装修房屋时,工人师傅常用一根灌有水(水中无气泡)且足够

文***7 1年前 上传380   0

传感器大作业霍尔转速器

传感器大作业题目:霍尔转速器姓名: ##### 学院:电子工程学院 班级: 学号: 日期:2013年X月X日 一、 被测量分析转速是发动机重要的工作参数之一,也是其它参数计算的重要依据。在工农业生产和工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要测量和

文***品 2年前 上传412   0

汽车变速器试验器的设计

Ø      设备工作过程: 自动工作过程: 输送夹具拉出,上料→输送夹具推到位(工作原位)→自动启动→变速器试验件定位→夹紧试验件→1轴花键连接→左右输出半轴花键连接(旋转插入保证传扭销插牢)→踩离合器1次离合,同步低速试验→2次离合同步高速试验→3次离合倒挡试验→4次离合1挡试验→5次离合2挡试验→6次离合3挡试验→7次离合4挡试验→8次离合5挡试验→9次离合倒5挡试验→10次离合倒4挡

k***o 13年前 上传14776   0

PE管整体施工组织设计

瑞安市天然气利用工程(一期)Ⅱ标段施工组织设计编制: 刘 杰 审核: 阎 强 审批: 刘津祥 天津市管道工程集团有限公司2014年5月28日目 录第一章 工程概况 1第一节 工程简况 1第二节 主要验收规范及技术标准 1第二章 工程特点 2第三章 总体施工组织 3第一节

p***3 8年前 上传467   0

PE室外给水管道安装施工组织设计

天府新区助力精准扶贫完善农饮工程双流县三星镇给水管道工程管径:dn110、dn63、dn32工程编号: 施工组织设计编 制: 审 核: 批 准: 建设工程有限公司2016年X月X日目 录1编制依据..........

文***享 2年前 上传430   0