zoukankan      html  css  js  c++  java
  • Debugging with GDB阅读[6]

    a.修改内存的通用步骤

    http://www.outflux.net/blog/archives/category/reverse-engineering/
    1.首先在/proc/PID/maps中找到相应的位置
    2.寻找相关的内存
    attach上去后
    (gdb) find /w 0x0a22e000, 0x0b08a000, 219393
    3.查看内存相关信息
    (gdb) x/8x 0xaf06ca8
    4.修改内存相关信息
    (gdb) set var *0xaf06cac = 0x00100bb8
    等等相关步骤。

    b.转自scz

    1.在GDB里将指定范围的内存数据转储成二进制文件

    http://www.sczgroup.org/unix/200905211621.txt

    Q:

    windbg有一个.writemem可以将指定范围的内存数据转储成二进制文件,gdb有无内似
    的命令?

    A: coolq@nsfocus 2009-05-21 16:21

    对[begin, end)进行转储:

    dump memory <filename> <begin> <end>
    append binary memory <filename> <begin> <end>

    与之相对的命令是:

    restore <filename> binary <address> <fileoff_begin> <fileoff_end>

    2.http://www.sczgroup.org/unix/200905051651.txt

    以C语言数组形式对指定地址转储指定长度的数据。需要使用p/x *(type*)array@num来输出

    3.scz中关于gdb部分的内容
    http://www.sczgroup.org/unix/200901071528.txt
    http://www.sczgroup.org/unix/200901051201.txt

  • 相关阅读:
    完整的开源和商业软件平台
    免费开源的文件比较/合并工具
    Javascript面向对象基础
    Javascript面向对象基础
    引入外部js获取dom为null的问题
    闭包函数
    初识对象
    构造函数
    内置对象
    Math对象
  • 原文地址:https://www.cnblogs.com/moonflow/p/2289092.html
Copyright © 2011-2022 走看看