首页
社区
课程
招聘
[旧帖] [求助][学习+讨论]麻烦前辈给讲讲关于Win32汇编中结构体数组的定义与使用.谢谢了 0.00雪花
发表于: 2012-4-21 21:42 1415

[旧帖] [求助][学习+讨论]麻烦前辈给讲讲关于Win32汇编中结构体数组的定义与使用.谢谢了 0.00雪花

2012-4-21 21:42
1415
可恨的抄袭,bai爹搜索,google搜索,都是千遍一律.
搜索 Win32结构体 数组 查询到的结果N篇,内容都是一样的...

最近在看罗师傅的Win32汇编.学到PE这节课的时候,有一个地方卡住了。很迷惑

代码片断如下:
;IMAGE_NT_HEADERS
assume  edi:ptr IMAGE_NT_HEADERS
;引用,且包括二维结构数组中的变量获取
invoke wsprintf,addr @szBuffer,addr sz_Peinfo_Text_ImageBase,[edi].OptionalHeader.ImageBase
    invoke SetDlgItemText,hWinMain,IDC_PEINFO_IMAGEBASE,addr @szBuffer

以上这些都正常,但是缺难在了OptionalHeader.DataDireCtory数据目录表信息这里

在Windows.inc中,找到了关于DataDireCtory数据目录表的定义:
代码片断如下:
IMAGE_OPTIONAL_HEADER32 STRUCT
  DataDirectory                 IMAGE_DATA_DIRECTORY IMAGE_NUMBEROF_DIRECTORY_ENTRIES dup(<>)
IMAGE_OPTIONAL_HEADER32 ENDS

不知道这里的 dum(<>)是什么意思,哪位前辈给讲解一下? 谢谢了.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我这样取值对吗?或者说Win32汇编中允许吗? 编译了一下,但是没有发生错误.
但是问题在于取得的值感觉怪怪的
代码如下:
invoke wsprintf,addr @szBuffer,addr sz_Peinfo_Text_ExportTable_Size,addr [edi].OptionalHeader.DataDirectory(0).isize
invoke SetDlgItemText,hWinMain,IDC_PEINFO_EXPORTTABLE_SIZE,addr @szBuffer
2012-4-21 21:45
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
IMAGE_OPTIONAL_HEADER32结构体定义如下:

IMAGE_OPTIONAL_HEADER32 STRUCT
  Magic                         WORD       ?
  MajorLinkerVersion            BYTE       ?
  MinorLinkerVersion            BYTE       ?
  SizeOfCode                    DWORD      ?
  SizeOfInitializedData         DWORD      ?
  SizeOfUninitializedData       DWORD      ?
  AddressOfEntryPoint           DWORD      ?
  BaseOfCode                    DWORD      ?
  BaseOfData                    DWORD      ?
  ImageBase                     DWORD      ?
  SectionAlignment              DWORD      ?
  FileAlignment                 DWORD      ?
  MajorOperatingSystemVersion   WORD       ?
  MinorOperatingSystemVersion   WORD       ?
  MajorImageVersion             WORD       ?
  MinorImageVersion             WORD       ?
  MajorSubsystemVersion         WORD       ?
  MinorSubsystemVersion         WORD       ?
  Win32VersionValue             DWORD      ?
  SizeOfImage                   DWORD      ?
  SizeOfHeaders                 DWORD      ?
  CheckSum                      DWORD      ?
  Subsystem                     WORD       ?
  DllCharacteristics            WORD       ?
  SizeOfStackReserve            DWORD      ?
  SizeOfStackCommit             DWORD      ?
  SizeOfHeapReserve             DWORD      ?
  SizeOfHeapCommit              DWORD      ?
  LoaderFlags                   DWORD      ?
  NumberOfRvaAndSizes           DWORD      ?
  DataDirectory                 IMAGE_DATA_DIRECTORY IMAGE_NUMBEROF_DIRECTORY_ENTRIES dup(<>)
IMAGE_OPTIONAL_HEADER32 ENDS
2012-4-25 19:30
0
游客
登录 | 注册 方可回帖
返回
//