使用 mapfile 访问 dll 中的变量

1)使用 ida 生成 map file

2)使用 GetModuleHandle 获得 dll起始地址

3)使用 ImageNtHeader 获得 Nt 头

4)根据Nt 头中的 Sections 和 NumberOfSections 访问每一个Section

5)根据Section的相对虚拟地址VirtualAddress计算绝对虚拟地址计算出sector 的虚拟地址

     使用ImageRvaToVa 或者使用pSection->PointerToRawData +ModuleBase

6)根据map file 中的“段号:段内偏移”的偏移计算实际的虚拟地址

      0004:00000150       var_3

     

你可能感兴趣的:(pfile)