pe字节码查看器&源码window11系统masm编程

本文介绍了如何在Windows 11系统中使用MASM进行编程,通过示例展示了ml、rc和link命令的用法,用于创建一个PE字节码查看器。
摘要由CSDN通过智能技术生成
.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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值