![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【win32汇编程序】
win32汇编知识。
paradox_1_0
自由、努力、向上。
展开
-
WIN32汇编程序设计中的全局变量定义
1.全局变量的定义全局变量的作用域这是整个程序,win32汇编的全局变量定义在.data或.data?段内,可以同时定义变量的类型和长度,格式是:MASM中可以定义的变量类型相当多,具体如表3.2所示:所有使用到变量类型的情况中,只有定义全局变量的时候类型才可以用缩写,具体使用实例如下:.data(1) wHour dw ? ...原创 2019-05-12 17:33:13 · 2180 阅读 · 0 评论 -
MASM系列编译器编译win32汇编程序步骤
1.MASM编译器介绍MASM是微软推出的汇编编译器。他的版本从低到高经历了很多次的升级(微软通病,升级补丁多如牛毛).每次升级除了例行的错误修正外都增加了一些新的功能,以至于到最后高版本和低版本的语法和功能相差很多,向下兼容性也不好。低版本的MASM固然无法编译高版本的源程序,但高版本的MASM也可能无法正常编译低版本的源程序,如MASM4.0写的源程序撑场无法在MASM6.x上编译成功。在...原创 2019-05-12 18:17:00 · 1440 阅读 · 0 评论 -
win32汇编程序设计中菜单资源的定义
1.菜单的基本概念 如下图所示,在窗口中,菜单位于标题栏下边。这个菜单称为"主菜单"或者"顶层菜单",图中菜单的菜单项有"文件"、"查看"和"帮助"。单机主菜单上的项目后,可以弹出下一层菜单,叫做"弹出式菜单"或"子菜单"。子菜单中可以继续包含下一层子菜单。如单机"查看"弹出一个自子菜单后,再单机其中的"工具栏"可以继续弹出一个子菜单。在子菜单中可以继续弹出下一层子菜单的菜单项最...原创 2019-05-25 18:31:39 · 428 阅读 · 0 评论 -
《Windows PE权威指南》第16章补丁工具程序bind.asm的错误修改
当直接编译运行bind程序的时候发现目标程序打完补丁之后无法正常运行。看汇编源码终于找到了问题所在,本文找出了源程序的一个函数编写的错误并给出了正确写法。改正之后经bind程序打完补丁的目标程序可以正常运行。1._getValidHeadSize函数原汇编代码:;--------------------------------------; 获取目标PE头的数据的有效长度;-----...原创 2019-07-10 15:26:32 · 205 阅读 · 0 评论 -
对一个补丁工具程序的技术细节分析(WIN32汇编)
本文研究的是在目标PE中新增加一个节,并将可执行代码附加到该节中的技术。补丁工具中对文件头部做的修改主要包括以下字段:SizeOfHeader、SizeSofImage、AddressOfEntryPoint和NumberOfSections。补丁程序创造空间最好的做法是:按照PE数据结构的规则新增加一个节,然后将这个节有机的融合到PE文件中。为PE文件新增加一个节的空间,只需要扩充文件尾...原创 2019-07-06 16:35:50 · 380 阅读 · 0 评论 -
windows系统API之GetOpenFileName简单使用实例 C++和汇编code
1.C++程序:#include<Windows.h>#include<commdlg.h>char szFilter1[2][16] = { "Excutable Files", "*.exe;*.com" };char szFileNameOpen2[MAX_PATH] = { 0 };int main(int argc, char *argv[])...原创 2019-07-06 17:07:00 · 1927 阅读 · 0 评论 -
E9指令地址计算方法
jmp:相对跳转指令计算公式:E9后面的地址 = 目标地址 - 当前地址 - 5在编写嵌入式补丁程序的时候一般情况下最后一条指令便是E9指令,实际计算时可借助windows自带的计算器工具进行16进制计算:0x401B5F ... //E9跳转的目标地址...0x407000 E9 5A AB FF FF上面的具体计算:0x401B5F - 0x4...原创 2019-09-24 11:19:41 · 2246 阅读 · 0 评论