自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 win32汇编语言程序设计——union结构

在汇编语言遇到上述结构定义时,对union u1这样的表述没有做出解释,从而造成理解困难。其实union的意思是一个联合体,也就是联合体内的所有字段占用相同的空间,而表示的意义是不相同的。

2023-06-23 10:56:25 101

原创 WIN32汇编语言程序设计——在PE文件上添加执行代码

这里的技术目标是这样的,我们打算使用JMP指令的一种用法:转移地址在内存中的JMP指令。比如,在PE文件中,一个典型的对齐值是200h ,这样,每个区块都将从200h 的倍数的文件偏移位置开始,假设第一个区块在400h 处,长度为90h,那么从文件400h 到490h 为这一区块的内容,而由于文件的对齐值是200h,所以为了使这一区块的长度为FileAlignment 的整数倍,490h 到 600h 这一个区间都会被00h 填充,这段空间称为区块间隙,下一个区块的开始地址为600h。

2023-05-09 21:05:53 248

原创 WIN32汇编语言程序设计——API和动态链接

最后有一个最重要的概念一定要牢记:动态链接库是被映射到其他应用程序的地址空间中执行的,它和应用程序可以看成是“一体”的,动态链接库可以使用应用程序的资源,它所拥有的资源也可以被应用程序使用,它的任何操作都是代表应用程序进行的,当动态链接库进行打开文件、分配内存和创建窗口等操作后,这些文件、内存和窗口都是为应用程序所拥有的。1. 在程序中声明函数。当PE文件被执行的时候,Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入,再根据DLL文件中的函数导出信息对被执行文件的IAT表进行修正。

2023-04-23 21:26:00 991

原创 WIN32汇编语言程序设计——获取重定位表信息的实例分析(CHAR17)

重定位表的结构和获取过程分析

2023-04-13 18:49:04 207

原创 WIN32汇编语言程序设计—— 在Richedit控件中添加字符串的通用子程序 _AppendInfo

分析_AppendInfo子程序是如何实现在Richedit控件的末尾添加字符串的。

2023-04-13 12:34:37 144

原创 WIN32汇编语言程序设计——查看PE资源列表

这么多种类型的不同ID的资源是用类似于磁盘目录结构的方式组织起来的。也就是按照根目录→资源类型→资源ID的3层树型目录结构来组织资源,只不过在第3层目录中放置的代码页“文件”不是资源本身而是一个用来描述资源的结构罢了,通过这个结构中的指针才能最后找到资源数据。PE文件资源中的内容包括光标、图标、位图、菜单等十几种标准的类型,除此之外,还可以使用自定义的类型。每种类型的资源中可能存在多个资源项,这些资源项用不同的ID或者名称来分辨,在某个资源ID下,还可以同时存在不同代码页的版本。

2023-03-29 17:26:37 315

原创 WIN32汇编语言程序设计——查看PE文件导出表

当PE文件被执行的时候,Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入,再根据DLL文件中的函数导出信息对被执行文件的IAT表进行修正。在这些包含导出函数的DLL文件中,导出信息被保存在导出表中,通过导出表,DLL文件向系统提供导出函数的名称、序号和入口地址等信息,以便Windows装载器通过这些信息来完成动态链接的过程。通过打开文件后拿到的句柄,用GetFileSize函数拿到文件的长度。(1) 子程序参数1:已经读取到内存中的文件头的地址。2. 获取数据块的文件偏移地址。

2023-03-24 22:28:14 489

原创 WIN32汇编语言程序设计——取出导入表的函数及引用DLL名称信息(CHA17)

值得一提的是访问数据目录表的时候地址是DataDirectory[8].VirtualAddress,这里要说明一下:在MASM中,不管数组中的单个数组项字节数是多少,括号中的数值都是字节地址而不是数组下标,所以数据目录表结构的长度是8的时候,访问第n个结构时要寻址的就是DataDirectory[n*8],所以上面的DataDirectory[8]实际上是DataDirectory[1*8]的意思,表示访问的是索引号为1的数组项。(1) 子程序参数1:已经读取到内存中的文件头的地址。

2023-03-22 22:54:19 234

原创 WIN32汇编语言中的线程环境

线程环境

2022-10-08 17:52:27 126

原创 《WIN32汇编语言程序设计》开发时关于程序与资源脚本中的等值定义的意义

WIN32汇编语言开发时关于程序与资源脚本中的等值定义的意义

2022-08-23 20:57:28 57

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除