本节我们将演示一个无导入表、无重定位表,并且只有一个.text节区的汇编代码程序。
本节必须掌握的知识点:
汇编代码重定位
6.3.1 汇编代码重定位
实验四十四:模拟地址重定位
![]()
将第一章中的示例程序HelloWorld汇编程序改成一个无重定位、无导入表的程序。
![]()
注意
1.在Windows 64位系统环境编译时,默认会有重定位节区,因此改为在Windows XP系统环境下编译。
2.HelloWorld1.exe编译生成后,需要将.text节属性改为可读可写可执行60000020改为E0000020。
![]()
●第一步:编写汇编代码
1.HelloWorld.asm(略)
2.HelloWorld1.asm
;FileName:HelloWorld1.asm
;实验44:无导入表、无重定位表程序
;by:bcdaren
;2021.01.06
;=======================================
.386
.model flat,stdcall
option casemap:none
include windows.inc
;CPUX64 = 1 ;X64 masm64编译
;CPUX86= 1 ;x86
;声明函数
BCGetProcAddress typedef proto :dword,:dword
;声明函数引用
ApiGetProcAddress typedef ptr BCGetProcAddress
BCLoadLibrary typedef proto :dword
ApiLoadLibrary typedef ptr BCLoadLibrary
BCMessageBoxA typedef proto :dword,:dword,:dword,:dword
ApiMessageBoxA typedef ptr

最低0.47元/天 解锁文章
1106

被折叠的 条评论
为什么被折叠?



