zoukankan      html  css  js  c++  java
  • MAC使用IDA PRO远程调试LINUX程序

    1 背景

     在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪图形界面调试器”,也跟IDA PRO之类的调试器相差甚远。这里又遇到另一个问题了——LINUX平台的IDA PRO不太好找。

       综上,对于初学者而言最佳方案就是使用IDA PRO的远程调试功能!

    2 环境配置

      本文主要说明在MAC系统上如何通过IDA PRO对linux程序进行远程调试(如果宿主机为WINDOWS系统的话,原理类似)。

     2.1 远程Linux端环境配置

      首先,需要将IDA PRO中自带的用于远程调试的程序拷贝到LINUX机器中,这个程序就是linux_server或者linux_serverx64,前者用于调试32位程序,后者用于64位程序,且后者并不能兼容前者,因此在调试的时候需要注意了。后文以调试32位程序为例。

      笔者的远程Linux系统为Ubuntu14.04,这是一个64位系统,因此默认情况下无法运行32位的linux_server程序,主要报错为缺少 libstdc++.so.6系统库,解决办法很简单:

    sudo apt-get install lib32stdc++6
    

      然后再运行linux_server就没问题了,成功运行效果如下:

    chouchou:~$ ./linux_server
    IDA Linux 32-bit remote debug server(ST) v1.20. Hex-Rays (c) 2004-2015
    Listening on port #23946...
    

     至此,Linux端的环境配置就完成了,是不是很简单^_^ ?

     2.2 宿主MAC端环境配置

      1. 首先,需要将等待调试的Linux应用程序拷贝到MAC端,以调试overFlow程序为例,将该程序拷贝到MAC目录中,笔者为~/Documents/vmWare/share/overFlow .

      2. 然后,使用IDA打开该程序,注意因为是32bit程序,所以我们也需要选择32bit的IDA,通常命名为idaq.(64bit IDA通常命名为idaq64)

      3. 在IDA的菜单选择Debugger->Select debugger,然后选择Remote Linux debugger,如下图所示:

          

       4. 再次点击Debugger菜单,选择Process options,然后参照下图进行设置:

           

        至此,MAC端的环境配置完毕。

    3 开始调试

       首先,我们在IDA中的main函数中下断点,如下图所示:

      然后在Debugger中选择Start process,在弹出的窗口中根据提示信息选择yes和cancle即可,最终得到如下图所示的调试界面:

        大功告成!开始愉快的享受IDA带来的非一般的调试体验吧!

  • 相关阅读:
    显示所有用户,mysql的基本操作
    创建用户的方法 3种mysql创建方法
    mysql在win系统dos 安装版配置步骤详解
    Docker学习(二) 数据卷(Volume)的使用
    Docker学习-私有仓库docker-registry的使用
    php 调用curl_init失败
    ubuntu 远程 window
    ubuntu 16.04服务器安装apache2 + php + mysql
    Git 的简单使用及ssh配置问题-赖大大
    python scrapy 爬取西刺代理ip(一基础篇)(ubuntu环境下) -赖大大
  • 原文地址:https://www.cnblogs.com/wanyuanchun/p/5117553.html
Copyright © 2011-2022 走看看