zoukankan      html  css  js  c++  java
  • windbg学习---a (Assemble)和.dvalloc

    .dvalloc 命令使得Windows在目标进程中分配附加的内存

    .dvalloc [OptionsSize 

    Options
    可以是任意多个下面的选项:
    /b BaseAddress
    指定内存分配开始的虚拟地址。但只是说在这段分配,不一定为开始地址,如:
    0:000> .dvalloc /b 0x7eeeeeee 0x400
    Allocated 10000 bytes starting at 7eee0000
    

    0:000> !address 0x7eeeeeee 
     ProcessParametrs 002e1c28 in range 002e0000 0037e000
     Environment 002e0810 in range 002e0000 0037e000
        7eee0000 : 7eee0000 - 00010000
                        Type     00020000 MEM_PRIVATE
                        Protect  00000040 PAGE_EXECUTE_READWRITE
                        State    00001000 MEM_COMMIT
                        Usage    RegionUsageIsVAD

    可以看到,起始地址在7eee0000
    /r
    在虚拟地址空间中保留该内存,但是并不实际分配物理内存。如果使用该选项,调试器会调用VirtualAllocEx 并将 flAllocationType 参数设置为MEM_RESERVE。如果没有使用该选项,则使用的值为MEM_COMMIT | MEM_RESERVE。查看Microsoft Windows SDK获取详细信息。
    Size
    指定要分配的内存的字节数大小。程序可用的内存等于Size,但是实际分配的内存可能会大一些,因为它总是页面大小的整数倍。






    a (Assemble)

    a 命令对指令助记符进行汇编,并将指令代码的结果放入内存。

    语法

    a [Address

    参数

    Address
    指定用于放置结果代码的内存块的开始位置
    这个指令非常好用,比如在7eee00000中写入call 函数
    0:000> a 7eee0000

    这时会出现一个input,然后可以使用指令助记符

    7eee0000 call User32!MessageBoxA
    call User32!MessageBoxA
    7eee0005 
    
    0:000> u 7eee0000
    7eee0000 e80cea0cf8      call    USER32!MessageBoxA (76faea11)
    7eee0005 0000            add     byte ptr [eax],al

    又如直接写入汇编指令:
    7eee0000 push eax
    push eax
    7eee0001 push ebx
    push ebx
    7eee0002 mov eax, ebx
    mov eax, ebx
    7eee0004 
    
    0:000> u 7eee0000
    7eee0000 50              push    eax
    7eee0001 53              push    ebx
    7eee0002 8bc3            mov     eax,ebx








  • 相关阅读:
    Windows 7 任务计划程序
    '7z' 不是内部或外部命令,也不是可运行的程序
    [转]国外人气最旺的软件测试网站
    AutoIT查找文件内容并修改保存
    BUG 太少
    excel表格数据导入sqlserver数据库
    RoR常见问题
    [转]漫画:程序员的一生
    [转]RubyInstaller: Getting Started with Rails and SQLite3
    [转]C#多线程学习(一) 多线程的相关概念
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693401.html
Copyright © 2011-2022 走看看