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

  • 相关阅读:
    hdu1002
    hdu1008
    hdu1000
    fzu2089
    hdu1003
    hdu1004
    HDU1019
    《那些年啊,那些事——一个程序员的奋斗史》——87
    《那些年啊,那些事——一个程序员的奋斗史》——83
    《那些年啊,那些事——一个程序员的奋斗史》——89
  • 原文地址:https://www.cnblogs.com/moonflow/p/2289092.html
Copyright © 2011-2022 走看看