本帖最后由 2533 于 2026-1-26 15:14 编辑
一文 搞懂易语言 置入代码() 命令用法 函数封装 逆向 移植 内联 课程
; -------------------------------------------------------------------
; 加法函数:AddFunc
; 参数:DWORD 变量 a, DWORD 变量 b (使用 stdcall 约定)
; 返回:eax = a + b
; -------------------------------------------------------------------
AddFunc proc a:DWORD, b:DWORD
mov eax, a ; 将参数 a 放入 eax
add eax, b ; 将参数 b 加到 eax
ret ; 返回 eax
AddFunc endp
[Asm] 纯文本查看 复制代码 .386
.model flat, stdcall
option casemap:none
; ==================== 包含头文件与库 ====================
; DLL 通常至少需要 kernel32
include windows.inc
include kernel32.inc
includelib kernel32.lib
; ==================== 数据段 (.data) ====================
.data
; DLL 文件名,可选,用于调试或版本信息
szDllName db "MyMathDll.dll", 0
; ==================== 代码段 (.code) ====================
.code
; -------------------------------------------------------------------
; DLL 入口点 (DllMain)
; 这是 DLL 的核心,系统加载/卸载 DLL 时会调用这里
; -------------------------------------------------------------------
DllMain proc hInst:HINSTANCE, reason:DWORD, reserved:DWORD
mov eax, TRUE ; 返回 TRUE 表示 DLL 初始化成功
ret
DllMain endp
; -------------------------------------------------------------------
; 导出函数:AddFunc
; 功能:计算两个整数之和
; 参数:a, b (DWORD)
; 返回:eax (和)
; -------------------------------------------------------------------
AddFunc proc a:DWORD, b:DWORD
mov eax, a ; 加载参数 a
add eax, b ; 加上参数 b
ret ; 返回结果
AddFunc endp
; -------------------------------------------------------------------
; 导出定义
; 这里的关键字是关键:
; end DllMain - 告诉链接器入口点是 DllMain
; -------------------------------------------------------------------
end DllMain
.386
.model flat, stdcall
option casemap:none
; ==================== 包含头文件与库 ====================
; DLL 通常至少需要 kernel32
include windows.inc
include kernel32.inc
includelib kernel32.lib
; ==================== 数据段 (.data) ====================
.data
; DLL 文件名,可选,用于调试或版本信息
szDllName db "MyMathDll.dll", 0
; ==================== 代码段 (.code) ====================
.code
; -------------------------------------------------------------------
; DLL 入口点 (DllMain)
; 这是 DLL 的核心,系统加载/卸载 DLL 时会调用这里
; -------------------------------------------------------------------
DllMain proc hInst:HINSTANCE, reason:DWORD, reserved:DWORD
mov eax, TRUE ; 返回 TRUE 表示 DLL 初始化成功
ret
DllMain endp
; -------------------------------------------------------------------
; 导出函数:AddFunc
; 功能:计算两个整数之和
; 参数:a, b (DWORD)
; 返回:eax (和)
; -------------------------------------------------------------------
AddFunc proc a:DWORD, b:DWORD
mov eax, a ; 加载参数 a
add eax, b ; 加上参数 b
ret ; 返回结果
AddFunc endp
; -------------------------------------------------------------------
; 导出定义
; 这里的关键字是关键:
; end DllMain - 告诉链接器入口点是 DllMain
; -------------------------------------------------------------------
end DllMain
B站视频 【windows系统API封装逆向移植调用教程】B站视频 【windows系统API封装逆向移植调用教程】https://www.bilibili.com/video/BV1tCzYB6Erg?vd_source=390511e6c49bb2db2fd6d4ec3751b0bf
封装API.e
(2.7 KB, 下载次数: 30)
|