刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

攻防世界 XCTF Reverse babyunic Writeup

压缩包中共有四个文件run.sh是启动程序的shell脚本从这个脚本中我们可以知道babyunic是可执行程序,放入IDA分析下查看main函数,我们大概可以得知程序的主要逻辑是把用户输入的flag给sub_CBA这个函数,进行一顿运算赋值给s1,然后拿s1的值和&unk202020程序硬编码的数据进行比较。分析一下sub_CBA这个函数的三个参数,v4是用户输入的字符串,s1是一个指针,迪桑参数是运行程序时命令行跟的参数func,参数分析完毕,进入sub_CBA函数。看到这几个uc_开

攻防世界 XCTF Reverse catch-me Writeup

运行执行输出没有可输入的地方,发现代码中有getenv,获取系统环境变量,其实这个是我们需要输入的地方,根据代码来看,ASIS&&(CTF ^ v3)==4276879083才能让xor_key得到正确的值,最后才能得到正确的flag,所以动态调试获得 v3的值为 0xB11924E1猜测ASIS和CTF为相等的值,所以ASIS等于 4276879083 ^ 0xB11924E1 = 0x4ff2da0a然后设置环境变量,动态调试,获取flagASIS{600d_j0b

ELF文件 ida逆向动态调试

在IDA的安装目录/dbgsrv/找到linux_server或linux_serverx64这两个文件,具体选择哪个文件需要视待分析的ELF文件的编译信息而定,根据第一步中得出的信息,我需要选择的是linux_serverx64,把待分析的可执行文件和linux_serverx64一起拷贝到装好的Linux中。然后运行linux_serverx64:ida顶部菜单,调试-选择调试器-Remote Linux debugger然后设置进程选项然后启动进程即可调试指令介绍一下常用的调试指令:调试指

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.