.版本 2
.支持库 spec
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 hMod, 整数型
.局部变量 pBase, 整数型
.局部变量 pFunc, 整数型
pBase = GetBaseAddr (“dll.dll”, hMod)
调用子程序 (pBase, , pFunc, pBase, 10086, 0)
调用子程序 (pFunc, , , 123456)
FreeLibrary (hMod)
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 GetBaseAddr, 整数型
.参数 LibFileName, 文本型
.参数 hLib, 整数型, 参考
.局部变量 addr_nt, 整数型
hLib = LoadLibrary (LibFileName)
.如果真 (hLib = 0)
返回 (0)
.如果真结束
.如果真 (指针到小数 (hLib) ≠ 23117) ' e_magic
返回 (0)
.如果真结束
addr_nt = 指针到整数 (hLib + 60) + hLib
.如果真 (指针到整数 (addr_nt) ≠ 17744) ' Signature
返回 (0)
.如果真结束
返回 (指针到整数 (addr_nt + 40) + hLib)
.子程序 指针到整数, 整数型
.参数 addr, 整数型
.局部变量 ret, 整数型
置入代码 ({ 139, 69, 8, 139, 0, 137, 69, 252 })
' 置入代码 (“mov eax,[ebp+8] | mov eax,[eax] | mov [ebp-4],eax”)
' 取字节集数据 (指针到字节集 (addr, 4), #整数型, )
返回 (ret)
.子程序 指针到小数, 短整数型
.参数 addr, 整数型
返回 (取字节集数据 (指针到字节集 (addr, 2), #短整数型, ))
易语言dll未公开函数的调用
易语言编写代码未找到子程序到数值
易语言运行dll没有子程序