使用 OllyScript 在 OllyDbg 中获取内存映射

逆向工程 ollydbg 奥利文
2021-07-09 07:20:51

OllyScript 中是否有任何命令可以获取 OllyDbg 的 Memory Map 窗口中显示的表。(单击“M”图标时会出现内存窗口。)它显示地址、大小、所有者、部分、包含、类型、访问、初始和映射为。但我只需要地址、大小、所有者、包含。所以即使我能以某种方式获得这些细节也没关系。

1个回答

如果您对文本解析
感到满意,右键单击-> 复制到剪贴板-> 整体
粘贴到 foo.txt 并使用 awk 打印所需的列

awk "{print $1,$2,$3,$5}" memor.txt | head -n 6
Memory map
Address Size Owner Contains
00010000 00010000 > Heap
00030000 00004000 > Map
00040000 00002000 > Map
00050000 00001000 > Priv

更新

使用带有 -c "cmdstr" 选项的 windbg !address 命令,如下所示

%1 to %7分别是
base,end,size .type , state,protection and usage
该 !address 命令的占位符理解和替换command string

0:000> !address -c:".printf \"%8x\\t%8x\\t%7\\t        %4\\n\" , %1 , %3"
       0       10000    Free            
   10000       10000    Heap            MEM_MAPPED
   20000       10000    Free            
   30000        4000    Other           MEM_MAPPED
   34000        c000    Free            
   40000        2000    Other           MEM_MAPPED
   42000        e000    Free            
   50000        1000    Other           MEM_PRIVATE
   51000       5f000    Free            
   b0000       3c000    Stack           MEM_PRIVATE
   ec000        1000    Stack           MEM_PRIVATE
   ed000        3000    Stack           MEM_PRIVATE
   f0000       67000    MappedFile          MEM_MAPPED
  157000       19000    Free            
  170000        6000    Heap            MEM_PRIVATE
  176000       fa000    Heap            MEM_PRIVATE
  270000      920000    Free            
  b90000        1000    Image           MEM_IMAGE
  b91000       53000    Image           MEM_IMAGE
  be4000        5000    Image           MEM_IMAGE
  be9000       67000    Image           MEM_IMAGE
  c50000    6ccc0000    Free            
6d910000        1000    Image           MEM_IMAGE