ida调试linux程序,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,如下图所示:

eb115c99dc1ff36d161a7f8ea5d17b81.png

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

07a47233e75b2f1c308a57e9060ff5b4.png

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

3 开始调试

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

047c950927bef524cfdb0148f624087b.png

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

e4aa570768e63640dc5833c02a2a869f.png

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

Visual Studio 2015中使用gdb远程调试linux程序

VS的debug功能非常强大,相比而言linux上的图形化调试一直不是很好用. 如果可以使用VS来调试linux程序,应该是一件比较愉快的事情. 这在2015中变得可能,因为从2015开始VS支持An ...

eclipse/idea远程调试Linux程序

第一步.在Tomcat的bin目录下的startup.sh文件的倒数第二行增加“JPDA_ADDRESS=8787”,最后一行在start的前边增加“jpda”,之后重启Tomcat 第二步.配置Ec ...

visual studio 在windows远程调试 linux 程序 cout 输出乱码

转载:https://www.cnblogs.com/findumars/p/6627255.html 反正是解决了. 以gcc为例,它有三个命令选项:-finput-charset=gb18030- ...

java远程调试(断点)程序/tomcat( eclipse远程调试Tomcat方法)

tomcat远程调试: 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_soc ...

使用VS+VisualGDB编译调试Linux程序

Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...

ida GDB 远程调试

在看雪上回答的问题,有人问在WinDbg下断KiDebugRoutine或者KdEnterDebugger函数会引发蓝屏!因为是在调试Windows的内核调试引擎,我给出的解决办法是用不依赖Windo ...

NetBeans远程调试Linux c++ 11项目

NetBeans远程调试Linux c++ 11项目 由于好多原因,好久没有写博客了,随着c++ 11的普及率越来越高,开发c++ 项目的人也越来越多,可以说c++ 11 给了c++ 这门语言第二次生 ...

MAC 下用 Common Lisp 调试 OpenGL 程序

MAC 下用 Common Lisp 调试 OpenGL 程序 环境搭建 运行环境: OSX 10.11.3 EI Capitan Common Lisp: SBCL 使用 SBCL, 首先要安装这几 ...

在windows通过visual studio远程调试linux mono程序

本文参考文章 https://github.com/techl/MonoRemoteDebugger 1.通过连接https://github.com/techl/MonoRemoteDebugger ...

随机推荐

小议jQuery插件开发

1.写在前面: 大家都知道PHP专注后台与数据库的交互,前端页面中是js的天下,而jQuery作为使用最广泛,最简单有效的js的框架.深受大家的喜欢. 而js作为一门面向对象的开发语言,它独特的语法和 ...

自制操作系统(二) 让bootsector开机启动打印一首诗

qq:992591601 欢迎交流 2016-03-31作 2016-06-01.2016-06-27改 我总结了些基本原理: 1.软盘的第一个扇区为启动区 2.计算机读软盘是以512字节为单位来读写 ...

认识CoreData-基础使用

第一篇文章中并没有讲CoreData的具体用法,只是对CoreData做了一个详细的介绍,算是一个开始和总结吧. 这篇文章中会主要讲CoreData的基础使用,以及在使用中需要注意的一些细节.因为文章 ...

android 窗体透明的,黑暗度等的设置技巧

设置透明度(这是窗体本身的透明度,非背景) 1 WindowManager.LayoutParams lp=getWindow().getAttributes(); 2 lp.alpha=0.3f; ...

Response.Expires 属性 (转载于疯狂客的BLOG)

