当前位置: 首页 > news >正文

关于ida如何进行远程linux调试(详解)

首先我们需要安装工具软件VMware虚拟机和finalshell,并在虚拟机中安装centos 7系统,还要将finalshell连接到该系统中,具体操作可以去b站搜黑马Linux学习,学完该课程的p5,p6,p8即可,我接下来讲的是安装连接后的操作。

开启虚拟机,在上方的选项卡中右击centos 7选项卡,然后进入设置页面点击选项->启用共享文件夹->添加共享文件夹->浏览选择要添加的文件夹,最后一直确定下去,接着进入finalshell(在finalshell已经和虚拟机的Linux系统进行了连接的情况下),接着就是输命令了

首先我们把需要连接的文件拖进该共享文件夹中,输入su - root ,再输入密码,进入root管理用户,接着输入 ls /mnt/hgfs/vmshare       vmshare是我创建的共享文件夹的名字(可替换),接着会展现出要连接的文件,如果出现以下显示,NO such file or directory输入sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o nonempty ,再ls /mnt/hgfs/vmshare会变成这样,easy_Maze是我放入共享文件夹的文件,现在显示出来了,同样的,我们需要根据文件的32位或是64位,将ida中dbsgrv文件夹中的相应文件放入共享文件夹32位就把上面那个文件放入共享文件夹中,64位放下面那个,然后我们需要将这两个文件,移动到Linux系统下的home目录中,输入命令  mv  /mnt/hgfs/vmshare/easy_Maze /home   然后回车执行,再输入 mv /mnt/hgfs/vmshare  /home  然后执行,结果显示如下

然后,我们我们需要查看防火墙和端口是否开启,命令整理如下:

关闭防火墙
sudo systemctl  stop firewalld
开启防火墙
sudo systemctl start firewalld
(开启和关闭防火墙没有任何反馈信息 ,可通过查看防火墙状态判断是否成功)
重启防火墙
systemctl restart firewalld.service
重新载入防火墙
firewall-cmd --reload
开启端口23946
firewall-cmd --zone=public --add-port=2349/tcp --permanent
查看已开启的端口
firewall-cmd --list-ports
关闭端口23946
firewall-cmd --zone=public --remove-port=2349/tcp --permanent
(开启和关闭端口会反馈success)

这个端口每个ida都是不一样的,所以我们需要先进入ida操作如下
inputfile可填可不填,需要填的是Application,Directory和Hostname,第一者填的的是文件在linux下的具体位置,第二者填的是他上一级的目录,第三者,需要先在命令行中输入ifconfig找ens33,有一个inet 192.168.207.128就是ida中的hostname,输入完点击ok,会发现显示目标计算机积极拒绝连接,是为什么呢?我们的权限还没给,我们再回到Linux中,确保防火墙和相应端口已经开启的情况下,先cd /home 进入当前的home目录,接着输入以下命令

chmod +x linux_server64和chmod +x easy_Maze   easy_Maze是我传入进来的文件,注意区分,接着再输入 ./linux_server64 ,出现以下显示即为成功然后我们再回到ida中,点击ok,就可以进行动态调试啦!记得打好断点。耗时三天才搞完,中间真的是有各种各样的麻烦,要是有大佬带带我就好了~^~

相关文章:

  • Gradio 案例——将文本文件转为词云图
  • 科研数据分析常见问题
  • CSPM.pdf
  • 中国Scada市场现状,国内厂家已占领65%
  • springboot 集成minio 实现文件上传
  • 特别实用的8个机器学习算法总结!建议收藏,反复观看!
  • C++操纵符用法
  • 《庆余年算法番外篇》:范闲通过最短路径算法在阻止黑骑截杀林相
  • 【Linux】在Windows环境下配置两台Linux机器的文件互传
  • simulink基础学习笔记
  • 零基础学Java第二十七天之前端-HTML5详解
  • Golang编程语言:深度探索与应用实践
  • 521源码-源码下载-个人网盘源码2024最新web网盘系统源码一键安装版源码分享
  • [每周一更]-(第99期):MySQL的索引为什么用B+树?
  • openssl 常用命令demo
  • CSS魔法堂:Absolute Positioning就这个样
  • docker python 配置
  • ES6系统学习----从Apollo Client看解构赋值
  • java小心机(3)| 浅析finalize()
  • java正则表式的使用
  • JAVA之继承和多态
  • Laravel 菜鸟晋级之路
  • Linux链接文件
  • linux学习笔记
  • nfs客户端进程变D,延伸linux的lock
  • spring + angular 实现导出excel
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 从0实现一个tiny react(三)生命周期
  • 大型网站性能监测、分析与优化常见问题QA
  • 动态规划入门(以爬楼梯为例)
  • 力扣(LeetCode)21
  • 力扣(LeetCode)56
  • 入门到放弃node系列之Hello Word篇
  • 首页查询功能的一次实现过程
  • 树莓派 - 使用须知
  • 我有几个粽子,和一个故事
  • 一份游戏开发学习路线
  • 你对linux中grep命令知道多少?
  • 移动端高清、多屏适配方案
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • (007)XHTML文档之标题——h1~h6
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (离散数学)逻辑连接词
  • (十六)一篇文章学会Java的常用API
  • (算法)Travel Information Center
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net Web窗口页属性
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .net程序集学习心得
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比