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

📄 show_data.asm

📁 一个十六进制编辑器源代码,cool!
💻 ASM
字号:
WM_SHOWDATA=WM_USER+5919
DlgShowDataProc proto :DWORD,:DWORD,:DWORD,:DWORD
__settext macro nID,lpBuf,sizeoftype
	.if ebx>=sizeoftype
		push lpBuf
	.else
		push 0
	.endif
	push nID
	push @hDlg
	call SetDlgItemText
	endm
.CODE
DlgShowDataProc proc @hDlg,uMsg,wParam,lParam
local @szBuf[30]:BYTE 
	mov eax,uMsg
	.if eax==WM_SHOWDATA
		;wParam 绝对地址
		;lParam 选择块的结束位置
		pushad
		mov esi,wParam
		mov eax,lParam
		lea edi,@szBuf
		.if dwFileType==FILE_RAM
			add eax,dwRamAddress
		.endif
		invoke wsprintf,edi,ctext("%08X"),eax
		invoke SetDlgItemText,@hDlg,1000,edi
		mov ebx,dwFileSize
		sub ebx,dwBlockStart
		invoke format_int,edi,FM_UCHAR,esi
		__settext 1001,eax,1
		invoke format_int,edi,FM_CHAR,esi
		__settext 1002,eax,1
		invoke format_int,edi,FM_USHORT,esi
		__settext 1003,eax,2
		invoke format_int,edi,FM_SHORT,esi
		__settext 1004,eax,2
		invoke format_int,edi,FM_DWORD,esi
		__settext 1005,eax,4
		invoke format_int,edi,FM_LONG,esi
		__settext 1006,eax,4
		invoke format_int,edi,FM_UINT64,esi
		__settext 1007,eax,8
		invoke format_int,edi,FM_INT64,esi
		__settext 1008,eax,8
		invoke format_int,edi,FM_FLOAT,esi
		__settext 1009,eax,4
		invoke format_int,edi,FM_DOUBLE,esi
		__settext 1010,eax,8
		popad
	.elseif eax==WM_CLOSE
		invoke DestroyWindow,@hDlg
		mov g_hDlg_Data,0	
	.elseif eax==WM_INITDIALOG
		mov eax,lpMemFile
		add eax,dwCurPos
		invoke SendMessage,@hDlg,WM_SHOWDATA,eax,dwCurPos
	.else
		xor eax,eax
		ret
	.endif
	mov eax,TRUE
	ret
DlgShowDataProc endp



⌨️ 快捷键说明

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