[BUUCTF]REVERSE——firmware】的更多相关文章

firmware 附件 步骤: 检查文件没有看出什么,ida载入一堆乱码,看了其他师傅的wp才知道要先binwalk对文件进行提取 120200.squashfs这是一个linux的压缩文件 我们需要firmware-mod-kit工具来进行解压. firmware-mod-kit工具:传送门 安装步骤: sudo yum install git build-essential zlib1g-dev liblzma-dev python-magic git clone https://githu…
参考链接:https://ctftime.org/task/6263 题目 After unpacking the firmware archive, you now have a binary in which to go hunting. Its now time to walk around the firmware and see if you can find anything. 点我下载 解题过程 解压之后是个.ext4文件,可以用zip来解压哦.解压后root目录里有个.media…
[ACTF新生赛2020]Oruga 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索字符串,根据提示来到关键函数 14行~18行就是让字符串的前5位是 actf{ ,sub_78A()是关键函数,分析可知应该是迷宫 byte_201020(推荐在16进制界面查看),查看迷宫图形 这个移动方法有点意思,从左上角去往!,点代表路,其他符号是障碍物,点的时候会一直走,遇到障碍物才会停下,手动走一下 flag{MEWEMEWJMEWJM}…
[WUSTCTF2020]Cr0ssfun 附件 步骤: 例行检查,无壳儿,64位程序,直接ida载入,检索程序里的字符串,根据提示跳转 看一下check()函数 内嵌了几个检查的函数,简单粗暴,整理一下字符串,就是flag flag{cpp_@nd_r3verse_@re_fun}…
[FlareOn6]Overlong 附件 步骤: 例行检查,32位程序,不懂是个啥 32位ida载入,main函数很简单 处理函数 sub_401000 程序只对unk_402008的28位进行了处理,但是我看unk_402008并不止28位,实际长度是0xaf(0xb7-0x8) 运行了一下附件,发现弹框里的数据长度也是28,结尾是:,让人总觉得后面还有东西 将长度修改一下,让他将unk_402008完全处理一下看看,ida修改了不会保存,od动调修改需要将0x1c压入栈中,在栈中修改,我一…
[WUSTCTF2020]level3 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,找到关键函数 看样子是个base64加密,但又感觉没那么简单,再翻翻左边的函数,找到了base64加密变表的函数 将加密表变换一下写个解密exp import base64 table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' model = list("ABCDEFGHIJKLMNOPQRSTUVW…
[MRCTF2020]hello_world_go 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索程序里的字符串,有很多,直接检索flag 一个一个点过去,找到了flag 按a,提取字符串 flag{hello_world_gogogo}…
[GKCTF2020]BabyDriver 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索程序里的字符串,看到提示flag是md5(input),下方还看到了类似迷宫的字符串 找到关键函数 从o出发到#结束,碰到*失败,只能走'.',但是这个上下左右md5加密出来的东西不对 看了别人的wp才知道这里由于是sys文件,是由键盘过滤驱动获取键盘扫描码来控制上下左右,而不是ascll码 所以刚刚的上下左右对应的是IKJL 画出迷宫,走一下顺序是LKKKLLKLKKKLLLKKKLLL…
[MRCTF2020]Xor 附件 步骤: 例行检查,32位程序,无壳 32位ida载入,首先检索程序里的字符串,根据字符串的提示,跳转到程序的关键函数 根据flag,跳转到sub_401090函数 可以看到v0和byte_4212c0按位异或,最后得到byte_41EA08就会输出right 看一下byte_41EA08的值 直接写个异或的exp看一下byte_4212c0里的值 a="MSAWB~FXZ:J:`tQJ\"N@ bpdd}8g" s=""…
[FlareOn4]IgniteMe 附件 步骤: 例行检查,32位程序,无壳 32位ida载入 当满足第10行的if条件时,输出G00d j0b!提示我们成功,看一下sub_401050函数 3.sub_401050函数 byte_403180经过10~14行的操作后的值与byte_403000数组相同 v4的值,不大懂这个的结果是什么,动调后看到是0x4 v4返回的是一个定值,动态调试就能出来,v0就是接收函数的整的花里胡哨. 理一下,程序对我们输入的字符串,最后一个字符xor 0x4,然后…