Delphi中结构体成员内存偏移基址计算方法(C++中的offsetof 的实现)

C++中:
(PVOID64)(Ldr64 + offsetof(PEB_LDR_DATA64, InLoadOrderModuleList))
//------------------------------------------------------------------
delphi中两种实现方法:
var
Ldr64: PEB_LDR_DATA64;
//1,
PVOID64(NativeUInt(@Ldr64)+NativeUInt(@PEB_LDR_DATA64(nil^).InLoadOrderModuleList))
//2,
@Ldr64.InLoadOrderModuleList;
结果:
//Ldr64=$18F2CC
//Ldr64.InLoadOrderModuleList=$18F2D8
//注:上面两种方法计算出来的偏移地址都是一样的。

 

posted @   IT情深  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示