ida & gdb 调试

 

布布转PC端逆向啦。加油加油!!!

今天在看滴水三期的x86汇编课程和吾爱ximo的脱壳教程。现在是边学变做题。。有着arm的基础。x86的汇编很容易接受,懂了点基础指令。开始尝试解题。今天做的题碰到的也是upx的壳。打开kali直接upx -d 就脱掉了。没啥意思,期待后面吧。

第一次用ida远程调试Linux 系统下的文件,刚开始遇到了坑,最后还是解决了。留个记号吧。

第一次学用gdb来调试程序。基本上对着教程来操作的。总之也留个记号吧。

相关教程:https://blog.csdn.net/horotororensu/article/details/82256832

 

热爱可抵岁月漫长

 

使用ida & gdb 调试 程序。

案例:攻防世界- RE - 新手入门  no-strings-attached

 

 

ida & gdb 调试

  1. 打开查壳软件Exeinfo

    发现没有加壳。同时为ELF格式文件且为32位。

    image.png

    打开32位的ida将文件拖进去F5查看主函数

    image.png都是函数。分析可知,在authenticate()中出现了我们想要的flag痕迹。

    跟进去查看伪代码.

    image.png

    发现有个加密函数decrypt(看名字看出来的)

    估计是对传进来的函数进行了加密操作然后赋值给s2.

    而下面就是对有关s2和输入对比的if判断。所以,s2就是我们想要得到的flag。而我们如何获得呢?我们可以进行动态调试获得。

    ida调试
  2. 开启在Linux开启ida的调试服务。

    将ida目录下dbgsrv文件夹里面的image.png移入Linux的目录中。打开一个来启动调试服务。

    image.png

    打开idaimage.png

    选择image.pngimage.png

    出现如图所示

    image.png然后

    Application 选择linux系统中,你所要调试的文件的路径,

    Directory 现在linux系统中,你所要调试的文件所在的目录路径

    parameters 不用填,留空

    Hostname 选择你linux的IP(下文给出怎么找到ip地址)

    password 你linux的密码。

     

    获取IP:打开linux终端。输入 ifconfig -a 

    image.png

    填好上方后,如图。

    image.png点击OK

    成功进入。

    image.png

    另外打开一个IDA直接加载该文件。来查看authenticate函数的位置。

    image.png

    重新切换回我们的动态调试的ida。按G 搜索0x08048708并跳转。设下断点。开始运行。image.png

    一直F8调试到08048725

    image.png一定要经过decrypt这个加密函数。然后起字符串都保存在了eax这个寄存器中。我们在HEX 中查看eax保存过的值。

    image.png

    这里就可能有人说上面不是还有一个1吗?应该是从1开始的,我们直接进eax跳转的地址看。image.png

    发现是从9开始。故。我们的flag为

    9447{you_are_an_international_mystery}

    成功用ida动态调试的方法解出。

     

     

gdb动态调试

我们现在来讲讲用gdb来动态调试。

打开kali,用gdb加载程序。

image.png

既然是动态调试,gdb也跟ida一样,也要下一个断点来进行调试。从上文IDA静态分析可知,经过decrypt加密后即为我们要的flag。故我们在decrypt这函数下断点  b为下断点

image.png

输入 r 开始运行程序,会运行到我们下断点的地方

image.png

然后n为单步步过,p为单步步入。

此处我们需要n。直接步过该函数,让函数直接执行完。

image.png

我们直接看保存在eax中的值。使用x命令(格式如下)

image.png

输入 x/200xw $eax    (200是要查看的内存单元个数为200个,x是输出整数的格式为十六进制。w是4字节输出。)

image.png

在C语言中。0x00000000 为字符串结束符‘\0’。那么前面即为我们需要的flag的十六进制了。扣出来,写个脚本跑一下,或者直接复制到十六进制转文本的在线转换网页转换即可得到flag。

 

posted @ 2020-10-16 13:00  0布布0  阅读(932)  评论(0编辑  收藏  举报