hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
  1. 首页
  2. 书籍阅读
  3. 正文

加密与解密 第11章实验

2023年10月7日 1302点热度 0人点赞 0条评论

0x01 输入表

实验环境

推荐使用的环境 备注
操作系统 Windows 10
二进制编辑器 010editor
样例程序 PE32

实验过程

PE文件偏移0x3C处找到PE头偏移0xB0。

fig:

NT头的数据目录表找到导入表的RVA,计算File Offset。

fig:

IID数组,每个IID包含一个DLL的描述信息。

fig:

fig:

第一个字段OriginalFirstThunk,指向一个数组,这个数组的元素全是指针,分别指向引入函数名的ASCII字符串。实际是一种,如果OriginalFirstThunk为0,就要看FirstThunk的情况,它在程序运行时被初始化。

208Ch的FileOffset是68Ch。也就是偏移0x68C处是IMAGE_THUNK_DATA数组,它存储的是指向IAMGE_IMPORT_BY_NAME结构的地址,以一串00结束。

fig:

计算的2110h的FileOffset是710h,字符串时LoadIconA。前面一个字是Hint,这是作为函数名(Hint)引用的,可以为0。

fig:

第一个IID指向的API函数如表。

fig:

在程序运行前,它的FirstThunk字段值也指向一个地址串,而且和OriginalFirstThunk字段值指向的INT重复。系统在程序初始化时根据OriginalFirstThunk的值找到函数名,调用GetProcAddress函数并根据函数名取得函数的入口地址,然后用函数的入口地址取代FirstThunk指向地址串中对应的值。

fig:

如图为11个函数的地址。

fig:

0x02 输出表

实验环境

推荐使用的环境 备注
操作系统 Windows 10
二进制编辑器 010editor
样例程序 PE32

实验过程

定位导出表位置0xC00。

fig:

IED结构如下:

fig:

  • Name:RVA=4032h,FileOffset=C32h,DllDemo.DLL
  • AddressOfNames:RVA=402Ch,FileOffset=C2Ch,值为403Eh,故而函数名为MsgBox
  • AddressOfFunctions:RVA=4028h,FileOffset=C28h
  • AddressOfNameOrdinals:RVA=4030h。FileOffset=C30h。即序号为0x0000。

由于不是序号查询,所以不需要-Base,因此就是第一个序号,AddressOfFunctions指向地址的第一个元素是RVA=4028h,所以MsgBox的RVA=1008h。

0x03 重定位表

实验环境

推荐使用的环境 备注
操作系统 Windows 10
二进制编辑器 010editor
样例程序 PE32

实验过程

找到重定位表FOA=0xE00

fig:

(16-8)/2,有4组数据,前面两组的FOA是00Fh,和023h。

fig:

fig:

分别是00402000h和00403030h,执行PE文件前,加载程序进行重定位的时候,会用PE文件在内存中的实际映像地址减PE文件所需求的映像地址,根据重定位类型不同将差值添加到相应的地址数据中。

fig:

0x04 资源表

实验环境

推荐使用的环境 备注
操作系统 Windows 10
二进制编辑器 010editor
样例程序 PE32

实验过程

FOA=0x4000处是资源起始地址。

fig:

后面又三个IMAGE_RESOURCE_DIRECOTRY_ENTRY结构。

fig:

最高位为1,还有下一层40h指向第二层目录块。资源块首地址+40h为4040h。

fig:

第二层目录中Name字段定义的是资源名称,第一个字节最高位为1,表明是一个指针,指向IMAGE_RESOURCE_DIR_STRING_U结构。OffsetToData最高位是1,说明还有下一层,4088是第三层目录块地址。

第三层目录中0409h表示代码页是英语,由于此时OffsetToData最高位是0,IMAGE_RESOURCE_DATA_ENTRY的结构是40C8h。图标真正的RVA是4400h,大小为5Ah。

fig:

标签: 实验 总结
最后更新:2023年10月7日

hu1y40

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 0x01 输入表
    • 实验环境
    • 实验过程
  • 0x02 输出表
    • 实验环境
    • 实验过程
  • 0x03 重定位表
    • 实验环境
    • 实验过程
  • 0x04 资源表
    • 实验环境
    • 实验过程

分类目录

  • 0day安全
  • Bypass
  • C++Prime
  • CTF
  • DoS
  • DoS
  • FUZZ
  • iot
  • JSONP
  • MISC
  • MISC
  • PHP伪协议
  • Python
  • REVERSE
  • sqli-labs
  • SQL注入
  • Trick
  • UAF
  • WEB
  • WEB
  • XXE
  • 书籍阅读
  • 二进制
  • 代码阅读
  • 信息搜集
  • 信息泄露
  • 加密与解密
  • 双重释放漏洞
  • 反序列化
  • 命令执行
  • 命令执行
  • 堆溢出
  • 密码学
  • 弱加密
  • 提权漏洞
  • 整数溢出
  • 文件上传
  • 未分类
  • 栈溢出
  • 格式化字符串漏洞
  • 模型
  • 汇编语言
  • 渗透测试
  • 漏洞分析
  • 漏洞利用
  • 漏洞战争
  • 漏洞挖掘
  • 病毒分析
  • 越界读取
  • 路径遍历
  • 逻辑漏洞
  • 配置不当
  • 钓鱼
  • 靶场
最新 热点 随机
最新 热点 随机
加密算法 2023年度总结 RTSPServer StackOverflow Vulnerability FUZZ 总览篇 MP4Box 无限循环漏洞 CVE-2023-40477 Winrar RCE漏洞分析
Fuzzing101 9 加密与解密 第8章 下 0day安全 第13章实验 sqli-labs 1-10 文件上传靶场pass-1-10 CVE-2013-2551 IE COALineDashStyleArray整数溢出漏洞

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1