zoukankan      html  css  js  c++  java
  • gdb 调试 ali3

    1. ps | grep crackme

    2. gdb --pid <pid>

      如果附加进程不成功,可以附加该进程的线程

      执行 ls /proc/<pid>/task 查看该<pid>的线程

      如果不能查看线程信息,根据经验,tid一般在 pid+2 ~ pid+15 之间

      附加上后,在gdb中执行 info proc maps 命令,查看当前进程信息,判断是否附加正确

    3. 在gdb中执行 info proc map ,查看当前进程的内存映射

    4. 在gdb中执行 dump [binary] memory ./<filename> <beginAddr> <endAddr> ,dump出 <beginAddr> ~ <endAddr> 之间的内存到<filename>

    5. 在gdb中执行  x /100xb <addr> ,以16进制格式,单字节方式,查看从<addr>开始的100个字节

    x 按十六进制格式显示变量。
    d 按十进制格式显示变量。
    u 按十进制格式显示无符号整型。
    o 按八进制格式显示变量。
    t 按二进制格式显示变量。
    a 按十六进制格式显示变量。
    i 指令地址格式
    c 按字符格式显示变量。
    f 按浮点数格式显示变量。


    b表示单字节,
    h表示双字节,
    w表示四字节,
    g表示八字节

    6. 在gdb中查看各种信息    info

    可以查看断点,寄存器等等

  • 相关阅读:
    分梨
    18岁生日
    马的移动
    摆积木
    杭电2093考试排名
    栈的应用——四则运算表达式求值
    用指针实现对二维数组元素的访问
    用多种方法访问字符数组元素
    fread()函数和fwrite()函数进行文件操作
    hdu-1431 素数回文
  • 原文地址:https://www.cnblogs.com/luzhiyuan/p/4414076.html
Copyright © 2011-2022 走看看