zoukankan      html  css  js  c++  java
  • pageheap检查对操作错误

     char *p =(char*)malloc(1024);
     p[1024]=1;

    pageheap /enable test.exe /full

     char *p =(char*)malloc(1023);
     p[1023]=1;

    pageheap /enable test.exe /unaligned

     

    char *p=new char[1023];

    p[-1]='c';

    pageheap /enable test.exe /backwards

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\test.exe]

    pageheap - Page heap utility, v 3.04
    Copyright (c) Microsoft Corporation. All rights reserved.

    pageheap [OPTION [OPTION ...]]

        /enable PROGRAM         Enable page heap with default settings.
        /disable PROGRAM        Disable page heap.
        /full                   Page heap for all allocations.
        /size START END         Page heap allocations for size range.
        /address START END      Page heap allocations for address range.
        /dlls DLL ...           Page heap allocations for target dlls.
        /random PROBABILITY     Page heap allocations with PROBABILITY.
        /debug                  Launch under debugger `ntsd -g -G -x'.
        /kdebug                 Launch under debugger `ntsd -g -G -d -x'.
        /backwards              Catch backwards overruns.
        /unaligned              No alignment for allocations.
        /decommit               Decommit guard pages (lower memory use).
        /notraces               Do not collect stack traces.
        /fault RATE [TIMEOUT]   Probability (1..10000) for heap calls failures
                                and time during process initialization (in second
                                when faults are not allowed.
        /leaks                  Check for heap leaks when process shuts down.
        /protect                Protect heap internal structures. Can be
                                used to detect random corruptions but
                                execution is slower.
        /no_sync                Check for unsynchronized access. Do not
                                use this flag for an MPheap process.
        /no_lock_checks         Disable critical section verifier.


    PROGRAM      Name of the binary with extension (.exe or something else).
    DLL          Name of the binary with extension (.dll or something else).
    PROBABILITY  Decimal integer in range [0..100] representing probability.
                 to make page heap allocation vs. a normal heap allocation.
    START..END   For /size option these are decimal integers.
                 For /address option these are hexadecimal integers.

    If no option specified the program will print all page heap enabled
    applications and their specific options.

    The `/leaks' option is effective only when normal page heap is enabled
    (i.e. not full page heap) therefore all flags that will force full
    page heap will be disabled if /leaks is specified.

    Note. Enabling page heap does not affect currently running
    processes. If you need to use page heap for processes that are
    already running and cannot be restarted (csrss.exe, winlogon.exe),
    a reboot is needed after the page heap has been enabled for
    that process.

    https://files.cnblogs.com/ahuo/pageheap.zip

  • 相关阅读:
    C语言基础---字符指针变量和字符数组的区别
    C语言基础---编写C语言代码过程中易忽略的点
    C语言简介---通过指针引用多维数组
    C语言基础---特殊的变量类型(结构体、枚举、共用体)
    C语言基础---指针简述
    C语言基础---C语言中的变量与内存空间的关系
    嵌入式开发中常用到的C语言库函数
    SVN使用---简介
    视频编解码相关基础知识(二)---H.264简介
    MybatisPlus MetaObjectHandler 配置
  • 原文地址:https://www.cnblogs.com/ahuo/p/1455257.html
Copyright © 2011-2022 走看看