.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
include comdlg32.inc
includelib comdlg32.lib
ICO_MAIN equ 1000
IDM_MAIN equ 10001
IDM_LOOK equ 10004
IDD_MAIN equ 1000
IDC_INFO equ 1001
IDR_MENU1 equ 10000
IDM_OPEN equ 10002
IDM_EXIT equ 10003
IDM_STOP equ 10005
.data
hInstance dd ?
hRichEdit dd ?
hWinMain dd ?
hWinEdit dd ?
szFileName db MAX_PATH dup(?)
totalSize dd ?;PE文件字节数
lpMemory dd ?;打开的文件内存映像在进程的起始地址
;szT db 100 dup(0)
;szF db '%d',0
dwStop dd 0;多线程解决pe文件太长阻塞主线程消息循环问题
lpServicesBuffer db 100 dup(0)
bufDisplay db 50 dup(0)
lpszFmt db '%08x ',0
lpszBlank db ' ',0
lpszManyBlanks db ' ',0
lpszReturn db 0dh,0ah,0
lpszHexArr db '0123456789ABCDEF',0
.const
szDllEdit db 'RichEd20.dll',0
szClassEdit db 'RichEdit20A',0
szFont db '宋体',0
szTest db 'OPEN!',0
szlpstrFilter db 'PE File',0,'*.exe',0
szErrFormat db '程序异常!',0
.code
_init proc
;富文本编辑框需要使用的结构体:
local @stCf:CHARFORMAT
;获取富文本编辑框句柄
invoke GetDlgItem,hWinMain,IDC_INFO
mov hWinEdit,eax
;设置图标
invoke LoadIcon,hInstance,ICO_MAIN
invoke SendMessage,hWinMain,WM_SETICON,ICON_BIG,eax
;设置编辑控件
invoke SendMessage,hWinEdit,EM_SETTEXTMODE,TM_PLAINTEXT,0
invoke RtlZeroMemory,addr @stCf,sizeof @stCf
mov @stCf.cbSize,sizeof @stCf
mov @stCf.dwMask,CFM_FACE or CFM_SIZE or CFM_BOLD
mov @stCf.yHeight,9*30
invoke lstrcpy,addr @stCf.szFaceName,addr szFont
invoke SendMessage,hWinEdit,EM_SETCHARFOR
pe字节码查看器&源码window11系统masm编程
最新推荐文章于 2024-08-09 08:11:50 发布
本文介绍了如何在Windows 11系统中使用MASM进行编程,通过示例展示了ml、rc和link命令的用法,用于创建一个PE字节码查看器。
摘要由CSDN通过智能技术生成