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

  • 相关阅读:
    五分钟搭建起一个包含CRUD功能的JqGrid表格
    TDD学习笔记【六】一Unit Test
    CQRS
    开源一个vue2的tree组件
    权限管理[Linux]
    文件管理[Linux]
    查看文本[Linux]
    常用命令[Linux]
    文件管理[Linux]
    状态机工作流
  • 原文地址:https://www.cnblogs.com/moonflow/p/2289092.html
Copyright © 2011-2022 走看看