:3.089KB : :1 :2023-01-29 17:32:54
读取图片资源dll函数FOA如果开发者对于本文件有需要的可以参考。
.如果真 (取反 (是否为空 (fnOrdinals)))
cnt = fnOrdinals
.如果真结束
ExOfAddressOfNameOrdinals = 取字节集数据 (data, #整数型, FOAOfExportTable + 1 + 36)
ExOfAddressOfNameOrdinals_Value = 取字节集数据 (data, #短整数型, PointerToRawDataOfSelection + ExOfAddressOfNameOrdinals - VirtualAddressOfSelection + cnt × 2 + 1)
.如果真 (cnt ≥ 0)
ExOfBase = 取字节集数据 (data, #短整数型, FOAOfExportTable + 1 + 16)
ExOfAddressOfFunctions = 取字节集数据 (data, #整数型, FOAOfExportTable + 1 + 28) ' 取出函数表
ExOfAddressOfFunctions_RVA = 取字节集数据 (data, #整数型, PointerToRawDataOfSelection + ExOfAddressOfFunctions - VirtualAddressOfSelection + (ExOfAddressOfNameOrdinals_Value - ExOfBase + 1) × 4 + 1)
' 遍历节表,查找节
i = 0
.判断循环首 (真)
SelectionTable = 取字节集中间 (data, optionalPE + 97 + 128 + 40 × i, 40)
.计次循环首 (40, j)
cnt = cnt + SelectionTable [j]
.计次循环尾 ()
.如果真 (cnt = 0)
跳出循环 ()
.如果真结束
VirtualAddressOfSelection = 取字节集数据 (SelectionTable, #整数型, 8 + 4 + 1)
PointerToRawDataOfSelection = 取字节集数据 (SelectionTable, #整数型, 8 + 4 + 8 + 1)
SizeOfSelction = 取字节集数据 (SelectionTable, #整数型, 8 + 4 + 4 + 1)
.如果真 (VirtualAddressOfSelection ≤ ExOfAddressOfFunctions_RVA 且 ExOfAddressOfFunctions_RVA ≤ VirtualAddressOfSelection + SizeOfSelction)
返回 (PointerToRawDataOfSelection + ExOfAddressOfFunctions_RVA - VirtualAddressOfSelection)
.如果真结束
i = i + 1
cnt = 0
.判断循环尾 ()
02-09动态载入DLL
02-03升级加载内存Dll,兼容性极佳
02-03BBTC_v4_0_无DLL落地版
02-02dll或模块调用主程序中的子程序
02-02dll验证时间实例