Expires 属性 Expires 属性指定了在浏览器上缓冲存储的页距过期还有多少时间.如果用户在某个页过期之前又回到此页,就会显示缓冲区中的版本 语法 Response.Expires [= nu ...

jQuery 事件绑定 和 JavaScript 原生事件绑定

总结一下:jQuery 事件绑定 和 JavaScript 原生事件绑定 及 区别 jQuery 事件绑定 jQuery 中提供了四种事件监听绑定方式,分别是 bind.live.delegate.o ...

input驱动12种事件类型Event types的含义

linux2.6 input subsystem中部分相关结构体的分析  最近在做linux2.6的键盘驱动程序的工作,接触到了input subsystem这一概念,现把我对其中相关结构体的理解写出 ...

vmware提示:此虚拟机似乎正在使用中,无法取得所有权的解决办法

在虚拟机运行时,一次非正常关机.导致虚拟机出现以下错误: 此虚拟机似乎正在使用中. 如果此虚拟机已在使用中,请按“取消”按钮,以免损坏它.如果此虚拟机未使用,请按“取得所有权(&T)”按钮以获 ...

C#高级编程9-第4章 继承

继承是面向对象的一大特征.要深刻学习继承,需要学会使用调试的技巧来学习它,因为它比较抽象. 继承 继承是指一个具体的类型直接使用另一类型的某些数据成员或函数成员,继承的类是基类(父类),被继承的类是派 ...

25个非常实用的jQuery/CSS3应用组件

今天分享25款功能十分强大的jQuery/CSS3应用插件,欢迎收藏. 1.jQuery水晶样式下拉导航 这是一款非常不错的jQuery多功能下拉菜单插件,菜单外观呈水晶样式,晶莹剔透,功能丰富,包含 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RS485数据光端机产品特点及技术参数介绍

485光端机提供RS-232/485/422串口转光纤功能,实现光纤与RS-232/485/422串口的数据双向透明传输。由于光纤传输距离远(多模2KM,单模可达20,40,60KM),抗干扰能力强,是连接远程终端单元…

传输设备,光端机的应用及故障分析

光端机是光通信系统中的传输设备,主要是进行光电转换及传输功用。一般用于电信、电力、监控、工业控制、视频传输等功能,在各个行业有着广泛的应用。常说的光端机指的是用于监控系统用来传输视频、数据、以太网、音频等综合信息的光端机。主要分模拟光端…

什么是网络光纤收发器?

网络光纤收发器,将网络中的连接介质换为光纤。光纤的低损耗、高抗电磁干扰性,在使网络传输距离从200米扩展到2公里至几十公里,乃至于上百公里的同时,也使数据通讯质量有了较大的提高。它使服务器、中继器、集线器、终端机与终端机…

关于光纤收发器的一些基本常识介绍

光纤收发器是网络数据传输中必不可缺少的一种设备,那么,什么是光纤收发器呢,光纤收发器都有什么组成的呢,光纤收发器是怎么分类的呢,光纤收发器有哪些特点呢,光纤收发器在数据传播过程中起到什么作用呢&…

工业级光纤收发器产品性能特点介绍

工业级光纤收发器是一种可以延长传输距离的一种工业交换机,它具有便捷、维护简单、抗干扰性能强、性能强大、运行稳定等优点,产品设计符合以太网标准,性能稳定可靠。那么在,数据通信行业中,工业级光纤收发器到底扮演者…

工业级光纤收发器如何正确使用和维护?

工业级光纤收发器在越来越多的场景中运用,如何正确的使用和维护是延长工业级光纤收发器寿命的重要手段。那么,如何正确使用及维护光纤收发器呢?接下来飞畅科技的小编就给大家简单梳理一下!一起来看看吧! 1、在使用中要…

JavaFX的科幻用户界面第1部分

使用JavaFX创建的Sci-Fi UI成形窗口 虚构的UI可以变成现实吗? 成长于80年代的小时候,我看到了自己的科幻电影,这确实激发了我对图形用户界面(GUI)的热爱,尤其是试图使科幻UI在现实世界中成为可能的想法。 …

NoSQL数据库程序员应该在2019年学习的5大知识

尽管Java或Web开发人员学习NoSQL数据库不是强制性的,但世界正朝着这个方向发展,Java和Web开发人员都应该熟悉NoSQL数据库。 如果您想知道NoSQL数据库是什么意思,那么这里是快速概述。 NoSQL数据库指的是非SQL,非关系或非SQL的非SQ…

emacs c语言,如何利用Emacs来调试C++程序

俗话说,Emacs是神的编辑器,而Vim是编辑器之神。高手程序员都是用这两样神器进行开发。本人觉得,Emacs之所以厉害,是因为许多在其他编辑器下必须用鼠标点选很多步的操作,在Emacs下都可以通过键盘来完成。大大地节省了你在显示器上找…

spring rmi_Spring集成–使用RMI通道适配器

spring rmi1.引言 本文介绍了如何使用Spring Integration RMI通道适配器通过RMI发送和接收消息。 它由以下部分组成: 实施服务:第一部分着重于创建和公开服务。 实现客户端:显示如何使用MessagingTemplate类调用服务。 抽象SI逻辑&#xf…

Java:如何在不到5分钟的时间内通过Hazelcast提高生产力

如果要使用Hazelcast内存数据网格(IMDG)来加快数据库应用程序的速度,但是要处理数百个表怎么办? 手动编码所有Java POJO和序列化支持将需要数周的工作,完成后,手动维护该域模型将很快成为一场噩梦。 阅读本…

android 自定义baseadapter listview,android之ListView和BaseAdapter的组合使用

BaseAdapter是基本适配器,功能强大,凡是能用ArrayAdapter和SimpleAdapter解决的,都可以使用BaseAdapter解决。BaseAdapter是一个抽象类,所以需要自定义一个类来继承BaseAdapter。BaseAdapter中所必须重写的方法的意义:…

layui datetimepicker 只日期范围到当前时间的前一天_浪琴手表如何正确调整日期?手表调日期的方法...

浪琴手表怎么样?先看下品牌知识浪琴表起源于1832年,由一位年青商人Auguste Agassiz创办。他以自己的名字在瑞士Saint-Imier开始经营钟表生意,其后,他的侄儿Ernest Francillon巧妙地把其业务拓展为较具规模的钟表公司,于1866年在瑞…

尚未提交线上版本_ABRSM 线上演奏考试报名指引(目前考试仅限英国 amp; 部分国家及地区)...

昨天,ABRSM英国公布了2021年英国本土和亚洲部分地区演奏、乐理的“线上、线下”报名及考试时间,虽然中国大陆的考试时间为“待定”状态,但为了满足考生和家长了解线上演奏考试报名流程,今天我们就为大家作一个详尽的线上考试报名指…

关于以太网光纤收发器,逻辑隔离与物理隔离的理解与区别

现如今,随着以太网的广泛应用,在很多领域,比如说电力、银行、公安、部队、铁路、大型企事业单位专网有广泛物理隔离的以太网接入需求,但是什么是物理隔离以太网呢?什么又是逻辑隔离以太网呢?我们该如何判断…

javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第2部分

javafx 自定义控件自从我开始创建Nest恒温器FX自定义控件以来,已经有一段时间了! 因此,上次,正如Gerrit Grunwald所建议的那样,我花了一些时间使用inkscape复制Nest恒温器设计,这是构建JavaFX版本的第一步。…

初中参观机器人博物馆的作文_展馆导览机器人好不好用?小笨展馆机器人案例...

每次科技发展都会给社会带来技术变革,例如工业革命时代的纺纱机,发电机等,极大地提高了生产效率,推动了社会的进步。二十一世纪,人工智能成为了当下技术变革的排头兵,机器人作为其载体已经被应用在各类展馆…

同底数幂比较大小方法_知识体系构建:初中数学4大知识点及10大解题方法总结(干货)...

基本知识1.数与代数A、数与式:1. 有理数■ 有理数:①整数→正整数/0/负整数②分数→正分数/负分数■ 数轴:①画一条水平直线,在直线上取一点表示0(原点),选取某一长度作为单位长度,规定直线上向右的方向为正…

4路电话光端机概述及产品特性详解

4路电话光端机,采用桌面型机箱结构设计,提供来电显示功能的4路普通电话接口。那么,关于4路电话光端机的功能、应用及产品特性这一块你是否了解呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧! 4路电话光端机概…

word如何一键全选_学会这七个Word小技巧,五分钟完成3小时的工作

在办公中我们最常用的就是Word,而掌握一些常用Word小技巧,可以助力我们的办公效率,从此和加班说拜拜。今天就让我们一起来看看有哪些我们常用的Word小技巧,快点赞收藏起来吧~一、 Word小技巧汇总1. 文档加密限制编辑有时一些重要文…