• IDA | 远程动态调试的基本设置


    由于Ollydbg不能调ELF文件,所以需要下虚拟机下使用GDB这样Linux动态调试器,其实IDA也支持动态调试功能,并且可以使用远程连接,此文做IDA远程调试基本设置过程的记录。

    Step1:打开主机IDA源目录,在 "IDA_Pro_v7.0dbgsrv" 中找到 "liunux_server" 和 "linux_server64" 拷贝到虚拟机中。

    Step2:在虚拟机中找到待调试文件,使用命令 "chmod 777 filename" 赋予所有用户读写执行权限。

    Step3:在虚拟机中运行 "linux_server(64)"(没有执行权限添加一下),出现下图即成功。

    后续使用中如果遇到 "bind: Address already in use" 端口被占用的情况重启虚拟机即可。

    Step4:拷贝一份待调试的ELF文件到主机,使用对应版本的IDA打开,在菜单栏点击 "Debugger -> Select debugger"(快捷键F9)。

    打开调试器窗口,选择 "Remote Linux debugger",然后在新菜单栏点击 "Debugger -> Process options",出现下图。

    "应用程序" 和 "输入文件" 都必须写虚拟机内待调试程序的完整绝对路径;"目录" 同理,可以在虚拟机内用 pwd 命令快捷查看。

    主机名即远程对象的IP,对于虚拟机而言,可以使用 ifconfig 命令查看内网IP;端口为默认,一般无需改动。

    Step5:完成设置之后就可以开始远程调试了,F9 启动程序进程,出现下图询问点一下继续就好了。

    程序的运行情况会在虚拟机 "linux_server(64)" 程序窗口显示。

    ——————————————————————————————————
    网上的教程有一部分是使用远程附加进程的,这样不需要把可执行文件在主机上用IDA打开再连接。
    直接 "Debug -> Attach -> Remote Liunx debugger" 选择虚拟机上的进程,
    但是我的虚拟机好像不支持这样操作,如果有和我情况一样的像前面一样手动选择程序好了。

  • 相关阅读:
    java.io.IOException: Filesystem closed错误
    shell脚本操作hbase
    Linux中断底半部机制总结
    vue项目里直接添加vuetify,不用nuxtjs
    2022年上班第一天
    OI学习日志 2022年
    2021 NOIP 游记
    2021 CSPS 游记
    libwacom9 : 依赖: libwacomcommon (= 2.1.02) 但是 1.121 正要被安装 (解决方法
    【Jmeter】Beanshell处理提取出来的列表字符串转数组对象
  • 原文地址:https://www.cnblogs.com/zhwer/p/12484708.html
Copyright © 2020-2023  润新知