实验吧-逆向工程-debug

实验吧

逆向工程

debug

  1. 下载文件,然后用idaq打开,


    实验吧-逆向工程-debug_第1张图片
    图片.png
尝试在linux下打开发现么没有返回值,

在idaq里面去查看shift+F12 查看字符串,发现有个printing flag

这里想着如何可以进去,
实验吧-逆向工程-debug_第2张图片
图片.png
可以看到其实位置在0x804849b
  1. 设置断点,查看

    一般设置在main 但是main没有定义

    [图片上传失败...(image-12bd86-1566818035404)]

    这里查了下发现这几个可以代替

    程序启动的过程应该是这样的:

    _start -> __libc_start_main -> main. 具体一点就是:

    _start -> libc_start_main -> libc_csu_init -> main. 再具体一点就是:

    _start -> libc_start_main -> libc_csu_init -> _init -> main -> _fini.

    官方点的解释:__libc_start_main sets up the environment and then calls the main() function when the binary is run.

    所以我们设置在libc_start_main 也可以达到相同的效果

  2. 获取flag


    图片.png
设置入口
图片.png
运行,之后在设置断点 , 先 r 在 set $eip=0x804849b
实验吧-逆向工程-debug_第3张图片
图片.png
成功拿到flag

你可能感兴趣的:(实验吧-逆向工程-debug)