⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datadirectorydlg.asm

📁 汇编写的pe文件信息查看工具
💻 ASM
字号:

;显示数据目录表
_ShowDataDirectory	proc	_lpPEHeader,hWnd
			local	@szbuffer[64]:byte
			push	edi
			xor	edi,edi
		mov	edi,_lpPEHeader			;edi指向IMAGE_NT_HEADERS
		add	edi,0078h			;edi指向IMAGE_DATA_DIRECTORY
		assume	edi:ptr	IMAGE_DATA_DIRECTORY 
		;显示所有DataDirectory
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_EXPORT,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_EXPORT,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_IMPORT,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_IMPORT,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_RES,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SZIE_RES,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_EXCEPTION,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SZIE_EXCEPTION,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_SECURITY,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_SECURITY,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_RELOC,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_RELOC,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_DEBUG,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_DEBUG,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_COPYRIGHT,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_COPYRIGHT,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_GP,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_GP,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_TLS,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_TLS,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_LOADCONFIG,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_LOADCONFIG,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_IAT,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_IAT,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_BOUND,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_BOUND,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_COM,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_COM,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_DELAYIMPORT,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_DELAYIMPORT,addr @szbuffer
		add	edi, sizeof IMAGE_DATA_DIRECTORY

		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].VirtualAddress			
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_RVA_NOUSE,addr @szbuffer
		invoke	wsprintf,addr @szbuffer,addr szFmtHex,[edi].isize
		invoke	SetDlgItemText,hWnd,IDC_EDIT_DD_SIZE_NOUSE,addr @szbuffer


		assume	edi:nothing
			pop	edi
			ret
_ShowDataDirectory	endp




_ProcDlgDATADIR		proc	uses ebx edi esi hWnd,wMsg,wParam,lParam
			mov	eax,wMsg
		.if	eax == WM_CLOSE
			invoke  EndDialog,hWnd,NULL
		.elseif	eax ==  WM_INITDIALOG
			
			invoke	_UnLoadFile,offset stMapFile
			invoke	_LoadIsPEFile,offset szFileName,offset stMapFile,hWnd
			invoke	_ShowDataDirectory,stMapFile.lpPEHeader,hWnd
		.elseif	eax == WM_COMMAND
			mov	eax,wParam
			.if	ax == IDC_OK
				invoke  EndDialog,hWnd,NULL	
				ret
			.endif
		.else	
			mov	eax,FALSE
			ret
		.endif	
		mov	eax,TRUE
		ret
_ProcDlgDATADIR		endp


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -